How to Calculate Job Costing: A Worked Example (Materials + Labour + Overhead)

To calculate job costing you add three things for a single job: direct materials, direct labour and a share of overhead. This post runs the full sum on a real example, shows how to build the overhead rate, and covers the estimate-versus-actual check that tells you whether the job actually made money.

A job cost sheet showing direct materials, direct labour hours and an applied overhead rate adding up to a total job cost

How to calculate job costing comes down to adding three numbers for one specific job: direct materials (the stuff that goes into it), direct labour (the hours people spend on it, at a loaded rate) and overhead (a fair share of the costs that keep the doors open but don’t attach to any single job). Total job cost = materials + labour + overhead. Everything else is detail on how you work out each of those three.

This is the how-to, not the definition. If you want what job costing is and why it beats averaging your costs across everything, that’s the hub: what is job costing. Here we do the sum. We’ll build an overhead rate from scratch, run a full worked example on one job, and finish on the check most people skip — comparing the estimate to what the job actually cost, which is the whole point of doing this at all.

Key Takeaways

  • The formula is simple: total job cost = direct materials + direct labour + applied overhead. The work is in getting each of the three honest.
  • Direct labour uses a loaded rate, not the wage. £14/hour on the payslip is closer to £20 once you add employer’s NI, pension, holiday and non-productive time.
  • Overhead is applied, not guessed — pick a base (usually labour hours), divide your annual overhead by the total hours, and you get a rate per hour you apply to every job.
  • A worked example beats a formula: our sample job comes out at £494.40 cost against a £700 quote, then the actuals land at £560.50, and that £66 swing is the lesson.
  • Estimate-versus-actual is the loop that pays for the exercise. A cost you never check afterwards is a guess with a decimal point.
  • Spreadsheets calculate one job fine; they fall apart when you need this across every open job, updated as materials and hours land, without re-keying.

Step 1: Add Up Direct Materials

Direct materials are anything that physically goes into the job or is consumed doing it — raw stock, components, consumables, bought-in parts. The rule is simple: if you can point at it and say “that’s on this job”, it’s direct.

List every material line, quantity times unit cost, and total it. Use what you actually pay, including delivery if it’s material to the number, not the list price you’d like to pretend you got.

For our worked example, a small fabrication job — call it a run of ten bracket assemblies:

  • Steel sheet: 12 kg at £2.40/kg = £28.80
  • Bar stock: 6 m at £3.10/m = £18.60
  • Fixings and fasteners: £22.00
  • Powder coating (bought in): £61.00
  • Consumables (discs, wire, gas): £14.00

Direct materials total: £144.40. Round if you like, but keep the detail underneath — you’ll want it when the actuals come in.

Step 2: Cost Direct Labour at a Loaded Rate

Direct labour is the time people spend directly making the job. The trap here is using the hourly wage. The wage is not what an hour of that person costs you.

An employee on £14/hour doesn’t cost £14 an hour of productive work. Add employer’s National Insurance, pension contribution, holiday and sick pay, and the fact that a paid year isn’t all billable hours, and the real figure — the loaded rate — is meaningfully higher. A common shape is £14 gross landing near £20 loaded, though yours depends on your on-costs and how many productive hours you actually get out of a paid year.

Work out your loaded rate once, keep it current, and apply it to hours. For our bracket job:

  • Cutting and prep: 3 hours
  • Welding and assembly: 5 hours
  • Finishing and QC: 2 hours

Ten hours at a loaded rate of £20/hour:

Direct labour total: £200.00.

Step 3: Build and Apply an Overhead Rate

Overhead is everything real that doesn’t attach to a single job: rent, power, machinery depreciation, insurance, the office and admin salaries, software, the coffee. These costs are as real as steel — they just don’t arrive with a job number on them. So you apply them.

The standard method has two parts. First, pick a base — the thing you’ll spread overhead across. For most workshops and production shops that’s direct labour hours, because labour hours track roughly with how much you’re using the place. Second, calculate the overhead absorption rate:

Annual overhead ÷ total annual direct labour hours = overhead rate per hour.

Say your annual overhead is £120,000 and your team logs 8,000 productive direct labour hours a year:

£120,000 ÷ 8,000 = £15 per labour hour.

