Underquoting is one of the most common ways civil contractors lose money — and one of the hardest to see coming.
The job looks fine on paper when you win it. It's only three weeks in, when the costs have blown out and the margin has disappeared, that you realise the quote was never going to work. By then it's too late to do anything about it.
Most underquoting doesn't happen because contractors are bad at their jobs. It happens because the data they're quoting from is incomplete, delayed, or just wrong. Labour costs get underestimated. Plant hours run longer than expected. Materials get added on site without being tracked. And nobody sees the full picture until the job is done.
This guide covers why civil contractors underquote, how to identify it while a job is still running, and how real-time cost tracking changes the equation.
Why Civil Contractors Underquote
Underquoting on civil jobs usually comes down to one of five problems.
1. Quoting from memory instead of data
Most civil contractors quote based on experience — what a similar job cost last time, what the going rate is for a certain type of work. That works when the estimate is accurate and when conditions are consistent. It breaks down when the last similar job was two years ago, when crew rates have changed under a new EBA, or when the scope is slightly different to what you've done before.
Quoting from memory without historical cost data means every quote is an educated guess.
2. Not tracking actual costs during the job
If you're not tracking labour, plant, and material costs in real time against the scope, you have no way of knowing whether a job is running over budget until it's finished. By the time you reconcile at the end, the overrun has already happened.
The jobs that bleed margin fastest are the ones where nobody noticed until the invoice went out.
3. Missing hours and costs at site level
Paper timesheets miss overtime. Pre-starts don't get completed. Materials get ordered on site without being logged. Every cost that doesn't get captured is a cost that doesn't appear in your actuals — which means your cost-per-unit figures are understated and your next quote based on those figures will be too low.
4. Scope creep without variation tracking
Civil jobs change. Rock strikes happen. Weather delays extend plant hours. Extra material gets called up. If those variations aren't being tracked and costed as they occur, they disappear into the job — absorbed silently, unrecovered, and never reflected in your quoting data for next time.
5. No cost-per-unit visibility
The most useful number in civil quoting is cost per unit — what did it actually cost to install 1 tonne of rock, lay 1 metre of pipe, or move 1 cubic metre of material. Without real-time cost tracking, you can't calculate that number accurately until the job is complete. And by then you're already pricing the next job from the same flawed baseline.
How Real-Time Job Cost Tracking Fixes Underquoting
The difference between contractors who consistently quote accurately and those who don't usually comes down to one thing — whether they're tracking actual costs against scope in real time, or reconstructing costs after the fact.
Real-time cost tracking doesn't just tell you how a job performed. It tells you how a job is performing — while there's still time to do something about it.
When you can see that a scope is tracking at $28 per tonne when you quoted $22, you can investigate why before the whole job runs at that rate. Maybe a machine broke down and you're running a less efficient setup. Maybe the material conditions were worse than expected. Maybe the crew is running more overtime than the quote assumed.
Whatever the reason, knowing early means you can either recover — by raising a variation, adjusting resourcing, or having a conversation with the client — or at minimum, factor the real number into the next similar quote.
How CivDocs Tracks Job Costs in Real Time
CivDocs builds job cost tracking around project scopes — the specific measurable work items that make up a civil job. A scope might be 4,000 tonnes of rock install, 300 metres of AGI, or 2,500 square metres of subgrade prep.
For each scope, you set a budget and attach cost codes for labour, plant, and materials. From there, costs post automatically as your crew works.
Labour costs come from timesheets. When an operator or labourer fills out their timesheet in CivDocs and selects a project and scope, their hours are costed at their stored rate and posted to that scope's labour cost code automatically. No manual entry, no end-of-week reconciliation.
Plant costs come from pre-starts. When an operator completes a pre-start check and selects a project and scope, the machine's configured day rate posts to the scope's plant cost code. If three machines are working the same scope, three plant cost entries post — each tied to the correct asset.
Material costs come from supervisors. Supervisors add materials used on site through their dashboard, pulling from the materials library which stores unit types and rates. When a material is added to a scope, the cost updates actuals instantly.
Daily progress ties it all together. Supervisors enter daily quantities completed — today we installed 800 tonnes, today we laid 60 metres. CivDocs uses that progress data to calculate cost-per-unit, percentage complete, and forecast to completion in real time.
The result is a live view of every scope: budget vs actual, over/under, remaining budget, cost per unit, and forecast — all updated automatically from what's happening on site, not from what someone entered into a spreadsheet on Friday afternoon.
Using Cost Data to Quote More Accurately
The second-order benefit of real-time cost tracking is what it does to your quoting over time.
Every job you run through CivDocs builds a library of actual cost data — what rock install actually costs per tonne on your crew, what AGI actually costs per metre, what earthworks actually costs per cubic metre under different conditions.
When you go to quote a similar job, you're not estimating from memory. You're looking at what it actually cost last time, with the same crew, similar conditions, similar scope. That's the difference between an educated guess and a data-backed number.
Over time, contractors who track costs accurately quote more accurately. They win jobs at margins that hold. They don't get to the end of a job and find out they worked for nothing.
Catching Overruns Before It's Too Late
The most valuable feature of real-time cost tracking for civil contractors isn't the reports at the end — it's the visibility during.
In CivDocs, every scope shows budget vs actual as costs come in. The moment a scope starts tracking over budget, it's visible. The supervisor can see it. The owner can see it.
That visibility creates the opportunity to act. Raise a variation. Have a conversation with the client. Adjust resourcing. At minimum, make a note for the next quote.
Without that visibility, overruns are invisible until the job is done. By then, the money is already gone.
Frequently Asked Questions
Why do civil contractors underquote? The most common causes are quoting from memory rather than historical cost data, not tracking actual costs during the job, missing hours and materials at site level, untracked scope creep, and no real-time cost-per-unit visibility. Most underquoting is a data problem, not a skills problem.
How does real-time cost tracking help civil contractors quote more accurately? Real-time cost tracking builds a library of actual job data — what work actually costs per unit under your specific conditions, with your crew and plant. Over time, quoting from that data produces more accurate estimates than quoting from memory or industry averages.
What is cost-per-unit tracking in civil construction? Cost-per-unit tracking calculates what it actually costs to complete one unit of a scope item — for example, one tonne of rock install, one metre of pipe, or one cubic metre of earthworks. CivDocs calculates cost per unit automatically from timesheet, plant, and material data and updates it in real time as daily progress is entered.
How does CivDocs track job costs for civil contractors? CivDocs tracks job costs through project scopes. Labour costs post automatically from timesheets, plant costs post from pre-starts, and material costs are added by supervisors. Daily progress updates cost-per-unit and forecast figures in real time. All costs roll up into a live budget vs actual view by scope, project, and cost code.
Can CivDocs help civil contractors identify scope creep? Yes. Because costs are tracked against specific scopes in real time, any overrun against a budgeted scope is immediately visible. This makes it easier to identify when a job has changed beyond the original scope and raise a variation before the cost is absorbed.
What cost codes does CivDocs use for civil job costing? CivDocs comes with standard civil cost codes — for example, 3100-L for rock install labour, 3100-P for rock install plant, 3100-M for rock install materials. You can add, edit, and customise cost codes to match your business. Each scope is assigned cost codes when it's created, and all costs post automatically to the correct code.
Stop Guessing. Start Tracking.
CivDocs gives civil contractors real-time visibility over labour, plant, and material costs — by scope, by job, by cost code — so you know exactly where you stand while work is still running.
14 days free. No credit card required. Set up your first project in minutes.
