Blog
How a Bandung Agency Delivered Projects On Time with Odoo Project
A Bandung digital agency stopped missing deadlines and discovered which projects were unprofitable after adopting Odoo Project with timesheets. Here is the story.
- narrative
- odoo
A digital agency in Bandung — web and design work for a dozen-plus clients at a time, around eighteen staff — had two chronic problems. Projects ran late often enough that it strained client relationships, and despite being busy and apparently successful, the agency’s margins were thinner than they should have been. Nobody could say exactly why on either count.
Managing chaos by memory
Work was tracked across WhatsApp groups (one per client), a shared spreadsheet that listed deadlines, and the project manager’s considerable but overloaded memory. With a dozen projects running concurrently, this fell apart predictably. Tasks got forgotten because they lived in a chat that scrolled away. Two designers would think the other was handling something. A deadline would arrive and reveal that a key piece had not been started.
On the money side, it was worse because it was invisible. The agency billed mostly fixed fees. Whether a given project’s fee actually covered the hours poured into it was a complete unknown. Some clients were demanding endless revisions; others were smooth. The agency felt the difference but could not measure it, so they kept pricing every project roughly the same.
What changed
They adopted Odoo Project, with timesheets, and changed how the team worked.
One board for everything. Every project and task moved onto Odoo Project, with clear stages and a single owner per task. The project manager could finally see, on one board, the status of every project at once. Tasks stopped vanishing into chat threads, and “I thought you had it” conversations largely ended because ownership was explicit.
Deadlines with reminders. Due dates and activity reminders meant slipping work surfaced before the deadline, not on it. The team could intervene early instead of discovering problems at delivery.
Timesheets against tasks. The harder cultural change: the team began logging hours against tasks. It took a few weeks to become habitual, but once it did, the agency could finally see how much time each project actually consumed.
The result
Late deliveries dropped sharply. The cause had never been laziness; it was lack of visibility and ownership, and the board fixed both. Work stopped falling through the cracks, and the project manager spent less energy chasing status and more on actually managing.
The profitability insight was the bigger revelation. With timesheets linked, the agency could finally see per-project margins — and the picture was uncomfortable in a useful way. A couple of long-standing clients, beloved and demanding, were consistently unprofitable because their endless revisions buried the fixed fee. Two service types that felt productive barely broke even. Armed with real numbers, the agency repriced the worst offenders, scoped revisions more tightly, and steered toward the work that actually paid.
Why it worked
The deadline fix was about visibility and ownership — a board where nothing hides and every task has an owner. The profitability fix was about measurement — you cannot manage a margin you cannot see. Neither required the team to work harder; they required the work and the time to be visible, which is exactly what connecting tasks and timesheets in Odoo delivers.
The honest part of the story is that the timesheet habit took real effort to establish. The agency had to make logging time quick and explain why it mattered, and push gently through the first weeks of resistance. That habit was the unlock; without it, the profitability data would not have existed.
If your projects run late and you cannot tell which ones make money, the cause is usually invisible work and unmeasured time — both fixable. We are happy to look at how your agency runs and show you what visibility would change, in a free one-hour conversation.