Now apply it. Our bracket job used 10 labour hours, so:

10 hours × £15 = applied overhead: £150.00.

That’s the piece most spreadsheet-based costing gets wrong or skips. Materials and labour feel concrete, so they get counted. Overhead feels vague, so it gets a round-number markup that’s either strangling your quotes or leaking margin. A built rate fixes that.

Step 4: Total the Job Cost

Now add the three:

  • Direct materials: £144.40
  • Direct labour: £200.00
  • Applied overhead: £150.00
  • Total job cost: £494.40

That’s the cost of the ten-bracket run. If you quoted this at, say, £700, you’re looking at roughly £205 of gross margin, about 29%. If you quoted it at £520 because a competitor was sniffing, you now know — before you commit — that you’re working for £25 and the goodwill.

Scale the same logic to a bigger job. One with £600 materials, 22 labour hours and the same rates costs £600 + (22 × £20) + (22 × £15) = £1,370. Quote it at £1,750 and you know your margin the moment you send it, not the month after.

Step 5: Compare Estimate to Actual (The Step That Pays for This)

Here’s where job costing earns its keep, and where most businesses stop too early. The estimate above was a forecast. The job then happens in the real world, and the real world rarely reads the quote.

Suppose the bracket run actually ran like this: materials came in at £158 because steel had moved and one sheet was scrapped, and labour hit 11.5 hours because the welding fixture needed rework. Re-run the sum with actuals:

  • Actual materials: £158.00
  • Actual labour: 11.5 × £20 = £230.00
  • Actual overhead: 11.5 × £15 = £172.50
  • Actual job cost: £560.50

Against a £494.40 estimate, that’s a £66 overrun on one small job — 13% over. One job, shrug. But run the same 13% blind across a hundred jobs a year and you’ve got a structural margin leak you can’t see, because nobody ever put the estimate next to the actual.

The point of estimate-versus-actual isn’t to punish the shop floor. It’s to feed the next quote. If welding fixtures keep adding hours, your standard hours for that job type are wrong — fix the estimate, not the blame. That loop is the difference between job costing as a spreadsheet exercise and job costing as a tool that actually moves your margin.

Where the Spreadsheet Stops Coping

You can run every calculation above in a spreadsheet, and for one job you should — it’s the fastest way to learn the mechanics. The maths never gets harder than what’s on this page.

What gets harder is doing it live, across every open job, without re-keying. The overhead rate needs updating when costs or hours shift. Materials need to pull from what you actually paid, not a stale list, and labour hours need to arrive from wherever the work is logged rather than being typed in from memory a week later. The estimate-versus-actual comparison, the step that matters most, only works if the actuals flow in without someone chasing them.

Operators tell us the failure isn’t the formula, it’s the friction: by the time the numbers are gathered, the job’s shipped and the next quote’s already gone out at the same wrong price. The costing that would have saved the margin arrives too late to change anything.

That’s the point where a job costing software tool or one operations system built around how you work starts to pay. Not because the arithmetic is beyond a spreadsheet, but because a system can hold the loaded rate, apply overhead automatically, pull materials and hours as they land, and put estimate next to actual on every job while there’s still time to act. If your quoting is the weak link, micro estimating covers pricing small, repeat jobs fast without redoing this sum from scratch each time.

Build, Buy, or Build One System You Own

Honest take. The calculation on this page is not the hard part; a spreadsheet does it. If you’re costing a handful of jobs a month, stay in the sheet and get the loaded rate and overhead rate right. That alone beats what most businesses run.

Off-the-shelf job costing software buys you structure and saves the re-keying, and for a lot of shops that’s the right call. The ceiling shows up when the costing has to sit inside how you actually run, pulling from your stock, your time logs and your quotes, and the packaged tool wants you to work its way instead. You end up either bending your operation to the software or running it alongside the spreadsheet you never quite retired.

The third option is one operations system shaped to how you run, where costing isn’t a separate app but a view over the materials, hours and jobs you’re already capturing — and you own it. That’s the OpsMavix position: not a cheaper costing package, not an ERP, the practical middle where the estimate and the actual live in the same place and the margin stops leaking between tools. Start with the sum above. When the sum is right but keeping it right is the problem, that’s the signal it’s time to move.