Why your construction margin only shows up after the job is finished
A CVR tells contractors whether a project is making money. Run as a monthly spreadsheet exercise, it tells you that three weeks too late. Here is why committed cost, variations, and applications need to update in real time - not at month-end.
CVR - cost value reconciliation - is the standard commercial report in construction: it measures what a project has earned from the client against what it has cost, producing the margin position at a given date. Every contractor in construction and trade runs one. The problem is not the concept; it is the timing. When CVR is a spreadsheet exercise compiled once a month, the data is already three to four weeks old by the time it reaches anyone's desk. A subcontract running over budget, a variation delivered on site but never priced, a purchase order committed but not yet invoiced - none of these appear until the next reporting cycle. By month nine of a twelve-month job, a margin problem that started in month three has had six months to compound. At that point, you are not managing the job; you are reading its history.
What a CVR is measuring - and what a monthly spreadsheet misses
A CVR has three sides: value, cost, and committed cost. Value is what the client has been billed, plus anticipated future applications and agreed variations. Cost is every invoice and payment already incurred. Committed cost is where the spreadsheet version typically falls short: purchase orders raised, subcontracts awarded, and materials ordered that have not yet produced an invoice but represent real financial exposure the project has already taken on.
UK main contractors operate at margins of 3-5%, according to commercial analysis from Bauwise. At that level, a single package running materially over its awarded value can eliminate a project's entire planned profit. Not in one event, but gradually: through understated accruals, a variation absorbed without recovery, a subcontract forecast that stayed optimistic three months longer than it should have.
A monthly spreadsheet captures a point in time. By the time the QS has pulled together cost data from multiple sources, cross-referenced subcontractor invoices against purchase orders, and updated forecast lines for every active package, the information is already stale. One broken formula or missed row can shift the commercial picture by thousands without anyone noticing. Decisions made on last month's CVR are decisions made on last month's reality.
Committed cost vs. actual cost
A committed cost is an obligation the project has already taken on - a signed subcontract or a raised purchase order - before the invoice arrives. Tracking only invoiced amounts misses the full liability picture and overstates the available margin in active periods.
Where margin disappears before the report lands
Profit fade in construction is rarely dramatic. It is a series of small movements in the same direction that each look manageable in isolation. Labour overruns the programme because another trade runs late. A subcontractor comes in above the estimate on a package. A client instruction generates additional work that gets delivered on site before anyone raises a variation order. Each of these is correctable early. None gets corrected if the commercial team sees it for the first time at month-end.
Thomas Emlyn, a specialist construction accountancy firm, makes the point directly: miss a margin problem in month three of a job, and by month nine it is a loss you cannot recover. The recovery window narrows every week. By the time the final account conversation happens, the only option is damage limitation.
There is a timing distortion layered on top of this. Applications for payment are raised based on work done and costs already incurred. The invoice may not follow until the next accounting period. Cost sits in the current month; the matching revenue has not yet been recognised. A report built on invoiced figures rather than applications and committed orders will understate margin in active periods. The reverse distortion - where margin looks healthy because costs are lagging behind work done - can carry a genuine problem forward for months before anyone sees it.
Margin was always there at the start of the job - it was in the estimate. What erodes it is the gap between when something happens on site and when it shows up in a report.
The difference between a live position and a history report
The issue with monthly CVR is not that the process is wrong - it is that the data is assembled retrospectively. A well-prepared CVR should be diagnostic: it should show not just where the project is, but why, and where it is heading. On a subcontract-heavy job with a dozen or more awarded packages, that means package-level visibility: what was procured, what has changed, what has been accrued, and what the genuine forecast to complete looks like by trade.
When that data lives in email threads, separate spreadsheets, and an accounts package that only reflects invoiced costs, the QS spends most of the CVR cycle on data collection rather than commercial judgement. The value of the exercise is diluted before it starts. According to Planyard, manual CVRs often require multiple days to compile - and by the time they are distributed, the underlying data has already moved on.
Month-end reporting hides committed exposure
If your CVR only pulls from the accounts package, it shows invoiced cost - not the full position. Purchase orders raised but not yet invoiced are real commitments. If they are absent from the forecast, the margin figure is overstated until the invoices arrive.
What the job record needs to show as work happens
The fix is not a more elaborate spreadsheet. A better template still snapshots a single point in time, and building it with more lines does not close the gap between when something moves on site and when it appears in the report.
What changes the picture is a job record that updates as the work happens. When a purchase order is raised, the committed cost position moves. When an application is submitted, the value side moves. When a variation is agreed, both sides are updated. The commercial position is not a calculation produced at month-end; it is a running total of activity that has already been recorded in the system.
Zigaflow's project tracking and reporting features give construction contractors a live view of costs, committed purchase orders, and milestone-linked applications across every active job. There is no separate data-collection exercise to run. The position is visible because the underlying data - purchase orders, invoices, variations, applications - is already in the job record.
On a subcontract-heavy project, that matters package by package. The commercial team can see what each trade was procured for, what has since changed, what is accrued, and what it will genuinely take to finish - without rebuilding that picture every thirty days.
Check committed cost weekly, not monthly
On any job longer than three months, a weekly review of committed cost against the current application takes minutes when the data is live in the job record. The same check assembled from a spreadsheet requires a full rebuild. The guide to running a cost value reconciliation explains the commercial disciplines that make this practical.
The businesses that treat gross margin as a real-time indicator rather than a month-end calculation are the ones with enough time to act when something moves. The window to recover a margin problem is widest in the early weeks of a job. By the time the final account confirms what was lost, the conversation has already shifted from recovery to write-off.
Sources
- Construction Cost Value Reconciliation (CVRs) ExplainedPlanyard · accessed 2026-10-03
- Cost Value Reconciliation Best Practices For Main ContractorsBauwise · accessed 2026-10-03
- What Should Your Gross Margin Be For A Construction Business?Thomas Emlyn · accessed 2026-10-03