IT & SaaS United States Odoo (Odoo.sh) Live in production

Hourly Billing on Autopilot: Subscription Platform for an IT Services Company

A subscription-based hourly billing system with automatic project allocation, a full customer portal, and hardened security — eliminating 100% of manual billing and cutting client queries by 45%.

100%
of manual billing eliminated — auto-allocation + auto-renewal
45%
fewer client queries — after customer portal launch
2FA
enforced platform-wide — with fraud detection at onboarding

Executive summary

A US-based IT services company sold support and development capacity by the hour — and burned real hours every month calculating, allocating, and invoicing those hours by hand. I designed a subscription platform on Odoo where customers buy monthly hour packages that allocate themselves to projects, renew automatically on payment, and are fully visible in a self-service portal. Manual billing effort went to zero; client “how many hours do we have left?” queries dropped 45%.

The problem

  • Hour packages were tracked in spreadsheets; month-end billing was a manual reconciliation exercise prone to disputes.
  • Customers had no visibility into consumed hours or task progress — every question became a support email.
  • Buying more hours meant a human-generated quote, slowing down exactly the moment a customer wanted to spend money.
  • Onboarding and access security didn’t meet the standard the company sold to its own clients.

Solution architecture

System architecture — hourly billing platform
Customer-facing
Customer portalhours, tasks, purchases
Odoo core (Odoo.sh)
Subscriptionshour packages, auto-renewal
Projects & Timesheetsauto-allocation
Salesin-portal top-ups
Purchasemulti-level approvals
Infrastructure
Backblaze B2documents, attachments & automated DB backups

Key custom work

  • Self-allocating hour packages — purchased hours flow to projects automatically as timesheets land; packages renew on successful payment with no human touch.
  • Customer portal — clients track consumed hours and task progress in real time and buy additional hours directly from their sale orders, with instant project allocation.
  • Security hardening — multi-step onboarding verification with automatic fraud detection, enforced strong password policy, and mandatory two-factor authentication for all users.
  • Backblaze storage layer — all documents, attachments, and automated database backups moved to Backblaze B2, replacing the default Odoo.sh filestore for cost and control.
  • Purchase governance — multi-level approval workflow for internal procurement.

Challenges & decisions

Billing logic had to be dispute-proof. When money maps to hours, every edge case (partial hours, package boundaries, mid-month top-ups) becomes an argument waiting to happen. The allocation engine was designed so every consumed hour is traceable to a timesheet line, a project, and a package — turning billing conversations from negotiations into lookups.

Self-service without support risk. Letting customers buy and allocate hours themselves required the fraud-detection and verification layer up front. Security wasn’t a compliance checkbox; it was the enabler of the self-service business model.

Business impact

AreaBeforeAfterChange
Monthly billing effortManual reconciliationFully automated−100%
Client status queriesConstant email trafficSelf-service portal−45%
Hour top-up sales cycleQuote → email → waitIn-portal, instantFriction removed
Data protectionDefault filestoreBackblaze + automated backupsHardened

Lessons learned

  • Automation earns trust through traceability, not magic. Clients accepted automated billing because every number could be drilled to its source.
  • The portal is a sales channel, not a cost center. Making top-ups self-service turned support friction into revenue.

Client identity withheld under NDA. Reference available privately on request.

Delivered by Dhiren Narola — Odoo Architect & AI Automation Engineer. About me · Discuss a similar project

Accepting 1–2 new engagements · Q3–Q4 2026

Facing something similar?

Bring the messy version of your situation — the discovery call is where it gets untangled. Written proposal within 3–5 business days after.