Skip to main content
FabWise

Track every hour against the right job — purpose-built for fabrication shops.

Start Free Trial

30 days · No credit card required

Actual vs. Estimated Labor Hours: Tracking the Variance in Fab Shops

Labor variance — the gap between the hours you quoted and the hours you actually worked — is where fabrication shop profit goes to die. The math is simple: if you quoted 40 hours and spent 52, you absorbed 12 hours of unbilled labor. Multiply that across jobs and the margin erosion becomes structural. The problem isn't the overrun itself. It's that most shops don't see it until the job is closed and the invoice is already out.

Where the Estimates Come From

Every job starts with an estimate. The estimator reviews the job scope — material specs, drawings, operation sequence — and translates it into hours: 12 hours of welding, 8 hours of fitting, 6 hours of finishing, 4 hours of inspection. That's 30 hours total, and the quote price reflects it.

The estimate is a commitment. The customer priced against it. Your margin depends on it. If the actual hours come in above the estimate, you worked for less than you planned. If they come in well below, you may have over-quoted — which is a different problem, but still a signal worth catching.

The critical issue is that estimates for future jobs are typically built from estimates on past jobs. If you don't have accurate actual hours per job, you're quoting from compounding guesses. The job costing literature has established this feedback loop problem for decades: quote accuracy depends on historical data quality, and historical data quality depends on whether actuals were captured at the job level.

Where Actuals Come From (and Where They Don't)

In shops running paper time cards or generic time tracking tools, actuals are not captured per job. They're captured per worker per week.

A time card tells you: "Marcus worked 40 hours this week." It does not tell you how those 40 hours were distributed across the three jobs Marcus touched. That distribution has to be reconstructed — by the shop manager, on Friday afternoon, from memory and partial notes. The reconstruction is an estimate. It's not a record.

Even shops that use job numbers on time cards run into this: workers fill out the job code at the end of the day, approximating how they split their time. Those approximations accumulate into a cost record that looks precise but is, in practice, a series of educated guesses.

The result is that variance — the delta between estimated and actual — is invisible until the job closes. And by then, the decisions you could have made to respond to the overrun are no longer available.

The Fabrication-Specific Problem

Most job costing guides treat this as a straightforward tracking problem. They're not wrong, but they understate how hard it is in a fabrication environment specifically.

In a fab shop, workers move between jobs within a single shift. A welder starts the morning on Job #5012, pulls off at 10:30 to help fit a rush piece on Job #4891, comes back to #5012 after lunch. That's three segments on two jobs in one shift. A time card system can't capture that cleanly. A generic app captures clock-in and clock-out but has no mechanism for mid-shift job switching.

The National Institute of Standards and Technology's Manufacturing Extension Partnership identifies labor cost tracking as one of the most common operational gaps in small and mid-sized manufacturers — and specifically notes that shops running job shops (custom work against per-job estimates) face the highest exposure when actuals aren't captured at the job level.

When actuals can't be attributed to jobs in real time, variance analysis isn't just delayed — it's structurally impossible. You can't compute the delta between 40 estimated hours and 52 actual hours if you don't know how many actual hours the job received.

What Real-Time Variance Visibility Looks Like

The alternative is capturing actuals at the moment labor is performed: worker selects job and task at clock-in, clock-out records the end of the segment. Every hour is attributed to a specific job and task as it happens. Nothing to reconstruct at week-end.

With that data, variance is computable at any point in the job's life — not just at close.

Here's a concrete example of what that changes:

A structural steel job was quoted at 40 hours: 18 hours welding, 14 hours fitting, 8 hours finishing. After three days, the job shows 38 hours logged. But two operations remain — fitting has 6 hours left against a 14-hour budget, and finishing hasn't started. Total projected hours: 44+, on a 40-hour quote.

In a paper-based shop, that overrun isn't visible until the job closes. The shop discovers it at invoice time — or misses it entirely if nobody reconciles the time cards to the estimate.

In a shop using labor tracking at the job and task level, that 4-hour projected overrun is visible on day three. The shop manager can decide: accept the margin hit, talk to the customer, or adjust the remaining operation plan. The information exists when it can still drive decisions.

How Labor Burden Changes the Stakes

Hours are the input; burdened cost is the output that matters for job costing.

Labor burden — payroll taxes, workers' comp, benefits, and related overhead — typically adds 25 to 40 percent on top of base wages. A welder at $28/hour base costs $35–$39/hour fully burdened. When you're 12 hours over on a job, you're not losing 12 × $28. You're losing 12 × $35–$39. On a fabrication job with multiple workers, that gap compounds quickly.

Variance analysis that accounts for burden — not just raw hours — shows the actual margin impact of overruns. That's the number that should inform quoting decisions for future jobs.

FabWise captures hours per job and task. You apply your burdened rates to get to dollar figures — FabWise doesn't store pay rates or calculate cost automatically, because that data lives in your payroll system. The clean division is: FabWise owns the accurate hour count; you own the rate math.

What Breaks Variance Tracking — and How to Prevent It

Pooled actuals. The most common failure is time records that aren't attributed to jobs. Actuals pool by worker per period, and there's no clean way to disaggregate them. Job-level attribution at clock-in is the only fix — there's no workaround after the fact.

Retroactive reconstruction. Managers who estimate job hours from memory at week-end create data that looks like actuals but isn't. The variance you compute from reconstructed data is itself an estimate — the error compounds.

Missing task granularity. Total hours per job is a start, but it doesn't tell you which operations are running hot. If welding consistently blows its estimate but fitting comes in clean, that signal is buried without task-level breakdown. Task-level capture is what makes estimate refinement possible over time.

Silent edits to records. If a manager overwrites a time record to correct a wrong job code, and the original is gone, the audit trail is broken. Corrections should attach to records without overwriting them — both the original capture and the corrected value should be preserved, with the corrector's identity and reason on file.

From Variance to Better Quotes

The payoff for accurate variance tracking isn't just knowing what this job cost. It's quoting the next one more accurately.

If you've run 20 similar structural weldments and have accurate actual hours for each one, you know that "10-foot frame with four attachment points" takes between 28 and 36 hours depending on configuration, with a median of 31. Your next quote for that job type reflects that distribution — not an estimator's gut feel.

The FMI Corporation's construction industry benchmarks on estimating accuracy show a consistent pattern across project-based industries: shops and contractors that track actuals per job quote 15–25% more accurately over time than those that don't. Fabrication shops are project-based manufacturers — the same dynamic applies.

Variance is information. Captured at the job level, in real time, it tells you where your estimates are holding and where they're drifting. That's the data that separates shops that price confidently from shops that guess.

Ready to run a tighter operation?

FabWise tracks every hour against the right job — no manual reconciliation.

Start Free Trial

30 days · No credit card required