Estimated vs Actual Job Costing for Label Converters

The invoice that doesn't match the quote, and nobody knows why
A 5-color, 12,000-foot label job comes off press. It was quoted at a healthy margin. The customer pays on time, the job ships, everyone moves on. Three weeks later, during a slow afternoon, someone pulls the job jacket next to the original estimate and realizes the makeready alone ran two hours longer than budgeted — on a job that "made money." Nobody flagged it, because nobody looked. The invoice went out at the quoted price, the cost accounting happened nowhere, and the only record that the job actually cost more than planned is a run sheet with a start and stop time nobody transcribed anywhere useful.
This is not a story about a bad estimator. It's the default state of a converter that has a quoting spreadsheet but no closed loop back to what the press floor actually did. The estimate is a guess, informed by history — but if nothing ever checks the guess against the outcome, the guess never improves, and the shop's actual margin quietly drifts away from its quoted margin, job after job, until someone notices the bank balance doesn't match the win/loss report. By the end of this piece you'll be able to build that loop yourself: capture the actual, compare it to the estimate line by line, and read the variance for what it's telling you instead of just knowing that a job missed.
What "estimated vs actual" actually compares
Estimated-vs-actual job costing is not a single number ("we thought $1,850, we billed $1,850, we're fine"). It's a structural comparison between the cost model you built at quote time and the cost the job actually generated, broken into the same line items on both sides:
- Plate cost (per colour, amortised or full-cost depending on your policy)
- Makeready time and waste (in minutes and in substrate consumed before first good label)
- Run time at the achieved press speed (not the speed curve you quoted)
- Substrate consumed, in the actual pricing unit — MSI (thousand square inches) is the standard US unit for roll-fed label substrate, and it's worth tracking actual MSI used against quoted MSI separately from waste, because they drift for different reasons
- Die and tooling amortisation, if the job carries its own die cost
- Labour and overhead, loaded at your shop's hourly rate
If all you compare is the bottom-line quoted price against the bottom-line invoiced price, you learn only that a job missed — you learn nothing about which element moved. That's the difference between estimated vs actual job costing as a diagnostic tool and a P&L that simply confirms, after the fact, that margin eroded. For a broader look at the mechanics of why jobs quietly lose money in the first place, see why is my printing job losing money.
Building the estimate side: the five line items that can drift
Before you can compare anything, the estimate has to exist in the same shape as the actual will. If your quote is a single lump-sum number typed into an Excel cell, there's nothing to compare against — you can't tell whether a $220 miss came from makeready, waste, or an underpriced die. The estimate needs to carry its assumptions forward, not just its total:
- Plate cost per colour. What did you assume per plate, and how many colours?
- Press speed by colour count. Flexo press speed drops as colour count rises, because more print stations mean more registration risk and more places for a web break or ink starvation to cost time — the estimate needs to record which speed curve point it used.
- Makeready allowance. How many minutes and how much waste substrate did the estimate assume before first good label?
- Substrate cost per MSI. What rate, and against what net order quantity?
- Hourly rate and overhead loading. What loaded rate did the estimate apply per press hour? If you haven't nailed this down as a real number rather than a round guess, budgeted hourly rate for a print shop walks through building one from your own cost structure.
Each of these five is a place where the actual can diverge from the plan for a specific, findable reason. A quoting engine that stores these as structured fields — rather than folding them into one typed-in total — is what makes the later comparison possible at all. This is the shipping core of FlexoCommand's flexo quoting engine: press-speed curve by colour count, per-colour plate cost, makeready waste, die amortisation, and MSI substrate pricing, all captured as their own fields so the job carries its assumptions forward instead of losing them the moment the quote is approved.
Capturing actual: what data you need at job close
The estimate side is the easy half. The actual side requires the press floor to record what happened, at a level of detail most shops don't bother with because nobody downstream ever asked for it. At minimum, job close needs:
- Actual makeready time (clock in to first good label)
- Actual waste substrate consumed during makeready and during the run
- Actual run time and the effective speed achieved
- Actual substrate used, net of waste, in MSI
- Any reruns, web breaks, or die changes that added time outside the original plan
None of this has to come from a new system layered on top of the press — it can come from the same job jacket or run sheet the operator already fills out, as long as someone transcribes it against the job record rather than filing it in a drawer. What matters is that the actual gets attached to the same job the estimate lives on, so the comparison is automatic rather than a forensic exercise three weeks later. FlexoCommand's order management and activity log capture this at the job level today — the estimated cost and the actual cost sit against the same order record, along with status history, so the comparison doesn't require reconstructing anything from separate paper.
Reading variance element by element, not just at the bottom line
Once both sides exist in the same shape, the useful question isn't "did we make money" — it's "which line moved, and by how much." A job that hit its quoted total can still be masking a real problem if a makeready overrun was quietly offset by a substrate price that came in under budget. That offset won't happen twice in the same direction, and if you never look inside the total, you won't see it coming.
You don't fix a margin problem by staring at the invoice. You fix it by finding which line moved — and asking why, before it moves the same way on the next ten jobs.
Look for patterns across jobs, not conclusions from one job:
- Makeready consistently runs long on a particular substrate or press — the estimate's makeready allowance is wrong for that combination, not just for this job.
- Waste consistently runs high on short-run jobs — the estimate may be applying a flat waste percentage that doesn't reflect how waste behaves on a 3,000-foot run versus a 30,000-foot run.
- A specific customer's jobs consistently run over on colour count or over on die changes — that's a pricing conversation with the customer, not a press-floor problem.
- One press consistently underperforms its quoted speed curve — the press-speed assumption in the estimate needs updating for that unit specifically.
This is where track profit by customer becomes the natural next layer: once you're capturing variance by job, rolling it up by customer tells you whose work is quietly subsidizing whose. And if the pattern you're seeing looks like slow, job-by-job erosion rather than one bad job, label converter margin erosion covers the broader diagnosis.
A worked example: the job that "broke even"
Here's a simple worked example with round numbers, to show the method rather than assert a fact about your shop.
Say a job is quoted at $1,600: $300 in plate cost, $150 in makeready (30 minutes at a $150/hr example loaded rate, budgeted for this shop's example calculation only — confirm your own loaded rate before using it), $700 in substrate at a quoted MSI rate and quantity, and $450 in run time at the quoted press speed.
The job invoices at $1,600 as planned — on paper, a clean win. But the actual breakdown looks like this: plate cost matches at $300. Makeready actually took 50 minutes, not 30 — a $100 overrun at the same example rate. Substrate came in $80 under budget because the actual MSI consumed was lower than estimated (a tighter nest, less trim waste than assumed). Run time came in $20 over, because the press ran slightly under its quoted speed curve for that colour count.
Net: a $100 makeready overrun and a $20 run-time overrun, offset almost exactly by an $80 substrate underrun — landing the job within $40 of its estimate. On the bottom line, this job looks fine. Element by element, it's telling you the makeready allowance on this substrate is undercosted by roughly 20 minutes, every time. Multiply that across every similar job this month and the "invisible" $100 becomes a real, recurring drag on margin that a bottom-line-only comparison would never surface.
This is the core argument for print job costing estimated vs actual done at the line level rather than the total level: the total can lie by cancellation. The lines can't.
What a spreadsheet can and can't do here
None of this requires exotic software to attempt. A shop with a well-built Excel workbook can absolutely track estimated versus actual by line item — plenty do, and it's free, and it works right up until someone forgets to copy a formula down a new row, or the estimator who built the workbook leaves and the next person can't tell which cell drives which number. The honest case against Excel here isn't that it's incapable; it's that the comparison only happens if someone remembers to do it, manually, job by job, and keeps doing it for the pattern to emerge across months of jobs.
What a structured system changes is not the math — it's whether the comparison happens automatically, on every job, without depending on someone's discipline on a Friday afternoon. FlexoCommand's estimated-vs-actual job costing sits on the same order record as the original quote today: once the actuals are entered, the variance is visible immediately, by line, on the job — and rolls up into win/loss reporting across the shop without a separate spreadsheet reconciliation. If you'd rather start with the manual version and build the discipline first, the Label Converter Job Costing Workbook is built for exactly that line-by-line comparison, no software commitment required.
Turning the pattern into a pricing fix
The point of any of this isn't to audit past jobs for sport — it's to feed what you learn back into the next estimate. If makeready on a particular substrate consistently overruns, the fix is a corrected makeready allowance in the estimating model, not a stern note to the press operator. If one customer's jobs consistently carry more die changes than quoted, the fix is a pricing conversation or a revised estimate template for that account. Estimated-vs-actual costing only pays off if the variance you find changes the next quote — otherwise you've built a very precise record of the same mistake happening forever.
If your estimating process itself needs a rebuild before any of this variance tracking will mean much — because the estimate doesn't yet carry plate cost, makeready, and speed curve as separate assumptions — start with the complete guide to label estimating and come back to variance once the estimate side is solid. And when you're ready to stop reconciling by hand, FlexoCommand's trial lets you run a real job through the flexo quoting engine, close it out with actuals, and see the line-by-line variance the same afternoon.
Get the next guide in your inbox
Flexo estimating guides and digital press cost breakdowns, when we publish them.