Customer Story · Professional Services
From logged hour to sent invoice, automatically
How a Dutch consultancy firm with offices in multiple European countries brought its multi-company administration, time tracking, and invoicing together in Odoo.
In services, a logged hour is the raw material, the inventory, and the end product all at once. If you operate from multiple entities, that same hour also needs to land with the right one, and that's exactly where it usually goes wrong.
Our client is a Dutch consultancy firm with offices in multiple European countries. To their own people, it's one company; for the administration, they're separate ledgers, each with its own general ledger, VAT treatment, and annual accounts.
The facts at a glance
The starting point
Hours and kilometers were tracked separately per entity, in their own spreadsheets and with their own approval routes. A consultant working for a client in another country sometimes had to log their hours twice: once for their own entity, once for the entity that ultimately invoiced.
That didn't just cost time. Every manual retyping step was a chance for an error, one that often only came to light at invoicing, when a client saw an hour on their invoice that had already been handled somewhere else.
What was built
We set up Odoo with a multi-company structure in which clients, projects, employees, and rates are recorded centrally, while the general ledger, VAT treatment, and reporting per entity stay separate, down to the transaction level.
Hours and kilometers are now logged once, directly at the right entity. When an hour is logged in one entity but needs to be invoiced by another, Odoo handles the intercompany recharging automatically.
Approval and invoicing in one motion
Billable and non-billable hours flow through the same screen, with an approval step before invoicing instead of after. That way, an error no longer reaches the invoice, it's caught earlier in the process.
Rates that differ per client, project, or consultant no longer need to be recalculated by hand. The system applies the correct rate the moment the hour is booked, even when that hour ends up being invoiced by a different entity later.
Why it stayed on time and on budget
The project was delivered within the agreed timeline and the agreed budget. In ERP-land that's not a given, and it's also not primarily a technical achievement.
An ERP transformation is rarely an IT project. It requires close collaboration between the business, the process owners, and the implementation team, people who know how the work really flows and are willing to look at it critically. The commitment of the team on the client's side contributed significantly to the result. An implementation partner can carry a project like this, but not carry it alone.
This also included ongoing attention to user adoption, not as a closing training session but throughout the whole project. A system that's technically sound but that nobody uses consistently hasn't delivered anything, no matter how neatly it was delivered.
What it delivered
The clearest result is speed. From logged hour to sent invoice, there's no manual step left, not even when that invoice needs to come from a different entity.
The month-end close has gone from a multi-day hunt for approvals to a fixed, predictable rhythm. The intercompany recharging that used to be corrected manually afterward now flows along automatically in the process.
The most important part is perhaps what no longer happens: no more double time entry, no more discussion about which entity gets to invoice an hour, and no more surprises at month-end close.
Does this starting point sound familiar?
Do you operate from multiple entities and recognize the struggle between time tracking, invoicing, and intercompany arrangements? We see that pattern often, and it can be solved well with the right setup.
We're happy to think along with you about what a similar approach would mean for your organization.
Schedule a strategy session →