Contractor Guide

Construction job costing so every job tells the truth

Construction job costing is how you put every dollar of labor, materials, subs, and equipment onto the right job — in the same shape you estimated — so you can see which jobs make money and which ones don't. A company P&L that looks fine while three jobs are bleeding is not a mystery once job costing is honest. It is a setup and discipline problem.

Below: why job costing breaks, cost codes that match how you estimate, labor burden and equipment allocation, job costing in QuickBooks Online (step-by-step setup on that page), reviewing job profitability monthly, and signs a job is going sideways. Want someone to audit your job-cost setup? Start with a DIG Diagnostic, then talk Foundation / Frame on services.

The short answer

Job costing works when three things stay aligned:

  1. Cost codes match the estimate — field and office are talking about the same buckets.
  2. Every cost hits a job when it is entered — not in a month-end scramble.
  3. You review job profitability on a calendar — not only when cash feels tight.

Get those right and the job cost report, the WIP schedule, and the company P&L can tell one story. Skip any one and you get fiction: margin that looks real until retainage, change orders, or bonding time.

This page is the concept hub — why job costing matters, how to structure it, how to review it, and when a job is sideways. For click-by-click QuickBooks Online setup (Projects, chart of accounts, tagging, payroll to jobs), use Job costing in QuickBooks Online. For earned vs billed math, go to percentage of completion, over / under billing, and the WIP schedule — those pages own that depth; this page links out instead of rewriting them.

Blackline Financial is construction-only bookkeeping and advisory for contractors and specialty trades (roughly $1M–$30M). We do not prepare tax returns — tax timing and long-term contract elections are something we coordinate with your CPA. Job-cost hygiene and monthly close sit in Foundation / Frame; deeper owner reporting often sits in Blueprint. Every engagement starts with a DIG Diagnostic; every package is custom-quoted. Office: 4320 E Brown Rd Suite 103, Mesa, AZ 85205.

Why job costing breaks

Most broken job costing is not a software failure. It is a translation failure between estimating, the field, and the books.

BreakWhat it looks likeWhat it costs you
Estimate ≠ cost codes Bid in CSI divisions; books in "materials / labor / other" Every variance is an argument, not a number
Costs land late or untagged Credit cards and payroll cleared to "ask me later" Job reports lie until someone reconstructs history
Overhead in job cost Office rent, owner's truck, software coded to jobs Gross margin means nothing; jobs look worse than they are
Burden missing or wrong Straight wages only; no taxes, insurance, PTO Labor "under budget" until burden catches up — or never
Equipment never allocated Owned iron sits in overhead while jobs "save" on rental True job cost is hidden; bidding stays soft
COs and extras orphaned Extra work costs hit the job; contract value doesn't Margin fade that looks like field failure (change-order accounting)

Company profit can hide job losses. The P&L adds winners and losers. A strong service month or one fat job can cover two jobs that are underwater — until cash, bonding, or a bank asks which jobs finish near bid. That gap between the company P&L and the job cost report is exactly why monthly job review matters (more below).

Job costing also feeds everything else on the money-page stack: WIP cost-to-date, POC earned revenue, draw packages that match the books, retainage tie-outs, and bonding-ready financials. If costs are wrong by job, those pages inherit the lie.

Cost codes that match how you estimate

The cost-code list is the spine. If it doesn't match how you bid, every job review becomes a translation exercise.

Start from the estimate, not from the default chart of accounts. The buckets you use to win work — labor, materials, subs, equipment, permits, etc. — should be the buckets you use to cost work. When field tickets, PO coding, and the estimate use different language, month-end becomes archaeology.

Keep the list short enough to use. Dozens of micro-codes nobody remembers produce the same result as three vague codes: everything dumps into "misc." Prefer a structure the superintendent can code on a ticket without a codebook ceremony.

Map field ↔ office once, then protect it. If you run Adaptive, JobTread, Buildertrend, or similar, map their cost codes to QuickBooks job-cost accounts and Projects — and re-check the map when either system changes. Drift between field and books is how job reports and the P&L stop agreeing.

HabitResult
Codes mirror bid sectionsVariance = estimate vs actual, not "which bucket meant what"
Same codes on tickets, POs, and billsCosts hit jobs when entered
Approved COs get codes / revised estimate linesExtra work doesn't orphan into margin fade
Overhead stays below gross profitJob margin means gross margin on the job

