# How to work out the margin you actually made on a job after variations
Source: https://korrel.ai/blog/calculate-final-job-margin-after-variations
Published: 2026-09-08
Updated: 2026-09-07
Topic: how to work out the margin you actually made on a job after variations
Tags: margin-and-profitability, construction
---
## Key points

- Final realised margin uses final earned revenue and every direct delivery cost, not the tender totals.
- Approved, rejected, and unbilled variations need separate rows because each affects revenue and cost differently.
- Disruption and remobilisation costs belong against the change that caused them, even when the client does not pay for them.

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.

## What is gross margin, and how does it differ from markup?

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](https://blog.associationofprofessionalbuilders.com/how-much-is-a-builders-margin) 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](https://blog.upsourcedaccounting.com/evaluating-project-margin).

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.

## Freeze the tender baseline

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:

- accepted tender revenue, excluding tax;
- estimated direct labour cost;
- estimated material, plant, and subcontractor cost;
- tender gross profit and margin.

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](/blog/why-quotes-go-over-budget). Keep that estimating error visible. Do not hide it inside a variation row.

## How should you classify each variation?

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.

### Approved variations

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.

### Rejected variations

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.

### Unbilled variations

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](/blog/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.

## Add disruption and remobilisation cost

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:

- paid idle time while the team waited for a decision;
- extra supervision or coordination hours;
- additional plant hire or scaffold time;
- supplier cancellation, return, or redelivery charges;
- travel and setup for a return visit;
- protection and opening-up work, plus removal and reinstatement;
- overtime or premium labour used to recover the programme.

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](/blog/change-request-process-fixed-price-projects) records cost and timing impact before approval. At closeout, compare that forecast with what delivery actually cost.

## How do you work out the job margin actually made after variations?

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](https://www.theaccessgroup.com/en-gb/construction/resources/construction-profit-margins-uk/) discusses company-level sector margins. Those figures cannot replace a job gross margin that uses your own revenue and direct costs.

## Reconcile the final account without double counting

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:

1. Labour appears in the main job-cost total and again in the unbilled variation row.
2. A subcontractor's variation invoice appears under approved work and disruption.
3. A supplier credit reduces material cost but the original gross charge remains in a separate change row.

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](/blog/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.

## Use the result on the next job

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](/blog/topics/margin-and-profitability). 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](/blog/effective-hourly-rate-fixed-fee-projects). 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](https://app.korrel.com/signup) to keep the tender baseline and delivery movements in one project record.
