Construction margins are thin, so even a small amount of cost leakage across your jobs can take a large share of your profit. Leakage is rarely one big mistake. It is labour that drifts over budget, variations that never get invoiced, costs coded to the wrong job, subcontractor invoices that creep past the purchase order and estimating errors that repeat on every new quote. The fix is to find where it happens on your jobs and connect your systems so those problems show up while you can still act on them, not at month end.
Why thin margins make small leaks so expensive
The maths is simple, and it's worth doing with your own numbers. For example, if your business runs at a net margin of 5 per cent and 2 per cent of revenue leaks away through costs nobody caught, you've lost about two-fifths of your profit. On a margin that thin there's very little room for error.
Turnover can hide this. A busy year with plenty of work can still end with a disappointing bottom line, because the leaks grow with the work. More jobs means more chances for small costs to slip.
Try it with your own figures:
- Take last year's net profit as a share of revenue.
- Estimate what share of revenue went on costs that weren't planned, billed or allocated correctly.
- Compare the two.
Even a rough estimate usually makes the case for seeing your costs sooner.
What cost leakage looks like in construction
Cost leakage is money that leaves the business without a matching reason in the job budget, or work that gets done without the matching revenue being claimed. On its own, each item looks minor. Across a year of projects it adds up to a real slice of your margin.
The most common sources we see when looking at builders' job data:
- Labour drifting over estimate. Hours on a job creep past the estimate, and nobody compares actuals to the budget until the month-end report.
- Unbilled variations. A variation is approved and completed on site, the cost is absorbed, but the revenue is never claimed because the paperwork never reached accounts.
- Miscoded costs. Materials or labour charged to the wrong job or cost code. One job looks worse than it is, another looks better, and both sets of decisions are made on wrong numbers.
- Invoices above the purchase order. A subcontractor or supplier bills more than the committed amount, and it is only noticed when the final account is reconciled.
- Rework from out-of-date information. A crew builds to a superseded drawing, or the office and site are working from different versions of a decision.
- Rework and returns that are never recovered. Defects, damaged materials or supplier errors that should be back-charged but aren't.
- Estimating errors that repeat. If nobody compares the estimate with the actual cost on finished jobs, the same under-allowance for labour or a particular trade goes into every new quote.
- Late or short progress claims. Claims that go out late, or under-claim the work done, put pressure on cash even when the job itself is profitable.
None of these are dramatic failures. They are quiet, small losses that repeat on job after job.
Why small leaks are so hard to see
The problem with small leaks is timing. A foreman on site doesn't see a slow drift in labour cost. A project manager reviewing a monthly report sees the result weeks after the cause. By then the money is spent and the chance to change course has gone.
Most builders run a mix of systems: an estimating tool, a job management or project app, timesheets, and an accounting system. Each one holds part of the picture. When they don't talk to each other, someone has to re-key or reconcile the data by hand. That's double entry (the same information typed into two systems), and it's where both the delay and the errors come from.
For example, if your site team records variations in a project app but accounts only invoice from what lands in the accounting system, any variation that isn't passed across by hand simply never gets billed. Nobody is being careless. The process just has a gap in it.
Three checks to find your leaks
You don't need new software to start. Run these three checks across your active and recently finished jobs:
- Subcontractor and supplier invoices against purchase orders. Compare every invoice received to date with the original PO and any approved changes. Flag anything over the committed amount and find out why it was paid.
- Estimated versus actual labour. Pick your last five completed jobs. Compare the estimated hours to the actual hours, by trade or stage if you can. Look for the same overruns showing up on more than one job. Our article on estimate vs actual shows how to lay this out.
- Your variation register. List every approved variation and check whether it has been invoiced. Any that have been completed but not billed are pure leakage.
These checks will usually surface most of the leakage on their own. They will also show you which part of your process the leaks come through, which tells you what to fix.
Start with one project
Don't try to fix everything at once. Pick one active project and follow its information from site to the accounts:
- How long does it take for site activity to show up in a cost report?
- How many times is the same information entered into different systems?
- Where does information get lost between site and office?
- Were all the variations on the last finished job claimed?
The answers show you where the money is leaking on that job. Fix the biggest leak there, prove it works, then roll it out to the next job.
Fixing it: connect the systems you already have
The answer is rarely more admin staff. It is making the information surface on its own, while the job is still running. In practice that usually means:
- A daily site log on a phone, tagged to the job. Short notes and photos captured at the time are what turn a disputed variation into a paid one.
- Timesheets allocated to jobs as they happen. Hours entered once on site, with the job and cost code, feeding both payroll and job cost. Labour lands on the job within a day or two, not reconstructed from memory at month end.
- Committed costs tracked against budget, with an overrun flag. Purchase orders recorded against the job and cost code, so invoices can be matched to them and anything over is flagged before payment.
- Variations flowing straight to invoicing. An approved variation in the project system creates an item for the next claim, so nothing depends on someone remembering to pass it on.
- Estimate against actual after every job. The lessons go back into estimating rates, so the next quote doesn't repeat the last mistake.
- One budget-versus-actual report per job, every week. A single view of each job's estimate, committed costs, actual costs and forecast to complete, refreshed from your accounting and job systems.
This is the kind of work covered by construction job costing and builder accounting software integration: connecting what already exists rather than replacing it. If you want a structured way to work through your own gaps first, the construction financial visibility toolkit is a good place to start. For why costs reach the job late in the first place, see why job profit shows up too late.
What it looks like when it's fixed
On Monday morning a project manager can open any job and see where it stands: cost to date, committed costs, variations raised and claimed, and the forecast margin. A subcontractor invoice that comes in over its order was flagged before it was paid. The variation agreed on site on Thursday is already on the list for the next claim. Problems show up while there's still time to act, not at the end of the job.
Where WIP reporting fits
Cost leakage and work-in-progress reporting are closely linked. A proper WIP report compares cost to date, forecast cost to complete and revenue claimed for each job. When the underlying cost data is late or miscoded, the WIP report is wrong too, and over- or under-claiming hides the leakage until the job closes. Getting the job cost data right is the foundation for reliable WIP reporting.
Frequently asked questions
What is cost leakage in construction?
It is money lost on a job without a matching reason in the budget, or work done without the revenue being claimed. Common causes are labour overruns, unbilled variations, miscoded costs, invoices that exceed the purchase order and estimating errors that repeat from job to job.
How do I find out how much margin I'm losing?
Start by checking invoices against purchase orders, estimated against actual labour on recent jobs, and your variation register for unbilled items. Those three checks show where the leaks are and roughly how big they are on your jobs.
Why does a busy year still end with a poor profit?
Because leaks grow with the work. More jobs means more variations, more invoices and more hours to code, and each one is another chance for a small cost to slip through. On a thin margin, a small share of revenue lost this way takes a large share of the profit.
Do I need to replace my accounting software to fix this?
Usually not. Most leakage comes from gaps between systems, not from the systems themselves. Connecting your job, timesheet and purchasing data to your accounting system normally fixes the visibility problem without a replacement.
How current does job cost data need to be?
Current enough that someone can act before the cost compounds. For most builders that means costs and hours appearing against the job within a day or two, rather than at month end. Weekly review of active jobs is a sensible minimum.
If you'd like to talk through where your jobs are leaking margin and what it would take to close the gaps, book a free initial chat. If you want a written review of your systems and job cost process, the $5,000 Process & Systems Audit covers that.