On this page
Share
Link copied
Summarise this article with AI Short on time? Open this page in your assistant of choice and it will read the article and summarise it for you.

To calculate the cost of a manufacturing job, add the material, labour and machine time actually booked to that job, then add a share of overhead. Compare that total with the price you quoted and you have the job’s real margin. Most SME manufacturers can tell you their overall gross margin. Far fewer can tell you which jobs made money last month and which quietly lost it.

This guide walks through the calculation with a worked CNC example, shows where the margin usually goes, and explains why spreadsheets miss it.

The job cost formula

Job cost = direct materials + direct labour + machine time + overhead recovery.

Every line is the cost actually booked to the job, not the cost you assumed when you quoted it. Scrap and rework belong to the job that caused them. If you quote per part, divide the total by the good parts made, not the parts started, so scrap shows up in the unit cost. For the definition on its own, see our job costing glossary entry.

What goes into each line

Real labour time

Not a standard rate applied to an estimate, but the actual time operators book to the job. Clocking on and off jobs at the point of work removes the guesswork and the end-of-week timesheet reconstruction. Setup time, run time and rework all get attributed to the right job.

Machine time

For CNC and subcontract machining shops especially, machine time is often the largest real cost and the least visible. Capturing actual machine hours per job, separate from labour, is what lets you see whether a component is genuinely profitable once the machine cost is loaded in.

Material

Material booked against the job at the quantity actually used, including offcuts and scrap. If a job consistently uses more raw material than the bill of materials assumed, that is a costed fact you can act on, not a hunch.

Overhead

A sensible overhead recovery applied per job, usually per labour or machine hour, so the margin you see reflects the real cost of running the shop, not just the direct costs. Overhead is easy to ignore and expensive to forget.

Worked example: a batch of 50 CNC brackets

Here is an illustrative job. A subcontract machining shop quotes £1,500 for 50 aluminium brackets. The estimate assumes 1.5 hours of setup and 6 minutes per part, so 6.5 hours on the machine. Labour is costed at £24 an hour, the machine at £38 an hour, and overhead is recovered at £20 per machine hour. Material is £9.20 per part.

Cost lineEstimateActualVariance
Material£460.00
50 parts at £9.20
£487.60
53 parts, 3 scrapped
+£27.60
Labour at £24/hr£156.00
6.5 hrs
£234.00
9.75 hrs incl. 1 hr rework
+£78.00
Machine time at £38/hr£247.00
6.5 hrs
£332.50
8.75 hrs
+£85.50
Overhead at £20 per machine hour£130.00£175.00+£45.00
Total job cost£993.00£1,229.10+£236.10
Margin on £1,500£507.00 (33.8%)£270.90 (18.1%)−£236.10

On paper the job made a 33.8% margin. In reality it made 18.1%. Setup took 2.5 hours instead of 1.5, the cycle time ran at 7.5 minutes rather than 6, three parts were scrapped and remade, and an hour of rework went in at the end. None of that is unusual. What matters is whether anyone sees it.

If this bracket is a repeat part, the variance tells you exactly what to change: requote it at the real setup and cycle time, or fix whatever is slowing the setup down. Without the actual figures, the next batch gets quoted at the same price and loses the same money.

Work out the real cost of one of your jobs

Enter your material, labour, machine and overhead figures to see the true cost and margin on a job.

Try the free job cost calculator

Estimate vs actual: where your margin really goes

Every quote is a set of assumptions about time, material and machine hours. The problem is that nobody checks those assumptions against reality once the job is running. Accurate job costing closes that loop by putting estimate and actual side by side, as in the table above.

A job that took 14 hours instead of the estimated 9 is not just a one-off. It tells you the quoting rate for that part is wrong, the process has a bottleneck, or setup is being underestimated every time. We go deeper into tracking that variance in our guide to actual vs estimated job cost.

Part-level vs job-level job costing

Job-level costing tells you whether an order made money. Part-level job costing tells you which components inside that order made money. For anyone quoting per-component work, part-level is where the real decisions live.

