Construction ERP
Know your job costs while the site is still open
We configure Odoo Project, Purchase, Inventory, Timesheets and Accounting for contractors: the BOQ becomes the budget, purchase orders and subcontracts commit against it, and every vendor bill lands on the right site. Margin shows up during the job, not at the final account.
- BOQ-based budgets
- Progress claims and retention
- Subcontractor control
- Cost per site, live
- Industry playbooks on this site
- Offices: Bangkok, New York, Delhi NCR
- Apps of our own on the Odoo Apps Store
- Reply time on business days
- day
What we set up
The contractor's workflow, from BOQ to final account
Standard Odoo covers purchasing, stock, timesheets and accounting well. We configure those around your cost codes, then add the construction-specific pieces, claims, retention and BOQ tracking, as small, upgrade-safe modules.
Featured module
Projects that carry the BOQ
The BOQ you priced the job with is imported once and becomes the project budget, broken down by cost code. Every purchase order, subcontract, store issue and timesheet posts against those codes, so budget, committed and actual sit on one screen.
- BOQ imported from your Excel format, once
- Budget versus committed versus actual per cost code
- Variation orders tracked separately from the original scope
- Margin per project without waiting for the final account
Standard Odoo set up for your sector first; custom code only where it stops.
Progress claims and retention
Claim schedules per contract, invoices raised per completed milestone, retention held at the agreed rate and released when the defect period ends.
Site purchasing under control
Purchase requests from site, approval limits by amount, deliveries to site locations and vendor bills matched three-way before payment.
Subcontractor management
Subcontracts recorded as purchase agreements with progress payments, back charges and withholding tax handled on each certificate.
Site and yard stock
Materials tracked per site location, transfers between sites and the central yard, and returns booked back so leftover steel stops disappearing.
Timesheets and labor cost
Site hours recorded on phones against the project's cost codes, so labor lands in job costs weekly instead of surfacing at month-end.
Equipment and maintenance
Machines and vehicles tracked in Maintenance and Fleet, with usage charged to the site that used them and services scheduled before breakdowns.
Site checks and documents
Inspection checklists in Quality, site photos and drawings in Documents, and delivery records that stand up when a dispute arrives.
Job cost reports that agree
Cost-to-date versus budget per site, work-in-progress values for the accountant, and one ledger behind both, so the numbers never argue.
One ledger
The site, the office and the books on one system
Construction margins vanish in the gap between the site's spreadsheets and the office's accounting system. We close that gap by putting purchase orders, stock issues, timesheets and claims in the same database as the ledger, coded to the same projects. What the site commits, the office sees the same day.
Walk one site first
We follow a purchase request, a material issue and a claim from one live site before configuring anything.
Cost codes agreed in writing
Your cost-code structure is written down and signed off before migration, because changing it mid-project is expensive.
Pilot on one project
One new project runs fully in Odoo first. The rest follow once its claims, costs and stock flows work end to end.
Stay through the first close
We stay through the first month-end close, when WIP, retention and unbilled costs all have to reconcile with the ledger.
Before you commit
The honest limits of Odoo on a construction site
Odoo was not written for contractors, and pretending otherwise is how construction ERP projects fail. This is what takes real work, and how we handle it.
01
Claims and BOQ are not standard
Odoo has budgets and milestone invoicing, but a proper claim document with retention and previous-claim balances is a small custom module. We scope it explicitly rather than hiding it in configuration.
02
Retention needs accounting design
Retention receivable and payable need their own accounts and a release process tied to defect periods. We design this with your accountant before the first claim goes out.
03
Sites are offline sometimes
Remote sites lose signal, and Odoo is a connected system. We plan who records what, and when, so a day without internet does not become a week of missing costs.
04
Subcontractor withholding tax
Thai subcontractor payments carry withholding tax with certificates and PND 3/53 filings. We configure the deduction on every certificate payment so finance is not fixing it by hand.
05
Equipment costing has limits
Charging machine hours to sites at an internal rate needs custom fields or a disciplined manual step. We agree the level of detail that is worth the effort, honestly.
06
Live projects migrate badly
A project halfway through its claims rarely moves cleanly. The usual answer is to start new projects in Odoo and let old ones finish where they are, and we will tell you if that is your case.
How we help
Each of these is raised in scoping, priced into the phase it belongs to, and written into the scope, not discovered after go-live. If Odoo is the wrong fit for how you build, we say so on the first call.
Reliability & security
Engineered for reliability & security
Role-based access
Odoo security groups and record rules so each person sees only what their job needs.
Tested backups
Daily backups with restores rehearsed on a schedule. An untested backup is not a backup.
Full audit trail
Chatter history, approvals and document logs show who changed what, and when.
Hardened hosting
TLS everywhere, patched servers, firewalls and monitoring whether you run Odoo.sh or your own server.
PDPA-aware data handling
Personal data kept where it belongs, with retention and access set up around Thailand's PDPA.
Upgrade-safe custom code
Custom work lives in separate, tested modules so the next Odoo version is an upgrade, not a rebuild.
Rollout
A smooth rollout, fully supported
Walk the process
Workshops with the people who do the work, before any configuration.
Configure the baseline
Standard Odoo set up for your sector first; custom code only where it stops.
Pilot with one team
One site, one team, one month, on live data, with a rollback point.
Scale and hand over
Roll out to the rest, train by role, and stay through the first month-end close.
Dedicated consultant
The same person from the first call to go-live.
Documentation you keep
Process guides and handover notes in your own repository.
Training in EN or TH
Role-based sessions for new staff, whenever you need them.
Integrations
Working with the tools your project team lives in
Estimating stays in Excel, schedules stay with the planners, and Odoo holds the money. We connect the three with imports and APIs that have retries and a readable log, priced per endpoint.
- Excel BOQ imports
- Microsoft Project
- Google Drive
- Odoo Documents
- PromptPay
- Bank statement files
- e-Tax Invoice providers
- Odoo Sign
- Mobile timesheets
BOQ import agreed first
We map your estimator's BOQ format to Odoo budget lines once, so every new project imports the same way.
Documents stay findable
Drawings, contracts and site photos link to the project record instead of living in someone's chat history.
Payments reconciled
Bank statements match against vendor bills and subcontractor certificates, with withholding tax already deducted.
Priced per endpoint
Each integration is quoted per endpoint once the data contract is agreed, so adding a tool later is a known cost.
Engagement options
Pick the starting point that fits your projects
Every option has a fixed scope and price per phase, agreed in writing before work starts. If you choose Odoo Enterprise, licenses are billed by Odoo directly and never marked up by us.
Construction fit review
For contractors deciding whether Odoo fits. A fixed-fee review of your cost codes, claims and current tools, ending in a written recommendation.
Priced after scoping
- Walk-through of one live project's paperwork
- Cost-code and BOQ structure review
- Community or Enterprise recommendation with reasons
- Costed, phased roadmap you keep
Phased construction rollout
The core build: projects with BOQ budgets, purchasing, site stock, claims and Accounting, proven on a pilot project first.
Priced after scoping
- Fixed scope and price for each phase
- Cost-code setup and BOQ import mapping
- Claims and retention module scoped in writing
- Role-based training for site, purchasing and finance teams
- Support through the first month-end close
Job-costing add-on
For contractors already running Odoo or an accounting system who need cost visibility per site without replacing everything.
Priced after scoping
- Audit of current cost tracking and claims
- Analytic accounts and budget setup per project
- Purchase and timesheet flows wired to cost codes
- Job-cost reports for management and the accountant
FAQ
Questions clients ask first
Can Odoo import our BOQ from Excel?
Yes. We map your estimator's BOQ format to project budget lines once, and every project after that imports the same way. The structure of your cost codes is agreed in writing first, because it is the backbone of every report that follows.
How are progress claims and retention handled?
Claim schedules live on each contract, invoices are raised per completed milestone, and retention is deducted at the agreed rate into its own account, then released when the defect period ends. The claim document itself, with cumulative and previous-claim columns, is a small custom report we build to your format.
Can it handle withholding tax for subcontractors in Thailand?
Yes. Withholding tax is deducted on each certificate payment, certificates print from Odoo, and the postings line up with your PND 3 and PND 53 filings. We configure the rates and accounts together with your accountant.
Do we need Odoo Enterprise for construction?
Not always. Community covers projects, purchasing, stock and invoicing for many contractors. Enterprise earns its cost when you want the full Timesheets, Planning and Field Service apps, mobile approvals or official Odoo support. We tell you which case you are in after scoping.
How long does a construction Odoo implementation take?
A focused core covering projects, purchasing, stock and accounting typically runs six to twelve weeks, with the claims module adding to that. Live projects usually stay in the old system while new projects start in Odoo. You get a phased timeline after scoping, not before.
Get started
Let's build your ERP roadmap
Tell us how your business runs today. You get an honest view of how Odoo fits, what it would take, and a phased plan, within one business day.
- Free first scoping call
- Written scope and phased plan
- Delivery in English or Thai
Prefer to talk first?