Reading the Labor Breakdown on a Job
The By Labor Code card shows what you quoted against what the work actually took, one line per kind of work — so "we went over" becomes "we went over on welding, and paint came in early."
Why it matters
A job that runs over tells you something went wrong. It doesn't tell you what.
The labor breakdown does. Because your crew tags every task with a labor code, and your quote is written in the same codes, FabWise can line them up: quoted welding hours against actual welding hours, quoted paint against actual paint.
That's the difference between "this job lost money" and "we quote welding too thin on this kind of work" — and only the second one changes what you do next time.
Where to find it
- Page: the job's Work tab
- Path: Admin → Jobs → a job → Work
- Card: By Labor Code, subtitled Percent of quoted hours used
- Who can see it: admins and managers
What you'll see
One row per labor code that has hours on this job. Each row shows:
- The labor code — Welding, Paint, Assembly.
- Actual hours — what your crew has tagged to that code so far.
- Quoted hours — what the quote said.
- A bar filling toward the quoted figure, so a code approaching its budget reads at a glance.
- Percent of quoted hours used — actual divided by quoted.
The bar is a progress bar against the quote, not a completion bar. A code at 100% has used exactly the hours you sold; past 100% you're spending hours you didn't quote.
While the job is still running
These numbers move. The card reflects what has been captured so far, so a job three days into a two-week build reads low everywhere — that's not "under budget," that's "not finished." The reading gets meaningful as the work does.
"No quote"
A code shows No quote when work has been tagged to it but the quote never included it.
That's worth a second look, and it's one of the more useful things this card surfaces. It usually means one of three things: the work is genuinely out of scope and should be a change order, the quote missed a step the job always needs, or somebody tagged a task with the wrong code.
All three are things you want to know before the job closes.
What to do with it
Mid-job
Scan for a code past 100% while there's still work left on it. That's a job heading somewhere you didn't plan, and it's the one moment where a conversation is cheaper than an invoice argument.
At close
Read the whole card as a note to your future self. A code that overran once is noise. The same code overrunning on the same kind of job three times is a quoting problem, and it's costing you on every job of that type — including the ones you haven't quoted yet.
That's the real return on tagging work by code: your quotes get better because you can see where they were wrong.
Common questions
Q: A code shows actual hours but no quoted hours. Is that a problem?
A: It means the quote didn't include that code. Sometimes it's scope creep, sometimes an estimating gap, sometimes a mis-tagged task. Worth checking which before the job closes.
Q: We quoted a code but nobody has logged hours to it. Where is it?
A: It appears with zero actual hours. If the work is genuinely done and the hours went somewhere else, a task is tagged with the wrong code — you can correct that on the shift.
Q: Why don't the hours here match the hours on the timecard?
A: The timecard is every hour a worker was on the clock. This card is only the hours tagged to a job task. Time spent on shop cleanup, setup, or waiting is real, paid, and not on a job — so it won't appear here.
Q: What if a labor code has no cost rate?
A: The hours still show. The cost won't — an unpriced code contributes nothing to job cost rather than a made-up number. See Labor Codes.
Q: Does this show money or just hours?
A: The card is hours-based, because hours are what you and your crew can act on. Job cost figures live elsewhere on the job.
Related
- Labor Codes — setting up your codes and their two rates
- Tasks and Time Tracking
- Managing Jobs
Last updated: 2026-08-29