Schedule of values and cost codes should talk. On progress-billing jobs, SOV lines that have no cousin in the cost-code structure make every draw package a rewrite. Align them early — when the job is won — not on pay-app day.

Labor burden and equipment allocation

Wages alone are not job labor cost. Owned equipment sitting in overhead is not free.

Labor burden

Burden is what it costs to have a person on a job beyond the wage on the check — payroll taxes, workers' comp, health benefits, PTO accruals, and similar loads your payroll provider or CPA helps you define. Skipping burden makes every job look cheaper than it is and teaches estimating to bid soft labor forever.

Practical patterns contractors use:

Either works if crews log time to jobs every day and the burden rule is the same period to period. Certified / prevailing-wage jobs have extra rules — those belong with your payroll provider and counsel; Blackline keeps the job-cost side consistent and coordinates with your CPA on tax treatment.

Labor habitResult
Time to job + consistent burdenLabor on the job cost report is believable
Straight wage only"Under budget" labor until reality shows up
Shop / travel never codedJobs look fat; shop overhead lies
Burden reinvented each monthTrends useless; bidding can't learn

Equipment allocation

Owned equipment that only hits the P&L as depreciation and repairs makes job margins look better than field reality. Jobs that "didn't rent anything" still used iron.

Common clean approaches (pick one and stick to it):

Equipment allocation is about honest job cost for bidding and review, not about inventing tax depreciation stories — depreciation and tax elections stay with your CPA.

Job costing in QuickBooks Online

QuickBooks Online can support construction job costing when Projects, accounts, and tagging habits are set up on purpose. The full step-by-step lives here:

→ Job costing in QuickBooks Online for contractors — Projects vs customers, construction chart of accounts, tagging bills/payroll/invoices, labor to jobs, and the monthly Project Profitability reports.

What this concept page needs you to remember before you click through:

  1. One Project per job under the customer, with a naming convention field and office share.
  2. Job-cost accounts that mirror how you estimate (labor + burden, materials, subs, equipment, permits) — overhead stays out of job cost.
  3. Tag at entry — Customer/Project on bills, checks, cards, and invoices. Untagged costs are the #1 reason job reports disagree with the P&L.
  4. QBO shows cost to date. It does not own estimated cost to complete, over/under billing, or a surety-ready WIP. Those sit in your WIP process under percentage of completion and month-end close.

If Adaptive, JobTread, Buildertrend, or another field tool is in the mix, the sync map to QBO Projects and accounts is part of the job-cost setup — not an afterthought. Want the setup audited end-to-end? That is a DIG Diagnostic job.

Reviewing job profitability monthly

A job cost report that nobody opens is decoration. Build a monthly rhythm into month-end close.

Job cost report vs company P&L (brief)

ReportWhat it answersWhat it hides if you only read it
Company P&L Did the company make money this period? Which jobs won, which lost, timing noise from billing vs costs
Job cost report / Project Profitability Did this job make money to date (and vs estimate)? Overhead you never allocated; revenue timing if you ignore WIP / POC

Both matter. The P&L without jobs is how owners get surprised by "profitable" years with no cash and a few toxic contracts. Jobs without a clean P&L is how overhead gets ignored. Read both every month — and when they disagree, find the untagged costs, timing gaps, or overhead sitting in the wrong place before you change the bid.

Also watch markup vs margin language in reviews so a 20% markup isn't celebrated as a 20% margin.

A simple monthly owner review

  1. Close first — bank/cards, AP/AR, job-cost completeness (month-end close).
  2. Refresh WIP — contract, cost to date, EAC, billed (WIP schedule).
  3. Pull job profitability — margin to date vs estimate; flag fade early.
  4. Scan over / under billing — earned vs billed by job (over / under billing).
  5. CO catch-up — approved COs on contract and estimate; costs coded (change-order accounting).
  6. Decide — bill harder, re-estimate EAC, talk to the PM, or leave it alone on purpose.
CadenceEffect
Monthly job + WIP review after closeFade and underbillings show up while you can still act
Quarterly "when we have time"Surprises at bonding, bank, or final billing
Only when cash is tightBy then the job has already taught the wrong lesson

Blueprint-level owners often want this packaged with cash and KPIs — that is fractional CFO for construction, custom-quoted after DIG.

Signs a job is going sideways

Catch these early. Waiting for final billing to discover fade is expensive.

