Guide

How to track job costs and protect your margin

Most contractors find out a job lost money weeks after it's finished, once there's nothing left to do but write it down as a lesson. Here's how to set a proper cost plan and track it as the job runs, so you catch the problem while you can still fix it.

Every contractor has had the job that looked fine on the quote and then quietly bled money for six weeks before anyone noticed. It's rarely one big mistake. It's usually a dozen small ones - a variation nobody priced, a subbie order that crept up, labour hours that ran on and on - none of which showed up until the final account. The fix isn't cleverer estimating. It's tracking cost properly, as the job goes, not after it's finished.

Start every job with a proper cost plan, not a gut feel

Your quote is a price to the client. Your cost plan is a different document - it's what you actually expect the job to cost you, broken down so you can check progress against it as work happens. If you only have one number for "materials" and one for "labour" covering the whole job, you've got nothing to compare against until it's too late.

Break the cost plan down into at least four buckets for every job:

  • Labour - your own team's time, priced at your actual cost (wages, NI, pension), not what you'd charge a client for it.
  • Materials - priced off actual supplier quotes where you have them, not last year's rates.
  • Subcontract - every trade you're not doing in-house, ideally against an agreed order value, not a guess.
  • Prelims - site set-up, welfare, skips, plant hire, supervision time, insurance apportionment. This is the bucket most people forget to cost properly, and it's rarely small on anything beyond a few weeks.

Do this at the point you price the job, then keep the cost plan as the reference document for the life of the project. It's the yardstick everything else gets measured against.

Committed cost vs actual spend - the difference that catches people out

This is the single biggest reason jobs look fine right up until they don't. Actual spend is what's left your bank account or hit your accounts - invoices paid, wages run. Committed cost is everything you've already agreed to pay: purchase orders raised, subcontractor orders placed, materials on order but not yet invoiced.

If you only track spend, a job can look comfortably under budget for weeks while you're sitting on tens of thousands of pounds of committed cost that simply hasn't been invoiced yet. Then three supplier invoices and a subbie's interim application land in the same week, and the job that looked healthy is suddenly over. The spend didn't change - your visibility of it did.

The discipline is simple to state and easy to let slip: the moment you raise a PO or agree a subcontract order, it goes into the cost picture as committed, at its full value, before a penny has actually gone out. Your true position on any job at any point is actual spend to date, plus committed but not yet spent, against the cost plan. Anything less than that is a guess dressed up as a number.

Review budget against actual as you go, not at the end

A cost plan only earns its keep if you compare it to reality regularly. Reviewing budget vs actual once, at the final account, tells you exactly how you lost money and exactly nothing you can do about it. The review has to happen while the job is still running.

Two rhythms work well together:

  • Weekly, for every live job - a quick check: where are we against the cost plan on labour, materials, subby and prelims, and is committed cost included in that picture?
  • At defined stages - first fix complete, practical completion of a section, before final fix starts - a more thorough review, ideally before you commit to the next phase of spend.

The point isn't to produce a report nobody reads. It's to answer one question every week: is this job still going to make the margin we priced it at, and if not, why not?

Variations: cost them or they eat your margin

Variations are where margin quietly disappears on otherwise well-run jobs. The client asks for a change, you say yes because you want to keep them happy and keep the job moving, someone does the extra work, and it never gets written down as a cost against the job - because there was no instruction, no order, nothing to log. Three months later that labour and those materials are just part of your overall cost, dragging the whole job's margin down, and there's no way to see it was the variation that did it.

Every variation, however small, needs to go through the same discipline as the original scope: a description of the extra work, an estimate of what it will cost you, and - wherever possible - a written instruction or price agreed with the client before the work starts. If you can't get sign-off before the work happens (site reality sometimes forces your hand), at minimum log the cost against the job as soon as you know about it, so it shows up in your next weekly review rather than in the final account.

Catching overspend while you can still do something about it

The value of tracking committed and actual cost weekly, against a proper cost plan, is that overspend shows up as a trend, not a shock. If labour on the first fix is already running 15% over plan by week three of a six-week package, that's information you can act on: change the approach, have a conversation with the client about scope, tighten up supervision, or at minimum go into the next phase with your eyes open instead of hoping it evens out.

Find out at final account stage and your options are gone. You can't unspend labour hours or renegotiate a subbie order that's already been paid. Early warning is the entire point of tracking cost as you go - it turns a loss you discover into a problem you manage.

The markup vs margin trap

This one catches out people who've been pricing jobs for years. Markup and margin are not the same number, and mixing them up quietly erodes profit on every job you price.

Add a 25% markup to a cost of £1,000 and you get a sale price of £1,250. That looks like a healthy chunk of profit. But as a percentage of the sale price, that £250 profit is only 20% margin (£250 ÷ £1,250), not 25%. The higher the markup you think you're applying, the bigger the gap between what you assume and what you actually get:

  • 25% markup = 20% margin
  • 33% markup = 25% margin
  • 50% markup = 33% margin
  • 100% markup = 50% margin

