Blog
How a Jakarta Studio Recovered Lost Billable Hours with Odoo Timesheets
A Jakarta design studio discovered it was under-billing by a fifth and fixed it with Odoo Timesheets and time-driven invoicing. Here is what changed and why it worked.
- narrative
- odoo
A design and production studio in Jakarta — branding, content, and motion work, around a dozen creatives — was profitable but mysteriously less profitable than the volume of work suggested. They were busy, the clients were happy, the invoices went out. And yet the margins never quite matched how hard everyone was clearly working. The answer turned out to be hiding in the hours nobody recorded.
Billing from memory
The studio billed a mix of time-and-materials and fixed fees. For the time-based work, invoicing happened at month-end, when the account manager would reconstruct what had been done from project notes, emails, and memory. This was always a slightly anxious guess. Faced with uncertainty about exactly how many hours went into a job, the instinct was to round down — better to under-bill than to over-bill and have an awkward conversation.
Multiply that conservative rounding across a dozen people and dozens of jobs a month, and the studio was systematically billing less than it had earned. The forgotten quick revision, the call that ran long, the half-day that blurred into the next task — none of it made the invoice, because none of it was recorded when it happened.
What changed
They adopted Odoo Timesheets and connected it to invoicing.
Logging at the moment, not at month-end. The team began logging time against tasks as they worked, mostly from their phones, in small increments. It took a few weeks and some gentle persistence to become habit, but once it did, the month-end reconstruction disappeared — the hours were already recorded, accurately, as they happened.
Time-driven invoicing. For time-and-materials work, billable hours now flowed directly into invoices. Instead of guessing and rounding down, the studio billed exactly what was logged. The anxious month-end reconstruction became a quick review of data that already existed.
Profitability finally visible. For the fixed-fee work, timesheets revealed which jobs had quietly run over their fee. A couple of clients whose endless revisions had always felt costly were now provably unprofitable, which led to repricing and tighter scopes.
The result
The headline number was the recovered billing. Once they billed logged hours instead of conservatively-remembered ones, time-and-materials revenue rose by roughly a fifth — not from doing more work or raising rates, but from billing the work they had already done and previously left on the table. That recovery dwarfed the cost and effort of adopting the system.
The fixed-fee insight changed behaviour too. Knowing which clients and project types actually made money let them reprice the worst offenders and steer toward profitable work. The studio did not get busier; it got paid properly for the busyness it already had.
Why it worked
The under-billing was never dishonesty or laziness; it was the natural result of invoicing from memory under uncertainty, which always rounds down. The fix was simply recording hours when they happened, so invoicing became a matter of fact rather than a nervous estimate. Odoo did not make anyone work more; it made the work that was already happening visible and billable.
The honest part: the win depended entirely on the logging habit. The studio’s success came from treating adoption as the real project — making logging frictionless, explaining that it meant getting paid fairly rather than being surveilled, and pushing through the awkward first few weeks. Firms that skip that effort get patchy data and no benefit.
If you bill by time and suspect you are leaving money on the table at invoicing, you very likely are — and recording hours as they happen is usually how you get it back. We are happy to look at how you bill and show you where the gap is, in a free one-hour conversation.