SignalOften meansFirst move
Margin fade schedule to schedule Estimate wrong, productivity issue, or unapproved extras Update EAC; separate CO work; talk to PM with numbers
Costs climbing, billing flat Underbilling, slow pay apps, or CO not billed Check over / under billing and draw package discipline
Labor hours without matching production Burdened labor eating the job Revisit crew mix, burden, and estimate assumptions
Materials / subs over estimate with no CO Scope creep or purchasing leakage Match POs to contract; open CO conversation
Retainage / AR aging on a "done" job Closeout and collection not owned Retainage follow-up; don't leave ghost AR
Job looks fine in QBO, WIP looks ugly Cost-to-date vs EAC / billed story broken Reconcile job cost to WIP before trusting either
One job propping up the P&L Concentration risk; other jobs may be soft Read job report and P&L together (above)

Sideways is a process signal, not just a field signal. If the same patterns show up across jobs — untagged cards, missing burden, COs never estimated — fix the system in Foundation / Frame after a DIG Diagnostic, not only the one hot job.

Labeled example (illustrative only)

Example only — not a client case, not a quote. Round placeholder figures to show why job costing and the company P&L can disagree.

Month: three active jobs

JobRevenue (earned)Job cost (burdened)Job gross margin
Warehouse TI$180,000$144,00020% ($36,000)
Clinic remodel$90,000$99,000−10% (−$9,000)
Tenant improvement B$60,000$48,00020% ($12,000)
Jobs combined$330,000$291,000~11.8% ($39,000)

Company P&L that month also includes $25,000 of unallocated overhead (office, insurance, software) below gross profit — fine. What the P&L alone does not scream: Clinic remodel is underwater and teaching the company the wrong labor productivity story if nobody opens the job report.

If Clinic's extra $15,000 of cost was unapproved scope sitting in job cost with no CO on contract value, the fix is not "work harder" — it is change-order accounting plus an honest EAC on the WIP.

What "good" looks like

  1. Cost codes match the estimate — field, office, and bid language agree.
  2. Costs tag to jobs at entry — including burdened labor and a consistent equipment rule.
  3. Overhead stays out of job cost — so job margin means something (markup vs margin).
  4. QBO Projects are set up on purpose — details on job costing in QuickBooks Online.
  5. Monthly review reads job report + P&L + WIP — fade and underbillings show up in time (month-end close).
  6. Sideways signals trigger action — EAC, COs, billing, or crew — not silence until closeout.
  7. Downstream pages inherit truth — draws, retainage, POC, bonding packages (draw package, bonding financials).

This only works on construction books. A pretty Project Profitability report on top of untagged cards and missing sub bills is still fiction.

FAQ

What is construction job costing?

Construction job costing is tracking labor, materials, subcontractors, equipment, and other direct costs by job — in buckets that match how you estimate — so you can see each job's profitability instead of only the company total.

Why does job costing break so often?

Usually because estimates, field tickets, and the books use different cost structures; costs are tagged late or not at all; labor burden or equipment is missing; or change-order costs hit the job without updating contract value and estimates.

How is a job cost report different from a P&L?

The company P&L shows overall profit for a period. A job cost report shows profit (or loss) by job versus estimate. You can have a profitable P&L while individual jobs lose money — which is why owners should read both monthly.

Where should I set up job costing in QuickBooks Online?

Use Projects, a construction-oriented chart of accounts, and tag every cost and invoice to a Project when entered. Step-by-step setup is on Job costing in QuickBooks Online. QBO still needs a separate WIP process for estimated cost to complete and over/under billing.

What are signs a construction job is going sideways?

Margin fade period to period, costs rising while billing stays flat, labor hours without production, materials or subs over estimate with no change order, retainage stuck on finished work, or a job that looks fine in QBO but ugly on the WIP.

Can Blackline audit our job-cost setup?

Yes. That is a core reason to start with the DIG Diagnostic. Ongoing job-cost hygiene and close sit in Foundation / Frame; owner-level packaging is Blueprint. All custom-quoted on services / contact. We don't prepare tax returns; we coordinate with your CPA when tax questions come up.

Ready for job costing that tells the truth?

Tell us about your construction business and we'll put together a custom quote — usually within one business day. DIG first to audit the job-cost setup; Foundation / Frame for the ongoing seat; no invented rate card.

Book the DIG Diagnostic →

Get a custom quote →

See services and packages →

Call (480) 617-2664

Blackline Financial · 4320 E Brown Rd Suite 103, Mesa, AZ 85205