In most job shops, fabrication businesses and make-to-order manufacturers, nobody knows what a job really cost until well after it has shipped, and often nobody ever finds out. The quote lives in a spreadsheet, labour sits on time sheets or clock cards, material gets pulled off the rack without being booked to the job, scrap and rework go unrecorded, and the subcontractor's invoice for galvanising or laser cutting turns up three weeks later. Because the quote and the actual are never put side by side, the same underquoting happens again on the next job.
Picture an ordinary week. The estimator quotes a run of brackets and a handrail job from the same spreadsheet they've used for years. The workshop gets the job traveller, cuts and welds, and the leading hand grabs extra plate when the first lot gets cut wrong. Someone fills in time sheets on Friday from memory, against whichever job was busiest. The parts go out on the truck, the invoice goes to the customer, and everyone moves on. At month end the profit and loss looks thinner than expected, and nobody can say which jobs did it.
Signs you have this problem
- The quote and the job cost are in different places, and nobody ever lines them up after the job is done.
- Time sheets or clock cards record hours for payroll, not hours against a job number and operation (cutting, welding, folding, machining, assembly, paint).
- Material is issued off the floor without a record. Offcuts, extra sheet and "just grab another length" never reach the job.
- Scrap, rework and remakes aren't logged, so a job that was made twice looks the same as one made once.
- Subcontract work (galv, powder coat, laser, machining) is billed weeks later and lands in general expenses, not against the job.
- Your estimator prices from rates that haven't been checked against actual results in a long time.
- The work order or job card is paper and stops being updated the moment it hits the floor.
- Month-end margin surprises you, and the explanation is always "a few jobs went bad" without naming which ones.
If several of these sound like your workshop, you're quoting from memory, not from evidence.
Why it happens
This isn't usually a people problem. Your estimators, supervisors and bookkeeper are all doing their part. The trouble sits in the gaps between them.
The quote is built one way and the costs are recorded another. The estimate breaks a job into material, cutting time, weld time, finishing and outwork. The accounting system records purchases by supplier and wages by pay run. Nothing translates one into the other, so a line-by-line comparison means rebuilding the job from scratch.
Labour is captured for payroll, not for costing. Clock cards and time sheets answer "how many hours do we pay this person?" They rarely answer "how many hours went into job 4127, and on which operation?" Once hours are lumped together, the most variable cost in a job shop is effectively invisible.
Material moves faster than paperwork. Stock gets bought in bulk, sits on racks, and is pulled as needed. Unless issuing material to a job is quick and expected, it doesn't happen. The job looks cheaper than it was, and your stock figure drifts.
Scrap and rework have no home. There's rarely a simple way to say "we cut this twice" or "this came back from the customer for a fix". So the cost exists, but it's spread across everything.
Outwork arrives late and gets coded wherever it's easiest. By the time the galvaniser's invoice is entered, the job has shipped and been invoiced, and the bookkeeper may not know which job it belonged to.
Buying another app rarely fixes it on its own. A new quoting tool, a time-clock app or a stock app can each do their piece well. But if the quote, the hours, the material issues and the supplier bills still don't share the same job number and cost structure, you've just moved the problem to a new screen. The fix is in how the information flows between people and systems, not in any single product.
What it costs you
You can't see which jobs make money. Without a reliable job cost, the profitable work and the loss-making work look the same. You can't push the right work or walk away from the wrong customers.
Underquoting repeats. For example, if your weld time on stainless handrail is consistently higher than the estimate allows, and no one ever checks, every new handrail quote carries the same error. The business keeps winning the work that loses money.
Margin disappears quietly. Unrecorded material, rework and late outwork don't stop being costs because nobody logged them. They come out of profit at month end in a lump nobody can explain.
Cash timing suffers. When outwork and extras aren't tied to the job before it ships, they can be missed on the customer invoice. Chasing them later is awkward, and often doesn't happen.
Stock and WIP figures can't be trusted. If material is pulled without being booked, your stock on hand and the value of work in progress in the accounts are both estimates, which matters for month end, for the bank and for your accountant.
It depends on key people. Often one estimator or the owner carries "the real numbers" in their head. When they're away, or when they leave, that knowledge goes with them.
What fixing it generally involves
Start simple. Many businesses get a long way before any new system is involved.
- Agree on one job number and one cost structure. Use the same cost categories in the quote as in the job costing: material, labour by operation, outwork, consumables. If the quote has these lines, the actuals should have the same lines. This one change makes the comparison possible.
- Capture labour against the job and operation. That might be a job code on the time sheet, a tablet at the workstation to start and stop jobs, or scanning the job card. The method matters less than doing it at the time, not on Friday afternoon.
- Make material issues quick. If issuing material to a job takes more effort than walking to the rack, it won't happen. A simple issue sheet per job, or a scan at the rack, is enough to start.
- Give scrap and rework a code. Even a basic "rework" or "remake" entry against the job turns a hidden cost into something you can see and talk about.
- Raise purchase orders for outwork against the job. When the galvaniser or laser cutter's bill arrives, it matches a PO that already carries the job number, so it lands in the right place even if it's late.
- Review quote vs actual when each job closes. A short look at each category, side by side, with the estimator in the room. Then update the quoting rates. Our post on comparing estimate vs actual walks through running this review.
Be honest about what your current systems can do. Sometimes the accounting system, or the manufacturing or job management software you already own, can do most of this with the right setup, and the main work is agreeing how the process should run. Our guide to manufacturing costing with Xero or MYOB explains how labour, overhead and WIP should reach the ledger.
Where the pieces genuinely don't talk to each other, the next step is connecting them: the quote, the job card, the time capture, the material issues and the supplier bills sharing one job record, so information is entered once and a quote vs actual report comes out of one place, even while the job is still on the floor. That's the work we describe on manufacturing job costing, and the wider picture is on our manufacturing industry page and the inventory, wholesale and manufacturing systems guide.
If this sounds like the broader problem of not seeing job profit until it's too late, that page covers the pattern across industries.
Frequently asked questions
Why don't our job costs match our quotes?
Usually because the quote and the costs are recorded in different structures and at different times. The quote is built by operation and material; costs arrive by supplier invoice and pay run. Labour isn't booked to jobs, material is issued without a record, and outwork arrives after the job ships. Until all of those share the same job number and categories, they won't line up.
How do we track labour hours per job in a fabrication shop?
Record hours against the job number and the operation at the time the work happens, not at the end of the week. A job code on the time sheet is the simplest start. Start-stop on a tablet or scanning a job card works better as volume grows. The key is that the hours feed your job costing, not just payroll.
Should scrap and rework be charged to the job?
Yes, for your own costing, even when you can't pass it on to the customer. Recording it against the job shows you where remakes happen and what they cost, which is the only way to fix the cause.
Do we need new software to fix job costing?
Not always. Often the first gains come from agreeing a cost structure, capturing labour and material against jobs, and reviewing quote vs actual. New or connected systems help when the volume of jobs makes manual capture unrealistic, or when the existing systems can't share a job record.
If your workshop only finds out what a job cost after the truck has left, we can talk it through. Book a free initial chat and we'll look at where your job costs are getting lost.