Blog
7 min read
How do you work out the margin you actually made on a job after variations? Use the final revenue and direct costs, not the tender totals.
Variations change both sides of the calculation. An approved variation can add revenue and cost. A rejected variation can still leave design, pricing, or abortive work behind. An unbilled variation adds cost without revenue. Disruption and remobilisation create direct costs that the variation price can miss.
To work out the margin you actually made on a job after variations, build one margin waterfall. Start with tender revenue and cost. Then add each later movement once.
Gross profit is project revenue minus the direct cost of delivering that project. Gross margin shows that profit as a share of revenue:
Gross profit = final project revenue - final direct project cost
Final gross margin = gross profit ÷ final project revenue × 100
Markup uses cost as its base. Margin uses revenue. They are not interchangeable. The Association of Professional Builders explains that a 25% markup on cost produces a 20% margin on revenue.
Project gross margin does not translate directly to gross margin on a company's profit and loss statement. Upsourced explains this distinction in its project margin guidance.
Choose your direct-cost policy before you calculate. Define how the worksheet will treat labour, materials, plant, and subcontractors. Apply the same policy to every job.
Copy the accepted tender revenue and its matching direct cost into a final-account worksheet. Do not replace the tender cost with the current cost yet. The baseline must remain visible.
Record these four tender figures:
This baseline answers one question: what margin did you expect before delivery changed? The final rows answer another: what margin did the work produce?
Keep tax outside both revenue and cost unless your accounting policy requires another treatment. Use earned project revenue rather than cash received. An unpaid invoice is a credit-control issue, but unbilled completed work is a project-margin issue. Ask your accountant how your accounts should recognise revenue. This article does not give accounting, tax, legal, or contractual advice.
If your tender cost is already unreliable, review why quotes go over budget. Keep that estimating error visible. Do not hide it inside a variation row.
Build a variation register before you touch the final margin. Give each change one status at the cut-off date. Use approved, rejected, or unbilled as separate commercial buckets.
Add the agreed variation value to revenue. Add all direct delivery cost for that work to cost. Use actual cost where it is complete. Use the latest committed cost for open supplier or subcontractor items, then mark it as an estimate.
An approved variation can improve revenue and still reduce the job's margin rate. That happens when its own margin is below the margin on the job before the change.
Add no revenue for a rejected variation. Add any direct cost already incurred before rejection. This can include surveys, samples, design work, supplier cancellation charges, or work that had to be removed.
Do not include the full proposed variation cost when the work did not happen. Include only the direct cost the job actually incurred.
Add no revenue for extra work that was delivered but never billed. Add its labour and material cost, plus plant and subcontractor cost. Keep this row separate from rejected changes. A rejected request has a recorded commercial decision. An unbilled variation is delivered work that never became approved revenue.
Use your own register and job records. Do not apply an unsourced industry figure to your business.
The cleanest prevention is to record variations agreed on site before work starts. For the final account, however, record what occurred. Do not rewrite the history to match the process you wanted.
The direct work in a variation is not always its full cost. A change can stop one activity, move labour elsewhere, delay a subcontractor, and require a second site visit.
Review each variation for these direct effects:
Only include an amount that you can tie to the job and support with a record. Use a diary entry, timesheet, supplier invoice, delivery note, or subcontractor charge as evidence. Do not add a general disruption percentage after you have already counted the underlying costs.
Put disruption in its own row. This prevents it from disappearing inside labour or preliminaries. It also shows whether later variation prices covered the operational effect of stopping and restarting work.
A sound change request process for fixed-price projects records cost and timing impact before approval. At closeout, compare that forecast with what delivery actually cost.
The figures below are illustrative. They are not a benchmark, target, quotation, or result from a real project. All values exclude tax.
The accepted tender had £200,000 revenue and £160,000 direct cost. Tender gross profit was £40,000. Tender gross margin was 20%.
| Margin waterfall row | Revenue movement | Cost movement | Running revenue | Running cost | Running gross profit |
|---|---|---|---|---|---|
| Accepted tender | £200,000 | £160,000 | £200,000 | £160,000 | £40,000 |
| Approved variations | +£24,000 | +£15,000 | £224,000 | £175,000 | £49,000 |
| Rejected variation work incurred | £0 | +£3,000 | £224,000 | £178,000 | £46,000 |
| Unbilled variation work | £0 | +£5,000 | £224,000 | £183,000 | £41,000 |
| Disruption and remobilisation | £0 | +£4,000 | £224,000 | £187,000 | £37,000 |
The final arithmetic is:
Final gross profit = £224,000 - £187,000 = £37,000
Final gross margin = £37,000 ÷ £224,000 × 100 = 16.5%
Approved variations first raised gross profit from £40,000 to £49,000. That movement alone looks good. Rejected and unbilled work, plus disruption, then removed £12,000. Final gross profit fell to £37,000, while margin fell from 20% at tender to 16.5% at completion.
That is the value of the waterfall: it gives a final percentage and shows where the difference arose.
Do not compare this illustrative result with a general construction benchmark. Access Group's UK construction margin guide discusses company-level sector margins. Those figures cannot replace a job gross margin that uses your own revenue and direct costs.
Now test every row against the records. A cost must appear once, under the reason that best explains it.
Start with the job cost ledger. Reconcile labour to approved timesheets. Check material and plant costs, plus subcontractor costs, against invoices and commitments. Find accruals for work received but not yet invoiced. Remove costs posted to the wrong job.
Then check revenue. Match approved variation values to the final account or billing schedule. Do not count a proposed value as revenue. Keep approved revenue when only the payment is late. Apply the revenue policy agreed with your accountant.
Watch for three common duplicates:
Use one control column for the source record and another for the ledger reference. The source explains why the movement belongs to a variation. The ledger reference proves where the final amount sits.
If the job is not complete, call the result a forecast final margin. The guide to spotting a job losing money before it finishes explains how to review that forecast during delivery. Reserve “final realised margin” for a cut-off where remaining revenue and cost are known or clearly accrued.
Keep the waterfall beside the closed job. Tag each negative movement as estimating error, approved change performance, rejected work, unbilled work, or direct disruption.
These labels turn one disappointing percentage into pricing evidence for your margin and profitability reviews. If approved variations repeatedly carry a low margin, revise the variation pricing method. If remobilisation repeats, add it as a priced variation task. If unbilled labour repeats, tighten the site capture process.
The same completed-job record can improve labour pricing. Compare each work package's quoted hours with actual hours, then calculate the effective hourly rate on fixed-price work. Change the next estimate only when the records show a repeatable cause.
Korrel carries estimated labour and costs into delivery. It then records time and expenses, with priced change requests, against the project. Start your free trial to keep the tender baseline and delivery movements in one project record.
RELATED READING:
Status meetings track progress. Margin reviews track money. Five numbers per live project, a threshold against each, and a named owner before anyone leaves.
The single-project sum takes a minute. The version that matters is the roll-up, where a handful of underwater jobs hide inside a perfectly healthy blended number.
The biggest invoice of your year is rarely your best project. Here is how to adapt client profitability analysis to a licence-heavy IT services cost base.
Korrel turns briefs into structured proposals, then tracks what each job actually costs.
START FREE TRIAL