If your business plan or your pricing targets are built around a margin percentage, but you're pricing jobs by applying that same percentage as a markup on cost, you are underpricing every job you win - consistently, and by a growing amount as your target percentage rises. Always price off cost using the correct formula for the margin you actually want: sale price = cost ÷ (1 − target margin). For a 25% margin on a £1,000 cost, that's £1,000 ÷ 0.75 = £1,333, not £1,250.

Labour is the number that runs away

Materials and subcontract cost are, for the most part, fixed the moment you place the order - you know the number. Labour is the one that moves every single day the job is on site, and it's the cost most businesses have the weakest visibility of in real time, because it depends on timesheets actually being filled in, checked, and fed back against the job.

A day here and a day there against a task doesn't feel like much when it happens. Add it up across a six-week job with three or four people on it and it's very easy to be 20–30% over your labour budget without anyone consciously deciding to let that happen. It's rarely one person cutting corners - it's snagging that takes longer than planned, access issues, waiting on other trades, and nobody totting up whether the hours going against the job still match what was priced.

The fix is unglamorous: time needs to be logged against the specific job and ideally the specific task, checked weekly, and compared to the labour line in the cost plan - not lumped into a general wage bill you look at once a month. If you're still relying on a paper timesheet and a spreadsheet at month end, this is the part of job costing most worth fixing first; job management software for project-based trades that logs time straight against the job removes a lot of the lag and guesswork - see how job costing and time tracking work together.

Work in progress and retentions: profitable on paper, skint in the bank

A job can be tracking to plan on cost and margin and still cause you a cash problem, because cost and cash are not the same thing. Work in progress - labour, materials and subbie cost you've incurred but not yet invoiced to the client - ties up cash until you bill it and get paid. Retentions, typically 2.5–5% held back until practical completion (and again until the defects period ends), tie up cash for months or years after the work is actually done.

On a single job this is manageable. Running several jobs at once, each with its own slice of uninvoiced WIP and retention sitting out there, can leave a genuinely profitable business short of cash to pay wages and suppliers this month, regardless of how healthy the margin looks on paper. Track WIP and retentions due as their own line alongside job cost - invoice promptly and on schedule, chase applications for payment properly, and know at any point how much of your money is sitting in jobs rather than in the bank.

A simple weekly cost review you can actually keep up

None of this needs to be elaborate to work - it needs to happen consistently. A weekly fifteen-minute review per live job, covering:

  1. Actual spend to date against the cost plan, by labour, materials, subby and prelims
  2. Committed cost not yet spent (open POs and subbie orders)
  3. Any variations from this week - costed and, ideally, signed off
  4. Labour hours logged against the job this week vs what was planned
  5. A one-line view: on track, at risk, or over - and what you're doing about it

That's it. It's not a finance department exercise - it's a site management one. The businesses that consistently protect their margin aren't the ones with the cleverest estimators; they're the ones that look at this every single week on every live job, so the first they hear of a problem is week three, not the final account. Whether you run that review on a spreadsheet or in dedicated job costing software, the discipline matters more than the tool - though the right tool makes the weekly habit a lot easier to sustain. If you're weighing up what that would cost against what a single overrun job costs you, it's worth a look at what's involved.

Common questions

What's the difference between committed cost and actual spend on a job?
Actual spend is money that's genuinely gone out - invoices paid, wages run. Committed cost is everything you've already agreed to pay but haven't yet: purchase orders raised and subcontractor orders placed that haven't been invoiced. If you only track actual spend, a job can look under budget for weeks while a large amount of committed cost is sitting unrecorded, then land all at once. Your true position is actual spend plus committed cost, together, against the cost plan.
How often should I review budget against actual cost on a live job?
Weekly, for every live job, as a quick check across labour, materials, subcontract and prelims. Add a more thorough review at defined stages - end of first fix, practical completion of a section, before final fix starts - ideally before committing to further spend. Reviewing only at the final account tells you how you lost money after it's too late to do anything about it.
Why is a 25% markup only a 20% margin?
Markup is calculated on cost; margin is calculated on sale price. A 25% markup on a £1,000 cost gives a £1,250 sale price, but the £250 profit is only 20% of that £1,250 sale price - a 20% margin, not 25%. If you price jobs by applying your target margin percentage as a markup instead, you'll consistently underprice every job. To hit a target margin, use sale price = cost ÷ (1 − target margin), not cost × (1 + target margin).
Run your projects in one place

BuilderDash is job management software for project-based trades - quotes, projects, job costs and CIS/VAT, without the spreadsheets.

Start free trial Book a demo