A job can come out roughly on target overall while one part in the build is bleeding margin every time you run it. Blend everything to the job level and that part stays invisible. Cost it at the part level and you can see it, requote it, or redesign the process around it.

Why spreadsheets miss margin leaks

Spreadsheets are fine for an estimate. They are poor at capturing what actually happened. The data has to be typed in after the fact, usually from memory or paper, usually days later, usually by one person. By then the detail is gone.

The result is estimate-only costing. The spreadsheet shows what a job should have cost, never what it did cost, so the variance that reveals margin leaks is never calculated. A spreadsheet copes if you run a handful of near-identical jobs a month. The trouble starts when your job mix, volume or material prices change often. More on that in the hidden cost of running production on spreadsheets.

How to cost every job: a simple framework

  1. Start from the estimate. Record the quoted labour hours, machine hours, material and overhead as the baseline.
  2. Capture actuals as work happens. Book real labour and machine time at the point of work, and issue material against the job at the quantity used.
  3. Include scrap and rework. Attribute failed parts and rework time to the job so the true cost is not understated.
  4. Load overhead. Apply your overhead recovery rate so the figure reflects the full cost of production.
  5. Compare estimate to actual. Calculate the variance on each cost line, per job and per part.
  6. Act on the variance. Requote the parts that lose money and fix the process steps that overrun. Then repeat.

The framework is simple. The hard part is capturing accurate actuals without adding admin, which is exactly the job software should do for you.

Key takeaways

  • Job cost is material, labour, machine time and overhead actually booked to the job, compared against the quote.
  • The useful number is the variance between estimate and actual, line by line.
  • Part-level costing finds the loss-making components that job-level totals hide.
  • Scrap and rework belong to the job that caused them, or your unit cost is understated.
  • Spreadsheets cost the estimate. Only data captured on the shop floor costs what actually happened.

How DynamxMFG handles job costing

DynamxMFG records labour and machine time as operators clock on and off each operation, issues material against the work order, and logs scrap and rework against the job that caused them. Estimate and actual sit side by side for every job and every part, so a variance like the one in the example shows up while the job is still running, not weeks later.

“DynamxMFG enabled us to monitor machine time and see whether we’re making a profit or loss on each component,” says Paul B, Managing Director at GMC, a precision CNC machining business.

See how job costing works in DynamxMFG, or book a short demo to see it on your own jobs.

Frequently Asked Questions

Job cost equals direct materials plus direct labour plus machine time plus overhead recovery. Add those four for everything booked to the job, including scrap and rework, then compare the total against the quoted price to get the real margin. Divide by good parts made to get a true unit cost.

Start from the quoted estimate, then capture actuals as work happens: labour and machine time booked at the point of work, material issued at the quantity used, plus scrap and rework. Load your overhead recovery rate, then compare estimate to actual to find the variance on each cost type, per job and per part.

Job-level costing tells you whether a whole order made money. Part-level job costing tells you which individual components inside that order made money or lost it. Part-level is more useful for shops quoting per-component work, because a single loss-making part can hide inside an order that looks fine overall.

Spreadsheets only capture the estimate, not what actually happened, because the real data has to be typed in later from memory or paper. That means the variance between quoted and actual cost is never calculated, so margin leaks stay hidden. Broken formulas, version chaos and no live shop floor link make the numbers drift from reality.

No. A focused MES with part-level costing captures labour, machine time and material cost against each job without the price or timescale of a large ERP project. DynamxMFG is priced for UK SME manufacturers. Book a walkthrough for a quote based on your own shop.

Related reading

Written by Tom Drury

Marketing at TotalControlPro. Tom writes the practical guides on this blog, from shop floor visibility and job tracking to what MES, ERP and MRP actually mean for a UK SME manufacturer. Most of it comes from working alongside the engineers and operations managers who use DynamxMFG every day.

See it running on your own shop floor data

A 30 minute call, a live look at DynamxMFG, then we configure it on your data and show it back to you.