Nextrun
Job costing

Why your ERP says a job made money when it did not

October 5, 20268 min read

Most shops have a job costing report. Fewer trust it, and the ones that do not trust it are usually right. The errors are predictable, and they almost all push in the same direction: jobs look more profitable than they were.

Why the direction matters

If job costing were randomly wrong, it would still be usable in aggregate. The errors would cancel and the average would be informative. That is not what happens. Nearly every common job costing error understates cost, which means the report consistently flatters the work.

The consequence is not academic. Quoting is calibrated against job costing history. If that history says a class of work runs at thirty percent margin when it actually runs at twelve, the shop will quote more of it, win more of it, and get busier while making less money. Owners describe this as working harder for the same result, and it is usually the first symptom of a costing problem rather than a market problem.

The five common causes

1. Labor booked to the wrong job

This is the largest single source of error in most shops. An operator runs three jobs in a shift and clocks all eight hours to the first one, or to whichever job is still open on the terminal. The hours are captured, so total labor reconciles against payroll and nothing looks wrong at the shop level. At the job level, one job carries hours it never consumed and two carry none.

The tell is a costing report where some jobs show implausibly low hours against their routing while others show large unexplained overruns. If overruns and underruns cluster by operator or by work center rather than by part, the problem is booking, not estimating.

2. Setup absorbed into run

Where setup and run are not clocked separately, every repeat order inherits the setup cost of the first one, or none of them do. A part that is profitable in quantities of two hundred and loses money in quantities of ten will show a single blended margin that is true of neither case. The shop then quotes the next order of ten using a number derived from a run of two hundred.

3. Rework invisible

Rework hours that go back against the original operation, with no separate code, disappear into the run time. The job absorbs the cost but the report gives no indication that it happened. Over a year the shop loses the ability to tell which customers, parts or processes generate rework, which is precisely the information needed to price or fix them.

4. Burden rates set once and never revisited

Many shops carry a single shop-wide burden rate, or a set of work center rates that were calculated during an ERP implementation years ago. A manual welding bay and a five-axis machining center do not carry the same overhead per hour, and a shop that treats them as if they do will systematically overstate the cost of the cheap work and understate the cost of the expensive work.

5. Outside services and freight landing late or nowhere

Plating, heat treat, powder coat and inbound freight often post against the job weeks after it shipped, if the invoice is matched to the job at all. The costing report is read at month end, before those costs arrive, and the job is recorded as more profitable than it finished.

How to find out which apply

A diagnostic that takes a morning and requires no new software:

  • Pull the last fifty closed jobs with actual against estimated hours per operation.
  • Sort by variance. Look at the twenty worst in each direction.
  • For each, ask whether the variance is credible. A job showing two hours of actual against twelve estimated did not run in two hours. The hours went somewhere else.
  • Group the implausible ones. If they cluster by operator, booking is the problem. By work center, the rate or the standard is wrong. By customer, the work is genuinely harder than quoted and the quoting is the problem.
  • Separately, check how many of the last fifty jobs have outside service costs posted against them, and compare that to how many actually went out for service.

That exercise will not fix anything, but it will tell an owner which of the five is costing the most, which is the only basis for deciding what to fix first.

What accurate costing is worth

The value of fixing job costing is not the report. It is what becomes possible once the report can be trusted.

Quoting calibrates against reality rather than against a flattering history. Customer profitability becomes visible, and it is frequently a surprise: the largest customer by revenue is not always the largest by contribution, and a shop that cannot see this will defend the wrong relationship. Part-level profitability makes it possible to decline repeat work that has quietly stopped paying, which is one of the few levers that improves margin without requiring more sales.

None of that is available to a shop whose costing report overstates margin by fifteen points, and most of them do.

The order to fix it in

Labor booking first. It is the largest error and everything else is measured against it. Fixing it is mostly a matter of making it easier for an operator to book to the right job than to the wrong one, which is a workflow and interface problem rather than an accounting one.

Then setup and run separation, then rework codes, then burden rates. Outside services last, because it is the smallest of the five in most shops and the easiest to work around manually in the meantime.


Request a demo

Nextrun rebuilds job costing against the ERP data a shop already holds, starting with how labor reaches the job in the first place.