Skip to content
ERP for construction

ERP for construction companies that bill in stages and get paid late

Your jobs run for months. You bill against progress claims, hold retention from subcontractors while clients hold it from you, and learn a project lost money about six weeks after it was too late to fix. The project module that ships with most ERPs wasn't designed with any of that in mind.

Example request from a construction team

ERPNext v16

Where standard ERP gets awkward in construction

Retention tracked in two directions, badly

You owe retention to subcontractors and clients owe it to you. Both sit in a spreadsheet, so money due at practical completion gets forgotten for months.

Variations agreed on site, approved never

The site manager says yes to extra work on a walkaround. There's no signed variation, so it can't go on a claim and the argument starts at final account.

Cost to complete the site team doesn't believe

Committed costs from purchase orders and subcontracts aren't tied to budget lines, so the forecast only shows what's been invoiced, not what's coming.

Subcontractor paperwork expiring quietly

A subbie's insurance certificate lapsed in March. They were on site in April, and the office found out only when something went wrong.

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.

Modules construction teams start with

Guides for construction teams

How it works

From a paragraph to a pull request

The long version
  1. 01

    Describe it

    In your own words. Paste the spreadsheet or a photo of the paper form if that's easier.

  2. 02

    Answer a couple of questions

    It asks only what it can't work out from your setup, like who's allowed to override.

  3. 03

    Try it on a sandbox

    A copy of your site with the module installed. Break it, then ask for changes.

  4. 04

    Merge when it's right

    Code lands as a pull request with tests. Your developer, or ours, reviews it first.

Construction ERP questions

Something missing? Email [email protected] and a person will answer.

Does ERPNext handle retention on progress billing?

Not as a built-in concept. You can bill a project in stages with Sales Invoices, but retention caps, partial release at practical completion and retention on the supplier side need custom logic. It's one of the most common modules we generate for builders.

What about Odoo for construction?

Odoo's Project, Timesheets and milestone invoicing on sales orders are a reasonable base, and Field Service helps with small works. Retention, schedule of values billing and variation control still need an addon. Some features you'd want, like Field Service and Planning, are Enterprise apps.

Can erpfly build a project scheduler like Primavera or MS Project?

No, and you shouldn't want one inside your ERP. Keep scheduling in a dedicated tool and sync key milestones and percent complete into the ERP for billing and forecasting.

Can site supervisors use it from their phones?

Yes. We usually generate simple mobile screens for daily site diaries, RFIs, delivery dockets and timesheets. Anything with lots of fields stays on the office side.

Our contracts differ by client. Can the rules vary per project?

They should. Retention rate, cap, release terms and whether variations raise the cap are stored on each contract, not hard-coded, because no two head contracts we've seen are identical.

Other industries

Your next module is one paragraph away

Write it the way you’d explain it to a new hire. We’ll turn it into an app you can read, test and install.

ERPNext v16

Create your account

Free to start. No card needed.

By signing up you agree to our terms and privacy policy.