How to job cost as a UK contractor: what goes into a job cost, a worked £40,000 example, the main methods, weekly checks and the mistakes that eat margin.

Job costing means recording every cost and every hour against the job that caused it, so you know what each job really made. You do it in three steps. Turn your quote into a budget, log costs as they happen, then compare actual with budget while the job is still live. This guide shows how, with a worked example in pounds and a weekly routine you can run without an accountant.
TL;DR
- Job costing assigns materials, labour, subcontractors, hire and a share of overheads to each job, so you see profit job by job, not just across the year.
- Price your labour at a fully burdened rate (employer National Insurance, pension, holiday pay), not the hourly figure on the payslip.
- Check each live job weekly: cost to date, cost to complete, forecast total against budget. Anything 5% or more over gets a reason and an action.
- Log costs the day invoices and timesheets arrive. Waiting for quarter-end is how margin disappears unnoticed.
- Feed what you learn into your next quote. That is where job costing pays for itself.
Table of Contents
- What job costing is, and why contractors need it
- The building blocks of a job cost
- Get your labour rate right first
- A worked example: a £40,000 rear extension
- Job costing methods: which one fits your work
- How to job cost a project from quote to close-out
- The weekly check that catches overruns
- Use job costs to price the next job better
- Common job costing mistakes
- Our view: keep job costing where the job lives
- Put job costing on rails with Pipeline
- FAQ
- Sources
What job costing is, and why contractors need it
Your accounts tell you whether the business made money. Job costing tells you which jobs made it and which quietly lost it.
A contractor who only looks at the bank balance can have three good jobs hiding one bad one. The bad one might be a loft conversion where the steel took longer to arrive, the labour overran and a subcontractor sent an invoice nobody expected. Without costs tied to the job, you find out at the end of the year, if at all. Job costing shows the true profitability of individual projects, so you can see which work to chase and which to price differently.
It is not the same as bookkeeping. Bookkeeping records money in and out for tax. Job costing answers a different question: did this job earn what we quoted?
The building blocks of a job cost
Every job cost is built from two groups.
Direct costs
Direct costs exist because of one specific job. They include materials, site labour, subcontractor invoices and plant or tool hire. In practice that means:
- Materials: timber, plasterboard, copper, cable, fixings, skips, delivery charges. Include the stuff you grab from the merchant on the way, not only the big order.
- Labour: your own staff and your own time as owner, valued properly (see below).
- Subcontractors: each invoice, after any Construction Industry Scheme deduction is accounted for.
- Plant and hire: scaffold, digger, access towers, specialist tools.
- Job-specific extras: permits, waste disposal, parking, testing, PPE bought for that crew. Even small items add up. A construction workwear guide shows how quickly crew kit becomes a real line on the budget.
Indirect costs (overheads)
Overheads keep the business running whether or not a job is on. Think rent, utilities, admin or bookkeeping salaries and general insurance. They are usually recovered by allocating them to jobs as a percentage of direct costs or labour hours.
Simple version: add up a year of overheads, divide by the labour hours you actually put on jobs, and you have an overhead cost per hour. Charge that per hour on every job. If you skip this step, every job looks more profitable than it is.
Get your labour rate right first
The most common hole in a contractor’s numbers is labour. Paying someone £20 an hour does not mean they cost you £20 an hour.
Labour hours should be logged against specific job codes at a fully burdened hourly rate, one that includes employer National Insurance, pension contributions and holiday pay. Add the hours they are paid but not on a job, such as travel to the merchant, training and weather days, and the true cost per productive hour goes up again.

