Progress claims and retention, the maths generic ERPs skip
Most ERP project modules assume you do some work, log some hours and send an invoice. Construction doesn’t work like that. You bill against a schedule of values, claim cumulative progress each month, deduct what you’ve already claimed, deduct retention, add approved variations, and hope the quantity surveyor on the other side agrees with your percentages.
Retention is the part that hurts. It’s often money you’ve fully earned and can’t collect for a year or more after completion. If it isn’t tracked properly, some of it is never collected at all.
A $1.2M fit-out, claim by claim
Here’s a real-shaped example. A commercial fit-out with a contract sum of $1,200,000. The contract says 10% retention on each claim until 5% of the contract sum is held, which is $60,000. Half is released at practical completion, the rest after the defects period.
Claim 1. 20% complete, so $240,000 gross. Retention at 10% is $24,000. Net claim is $216,000.
Claim 2. Cumulative 45%, so $540,000. This claim is $300,000. Retention would be $30,000, taking the total held to $54,000. Net is $270,000.
Claim 3. Cumulative 60%, so $720,000, plus variation V-03 for $18,500 that the client approved last week. This claim is $198,500. Retention at 10% would be $19,850, but only $6,000 is left before the cap. So retention is $6,000 and the net claim is $192,500.
From claim 4 onward no retention is deducted. At practical completion, $30,000 is released on its own claim. The other $30,000 gets a due date at the end of the defects period, and a reminder goes to accounts two weeks before.
One open question: does an approved variation raise the retention cap? Some contracts say yes, some say no. The module stores that per contract, and we’ll ask rather than assume.
What ERPNext and Odoo already give a builder
ERPNext has Projects with Tasks, Timesheets, project costing that pulls in purchase invoices, expense claims and timesheet costs, and budget control against cost centres. Material Requests can be raised per project, and Assets can be tracked to a location.
Odoo has Project, Timesheets, analytic accounting per job, milestone invoicing on sales order lines, and purchase orders linked to analytic accounts. The Documents app (Enterprise) is handy for drawings and certificates.
Neither knows what a schedule of values, a progress claim, retention, a variation or an RFI is. That’s where a custom project management module and progress billing through invoice management come in.
Subcontractors, RFIs and variations
The supply side matters as much as the client side. Useful custom pieces here include:
- Subcontract agreements with their own schedule of values, retention and claim approval, built on purchase management.
- Compliance register for insurance certificates, licences and inductions, blocking payment approval when something has expired.
- RFIs raised by subbies or site managers, assigned to the architect or engineer, with a due date and a link to any variation they cause.
- Variation register with statuses from “requested” through “priced” and “approved”, so only approved variations can reach a claim.
- Plant and equipment booked to jobs with day rates, using asset management.
Where we’d stop
We don’t generate estimating tools with drawing takeoffs, BIM viewers or critical path schedulers. Those are mature specialist products, and you’ll get further syncing with them than rebuilding them. If your process is truly unusual, read build vs buy for ERP first. For how a generated app is structured and deployed, see ERPNext custom module development.