A construction ERP for a UK contractor has one job: hold every contract, subcontract, cost and payment so that CIS returns, reverse charge VAT, valuations and retentions come out of the same records. Devvista is a software development and growth agency and an official Odoo partner that builds construction ERP systems for UK contractors on Odoo, with custom modules and apps where a standard product stops.
Below: what the system must do, what Odoo covers natively, the three ways to get there, a worked CIS example and the rollout steps.
The problem: the margin on a job is only known at final account
Most contractors who call us can produce a set of accounts and a CIS return. What they cannot do is answer "what will this job make?" on a Tuesday afternoon. The quantity surveyor has the valuation in Excel, the buyer has the subcontract orders in email, the accounts team has the bills in Sage or Xero, and the retention owed on a job finished two years ago is in somebody's memory.
The cost shows up in three places: margin surprises at final account, cash tied up in unclaimed retentions, and hours lost each month rebuilding the CIS return and the VAT return from scattered bills.
Why generic business software breaks on construction work
General accounting and management tools are built around a sale: quote, invoice, payment. A construction contract works differently, and each difference needs data a generic system does not store.
- You are paid on valuations, not deliveries. The sum due is a cumulative valuation less previous payments and retention.
- Deadlines are set in law. The payer must give a payment notice within five days of the due date stating the sum and how it was calculated, and can only pay less with a pay less notice (s110A, s111 as substituted).
- Labour and materials are taxed differently under CIS. The deduction applies to the invoice after materials, VAT, plant hire and similar costs are removed (gov.uk).
- VAT flips between parties. Under the domestic reverse charge the supplier issues an invoice without VAT and notes that the customer accounts for it (HMRC).
- Money is held back for years. Retention is released in two halves, at practical completion and after the rectification period.
What a UK construction ERP must do, and what Odoo covers natively
This table is the checklist we use in discovery. "Native" means it is in Odoo's own documentation; everything else is configuration, an app from the Odoo Apps Store, or custom work.
| Requirement | What it means day to day | Odoo standard | How we close the gap |
|---|---|---|---|
| CIS deductions and returns | 0%, 20% or 30% on labour; monthly return by the 19th | Native UK CIS module, Odoo 18 and 19 (docs) | Set up subcontractor records, verification numbers and labour/material product split |
| Domestic reverse charge VAT | No VAT on CIS-reported B2B services; customer self-accounts | Configuration: the UK docs do not describe a ready-made DRC setup | Configure DRC taxes and fiscal positions; test on a past VAT period |
| Job costing | Every cost and revenue tagged to a job and cost code | Analytic accounts and the project profitability panel (docs) | Cost code plan, analytic rules on purchases and bills |
| Valuations and applications for payment | Cumulative value less previous and retention | Milestone invoicing on sales orders (docs) | Custom valuation form or app; your application layout |
| Payment and pay less notices | Issued within contract and statutory time limits | Not in standard docs | Notice templates and deadline reminders per contract |
| Retentions | Held and owed balances with release dates | Not in standard docs | Apps Store modules exist (example) or a custom retention ledger |
| Budgets and committed cost | Budget vs actual plus open orders | Analytic budgets include confirmed purchase orders (docs) | Forecast cost-to-complete layer |
Three ways to get a construction software solution
There is no single right answer. The table below is how we would explain the choice to a director, including the routes that do not involve us.
| Route | Suits | Trade-off |
|---|---|---|
| Keep Sage or Xero and add a construction layer, for example Eque2 Construct, which adds CIS, retentions and applications to Sage or Xero (Eque2) | Small to mid firms happy with their ledger | Two systems to keep in step; operations such as stock and site labour stay outside |
| A construction suite such as Access Coins Evo, positioned as a complete construction ERP for UK and Ireland contractors and homebuilders (Access Group) | Established mid to large contractors and housebuilders | Construction depth out of the box; less freedom to shape it, licence and project costs to match |
| Odoo configured for construction, with custom modules where needed | Firms that also want purchasing, stock, CRM, HR or a site app on the same database | Needs a partner who knows UK construction; retentions and valuations are configuration or custom work |
Fully custom construction software, built from scratch, rarely makes sense for the whole ERP. It does make sense for the piece that is unique to your firm, such as a subcontractor portal or a plant tracking app, connected to whichever ledger you keep.
Subcontractor management from order to CIS return
Subcontractors are where CIS, reverse charge and the Construction Act meet, so the system has to follow one subcontract through its life:
- Onboard: UTR, company details and VAT number captured; verify with HMRC and store the verification number and rate on the supplier record.
- Order: a subcontract order against the job and cost code commits the cost before any work is done.
- Application: the subcontractor applies; the QS values it against the order and the system calculates the gross valuation, retention, previous payments and the sum due.
- Notice: payment notice or pay less notice issued from the system, with the due date and final date for payment held on the contract.
- Bill and deduction: the bill splits labour and materials, applies the CIS rate to labour and the reverse charge to VAT.
- Statement and return: payment and deduction statements go out within 14 days of the tax month end, and the monthly return is filed from the same data (gov.uk).
Worked example: one subcontractor bill, done once
Illustrative figures, not a client case. A groundworks subcontractor, registered for CIS at 20% and VAT-registered, applies for £12,000 this month, of which £3,000 is materials they bought. The contract has 5% retention.
| Line | Amount |
|---|---|
| Gross valuation this period | £12,000 |
| Less 5% retention | £600 |
| Net due before tax | £11,400 |
| Labour element for CIS (£11,400 less £3,000 materials) | £8,400 |
| CIS deduction at 20% | £1,680 |
| VAT | Reverse charge: none paid to the subcontractor; you account for 20% (£2,280) on your VAT return and reclaim it if fully recoverable |
| Paid to subcontractor | £9,720 |
In a spreadsheet setup, those numbers are typed into three places. In a construction ERP they are calculated once on the bill, the retention lands on a ledger with a release date, the deduction flows to the CIS return and the reverse charge flows to the VAT return. How materials are treated against retention varies by contract, so we configure it to your terms.
Rollout steps for a UK contractor
- Discovery (2 weeks): map contracts, payment terms, cost codes, CIS and VAT processes, and the reports directors read.
- Core finance (3 to 4 weeks): UK localisation, chart of accounts, MTD VAT, CIS module, reverse charge taxes, bank feeds and BACS.
- Construction layer (3 to 6 weeks): jobs, cost codes, subcontract orders, valuations, retentions, notices.
- Data load: live jobs with budgets, certified to date, retention balances and open subcontract commitments.
- Parallel month and go-live on the 6th, the start of a CIS tax month.
Those durations are planning estimates for a single-company contractor. Licence and implementation cost depend on users and scope; our Odoo pricing guide explains how Odoo charges, and our guide to Odoo customisation covers when custom modules are worth it.
How to measure whether the construction ERP is working
- Hours to produce the CIS return, before and after.
- Forecast margin per job available to directors weekly, not at final account.
- Retention recovered: value of retentions past their release date and still unpaid, tracked monthly.
- Notices on time: share of payment and pay less notices issued inside the contract period.
- VAT return adjustments caused by reverse charge errors.
Mistakes we see in construction ERP projects
- Treating every subcontractor bill as 100% labour, so CIS is over-deducted and disputes follow.
- Applying reverse charge to customers who have given end user notice in writing.
- Cost codes designed by accounts alone, which site teams then ignore.
- No owner for retention release dates, so money sits uncollected after the rectification period.
- Going live mid-way through a CIS tax month.
Where Devvista fits
Devvista is an official Odoo partner that implements construction ERP for UK contractors on Odoo, covering CIS returns, domestic reverse charge VAT, job costing, valuations, retentions and subcontractor management, and builds custom construction software such as site apps and subcontractor portals around it. We work remotely in UK hours. Our Odoo work is under NDA, so examples are shown anonymised on a call.
Good fit: main contractors and specialist subcontractors with several live jobs who want one database. Not a fit: firms that want an off-the-shelf suite with no configuration; a construction suite will suit you better. Read the detail on construction accounting software, job costing and cost control and budgeting and forecasting, see our Odoo implementation and custom software development services, or go back to the UK hub.
Sources
- www.legislation.gov.uk/ukpga/1996/53/section/110A
- www.legislation.gov.uk/ukpga/2009/20/section/144
- www.gov.uk/what-you-must-do-as-a-cis-contractor/make-deductions-and-pay-subcontractors
- www.gov.uk/guidance/vat-reverse-charge-technical-guide
- www.odoo.com/documentation/19.0/applications/finance/fiscal_localizations/united_kingdom.html
- www.odoo.com/documentation/19.0/applications/services/project/project_management/projec...
- www.odoo.com/documentation/19.0/applications/sales/sales/invoicing/milestone.html
- www.odoo.com/documentation/19.0/applications/finance/accounting/reporting/budget.html
- apps.odoo.com/apps/modules/18.0/retention_construction_contracting_projects
- www.eque2.co.uk/
- www.theaccessgroup.com/en-gb/construction/products/coins/
- www.odoo.com/odoo-20-release-notes
- www.thebesa.com/payments/retentions-security
- www.gov.uk/government/publications/budget-2025-document/budget-2025-html
- www.gov.uk/government/publications/summary-of-tax-update-2026-simplification-modernisat...