If you are the owner and you work on the tools, cost your own time too. Put yourself on the job at a sensible day rate, even if you never pay yourself that way. Otherwise a job that “made £5,000” might simply have paid you £5,000 for a month’s work. Our day rate calculator helps you work out what a day of your time should be worth.
Subcontractors need a quick word. If you run CIS as a contractor, you usually deduct 20% from registered subcontractors and 30% from unregistered ones before paying them. For job costing, the full agreed invoice value is the cost of the job. The deduction goes to HMRC on the subcontractor’s behalf and does not make the job cheaper.
A worked example: a £40,000 rear extension
Here is how the numbers come together on a rear extension sold at £40,000. The figures follow a worked example from a UK construction accounting guide.
| Cost line | Amount |
|---|---|
| Materials | £11,000 |
| Labour (280 hours, burdened) | £9,500 |
| Subcontractor fees | £3,500 |
| Allocated overheads | £4,000 |
| Total job cost | £28,000 |
| Contract price | £40,000 |
| Gross profit | £12,000 |
| Gross margin | 30% |
The margin is gross profit divided by the price: £12,000 ÷ £40,000 = 30%.
Now look at what happens when things drift. Say materials come in £1,500 over and the labour runs to 330 hours at the same burdened rate. That is roughly £1,700 more on labour. Cost rises to about £31,200, profit drops to about £8,800, and the margin falls to 22%. Nothing dramatic happened on site. A few small slips took eight points off the margin, and you would not see it in a bank balance.
This is also why margin and markup are not interchangeable. A 30% margin needs a markup of about 43% on cost. Mixing the two up is a classic way to underprice. Our job pricing calculator lets you set the margin you want and see the price that delivers it.

