In construction, a project’s profit margin is often thin and easily eaten away by small, scattered add-on costs: materials purchased outside the original plan, overtime hours that go unrecorded for too long, equipment rentals that run longer than expected. A 70-person residential construction company, running 4-6 job sites at once, used to face a familiar pattern: the books looked “clean” throughout construction, only for final settlement to reveal that a project had actually been losing money for weeks.

This article looks at how the company implemented Odoo to close the gap between the moment a cost is incurred on site and the moment leadership actually sees that number in the system.
Table of Contents
💡 Insight: For this company, software wasn’t the biggest obstacle – the habit of “closing the books at month-end” was. Site crews and project accountants were used to a monthly reporting rhythm; moving to daily cost updates meant changing a workflow, not just a tool.
THE BOTTLENECK
The bottleneck: books that look “clean” until settlement day
The company’s old process ran on a monthly cycle: site managers jotted down costs incurred on site in a notebook or reported them by phone, project accountants consolidated everything into an Excel file at month-end, and the file was then sent to the head office to be reconciled against the original estimated budget. Between one consolidation and the next, leadership had almost no accurate picture of any project’s actual cost.
The problem showed up most clearly when a project was found to be over budget on materials right at final settlement – by then the project was already complete, with no chance left to adjust the construction approach or renegotiate with suppliers to improve the margin.
THE APPROACH
The approach: getting site data into the system the moment it happens
Rather than simply digitizing the existing month-end reporting process, Sonix worked with the company to redesign the data flow so that every cost is recorded against the right project the moment it occurs, built on three connected modules: Project, Purchase, and Accounting.
The estimated budget as a running benchmark (Project)
As soon as a bid is won, the project’s estimated budget is entered into Odoo by category (materials, labor, equipment, other costs), becoming a benchmark to compare against actual costs throughout construction – not just a figure used once at final settlement.
On-site purchase requests approved and recorded immediately (Purchase)
When a site manager needs to buy extra materials outside the original plan, a purchase order is created and approved directly in the system, tagged to the relevant project – removing the lag between when the need arises and when the cost is recorded.
Alerts when cost approaches budget (Accounting)
The system triggers an alert when a category’s actual cost reaches a set percentage of its estimated budget, giving leadership and site managers time to review options before a project officially goes over budget.
WHAT CHANGED
What changed after moving to Odoo
The biggest change wasn’t that costs got recorded faster – it was that leadership could step in while a project was still underway, instead of only drawing lessons after it was already finished.
| Process | Before Odoo | After Odoo |
|---|---|---|
| Recording incurred costs | Noted in a notebook or reported by phone, consolidated at month-end | Purchase orders and costs recorded directly in the system |
| Comparing against the estimated budget | Reconciled only once, at final settlement | Compared continuously, with alerts as costs approach the budget threshold |
| Leadership’s ability to step in | Lessons learned only after the project was already complete | Can adjust course while the project is still under construction |
MAKING IT STICK
What it takes to make this way of working stick
The hardest part wasn’t technical – it was getting site managers to shift from “report at month-end” to “enter data the moment it happens.” The company addressed this by keeping the site manager’s part of the process as simple as possible (just confirming a purchase order already drafted by the project accountant), rather than asking them to enter full details into the system themselves.
The budget-overrun alert threshold was also agreed with leadership in advance, to avoid alerts firing so often that people started ignoring them, or so rarely that they arrived too late to matter.
KEY TAKEAWAYS
| Key point | What it means for the business |
|---|---|
| The estimated budget is a running benchmark, not just a settlement-day figure | Makes it possible to catch budget drift while a project is still active. |
| On-site purchase requests are approved and recorded immediately | Removes the lag between when a cost occurs and when the system records it. |
| Automatic alerts as cost approaches budget | Gives leadership time to adjust before a project actually goes over budget. |
| Keep the process simple for on-site users | A precondition for successfully breaking the month-end reporting habit. |
Do you only find out a project lost money after it’s already settled?
Book a 30-minute discovery call so Sonix can assess your current project cost data flow and propose an Odoo Project – Purchase – Accounting implementation roadmap that catches budget drift while a project is still under construction.
Hundreds of businesses using Odoo in Vietnam have already started this journey.
Sonix – Our customers’ success is our joy.

Leave us your comment