Job costing methods: which one fits your work
Contractors use a handful of approaches. Most small firms end up combining two.
Actual cost job costing
You record what each job really cost, line by line, and compare it with the quote. This is the core method for any contractor with varied work, because every job has a different scope. It needs discipline, but it gives the most honest picture.
Estimated (budget) costing
You break the quote into a budget before work starts, with a figure per cost line. The budget is the benchmark that actual costs get measured against. Without it, you have totals but no way of knowing whether they are good or bad.
Trade package costing
You split the job into packages such as groundworks, roofing and first fix. Structuring budgets around trade packages makes it clearer where an overrun actually happens, which a single lump “materials” figure never will. This suits builders, extension specialists and anyone running multiple trades.
Unit or rate-based costing
You cost per square metre, per metre run, per fitting or per visit. It works well for repeatable work such as fencing, boiler swaps, bathroom fits and cleaning contracts, where past jobs give you a reliable rate. It falls down when site conditions vary a lot.
Time and materials
You charge for hours and materials as they happen, usually with a markup. Costing is simpler, because the price follows the cost, but the risk moves to your tracking. Miss a receipt and you have given the work away.
Which should you pick?
| Your work | Best fit |
|---|---|
| Extensions, refurbs, multi-trade projects | Estimated budget by trade package, tracked against actuals |
| Repeatable installs (fencing, boilers, bathrooms) | Unit or rate-based, checked against actuals |
| Repairs, call-outs, variable scope | Time and materials with strict logging |
| Recurring contracts (cleaning, maintenance) | Per-visit costing, reviewed quarterly |
Whatever you choose, the principle holds: a budget set before work, actuals logged during, a comparison before it is too late to act.
How to job cost a project from quote to close-out
This is the simple system most small contractors can run alongside the work.
- Turn the quote into a budget. Take the cost lines from the quote and make them the job budget. Keep the cost lines, not just the price, or you will have nothing to compare against.
- Give the job a code. One job, one reference. Every invoice, timesheet and receipt carries it.
- Log costs as they arrive. Allocate costs to job codes as soon as invoices come in, not at quarter-end. A merchant invoice that sits in your van for three weeks is a cost you cannot see.
- Log hours daily. Timesheets filled in on Friday from memory are guesswork. Mobile logging on site is far more reliable.
- Review weekly. See below.
- Record every change. Variations go on paper before the work starts.
- Close out. When the job finishes, compare quoted and actual margin, and note why they differ.
Quote versus estimate
Be clear in your paperwork about whether you are giving an estimate, which can change, or a fixed quote, which is a price commitment. It avoids disputes, and it shapes how tightly you need to track costs. On a fixed quote, every overrun is yours.
The weekly check that catches overruns
A budget is only useful if you look at it while there is still time to change something.
Once a week, for each live job, write down three numbers: cost to date, estimated cost to complete, and the forecast total. Compare the forecast with the budget, and give any line that is 5% or more over a reason and an action.
A few examples of what a reason and an action look like:
- Reason: first-fix electrics took four extra days because of undocumented wiring. Action: raise a variation with the client this week.
- Reason: the plasterboard order was priced before a merchant increase. Action: reprice the remaining orders and update the next quote template.
- Reason: labour is running ahead because the crew is travelling between two sites. Action: reschedule so one crew stays on one site per day.
The point is not to produce paperwork. It is to make a decision while you can still change the outcome.
Committed costs
Cost to date only shows what has already been invoiced. Committed costs are things you have ordered or agreed but not yet been billed for: a kitchen on order, a subcontractor booked for a fixed fee, a skip hire. Include them in your forecast, or you will think a job is healthier than it is.
Managing variations
Most overruns that hurt are scope changes that never got priced. Keep a formal record of every change order, who approved it and its impact on the original budget. A text message saying “yes, add the extra socket” is better than nothing. A priced, approved variation is better still.
Use job costs to price the next job better
The real payoff comes after the job closes. Keep a database of past project costs and use it to benchmark new estimates, and to justify your rates to clients who push back.
After five or six similar jobs, you will know things no textbook can tell you: what a typical bathroom refit costs you in hours, which supplier prices drift, which client types generate the most variations. That feeds straight into your pricing.
It also protects you from a common trap. Undercutting to win work erodes long-term sustainability, and job costing gives you the evidence to hold your price. If your last four jobs of this kind averaged 24% margin, you know exactly how far you can go before a discount becomes a loss.
Common job costing mistakes
- Forgetting your own time. If you are on the tools and not costing yourself in, the margin is fiction.
- Using the payslip rate for labour. Employer NI, pension and holiday pay all belong in the number.
- Skipping overheads. Jobs look profitable until the year-end, when the overheads are nobody’s.
- Logging late. Receipts and hours reconstructed from memory are always short.
- No budget, only totals. Without a benchmark you can see what you spent but not whether it was too much.
- Unpriced changes. Small extras done as favours become a margin problem across ten jobs.
- Building a system you will not use. Dedicated software or well-built spreadsheets both work, but only if you are disciplined about using them.
Our view: keep job costing where the job lives
We build Pipeline for UK trades and service businesses, and we see the same pattern. Job costing rarely fails because the contractor does not understand it. It fails because the information is scattered. The quote is in one place, the receipts are in a glovebox, the hours are in a group chat and the invoice is in an accounting package. By the time anyone adds it up, the job is over.
Our view is that costs should be recorded against the job at the moment they happen, from the phone, by the person who has the receipt in their hand. That is why we built expense tracking against each job into the same record as the quote, the schedule and the invoice. When the quote is the budget, comparing actual to estimate takes seconds.
We also think software should not punish you for growing. We charge a flat monthly price with no per-user fees, so adding an apprentice or an extra site lead does not push the bill up, and no one is tempted to leave people off the system to save money. A system with missing people has missing costs, and that is the end of accurate job costing.
If you already run your books in Xero, our guide on setting up Xero job costing for trades walks through the steps to make it trustworthy. And if you want to work out what a user-based tool would cost your team over a year, the per-user pricing calculator does the sums.
— Chris
Put job costing on rails with Pipeline
If you want the quote, the job budget, the costs and the invoice in one place, Pipeline does that for UK trades. Plans on our pricing page are flat monthly: Solo is £12 per month, Starter is £38 per month and Professional is £63 per month, with an Enterprise plan for larger businesses. There are versions of the workflow built for builders and HVAC firms, and when the job is done you can send the bill with online invoicing.
FAQ
What is the simplest way to start job costing?
Pick one live job and give it a reference. Write down the budget from your quote, then log every receipt, subcontractor invoice and day worked against that reference. At the end of each week, compare cost to date with the budget. Once that feels routine, roll it out to every job.
Do I need software, or will a spreadsheet do?
A well-structured spreadsheet can work for a handful of jobs, provided it is updated as costs arrive. Problems start when several people are buying materials and logging hours, because the sheet falls behind. Software that captures costs from the field removes that lag.
How do I include overheads in a job cost?
Add up your annual overheads, such as rent, insurance, admin wages and utilities, and divide by the productive hours you expect to work. Charge that hourly figure on each job. You can also allocate overheads as a percentage of direct costs, as long as you apply the same method to every job.
What is a good margin for a contractor?
It depends on your trade, your overheads and how much risk you carry on fixed-price work. Rather than aim at a generic figure, use your own closed jobs: work out the margin you actually achieved, and set a target that covers overheads and leaves a profit you are happy with.
Sources
- Construction Accounting: A Guide for UK Contractors (KG Business)
- Job Costing for Builders: A Simple System (BizMentor)
- Contractor Cost Estimates and Accurate Project Pricing (Accounting Wise)
- Construction Budgeting Systems for Small Builders (RapidQS UK)
- CIS contractors: make deductions and pay subcontractors (GOV.UK)