
Job costing is the process of tracking every dollar of labor, material, and overhead against a specific project — not your company as a whole. Done right, it tells you whether you are making or losing money on a build before the job closes, not after the check clears.
What is the difference between job costing and process costing in construction?
Process costing averages cost across identical units — think a factory producing 10,000 identical widgets. Construction does not work that way. Every custom home is a unique project with its own site, its own scope, and its own subcontractors.
Job costing assigns every dollar to a specific project number and phase code. When the framing crew bills 80 hours on Lot 14 and 40 hours on Lot 22, those hours land on the correct job — not in a pooled labor account. That distinction is the entire foundation of profitable custom building.
The practical difference: process costing tells you what it cost to build a house on average. Job costing tells you what it cost to build this house — and exactly where the money went.
Step 1: Set up phase-level cost codes aligned to the NAHB chart of accounts
The National Association of Home Builders (NAHB) publishes a standard chart of accounts that organizes residential construction costs into Divisions 3 through 16 — site work, concrete, framing, exterior finishes, mechanical, and so on. Matching your QuickBooks cost codes to this structure means your numbers are benchmarkable against every NAHB study ever published.
Most builders who struggle with job costing are not bad at math. They have one catch-all cost code called "Construction" that swallows framing labor, lumber deliveries, and subcontractor invoices alike. When the job goes over budget, they cannot tell whether framing ran hot or the plumber changed his scope.
- Division 3 — Concrete: footings, foundation walls, flatwork (separate codes for each)
- Division 6 — Framing: lumber materials and framing labor as distinct codes
- Division 15 — Mechanical: HVAC, plumbing, and electrical each get their own code, not a shared "MEP" bucket
- Division 9 — Finishes: drywall, paint, tile, and trim separated — these are where custom builds most often overrun
- Overhead recovery: a dedicated code for allocated indirect costs (more on this in Step 3)
When you want to know how to set up job cost codes in QuickBooks for a custom home build, start with the NAHB divisions, then add sub-items for each trade within the division. A two-level hierarchy — Division : Trade — gives you enough granularity to catch overruns without overwhelming the crew submitting time cards.
Step 2: Run budget-vs-actual variance reports tied to draw milestones
A budget sitting in a spreadsheet is not job costing. Job costing means comparing that budget to actual spend at defined checkpoints — ideally tied to the draw schedule your construction lender already requires.
The rule of thumb: flag any variance over 5% at the phase level before you move to the next phase. A $4,200 lumber overage in framing is a nuisance to fix during framing. That same overrun discovered at job close — compounded by three more phases that also ran hot — can erase your entire projected margin.
According to NAHB Eye on Housing (full-year 2023), the average gross margin for single-family builders is 20.7% and net margin is 8.7%. That gap — roughly 12 points — is overhead and indirect costs. If your variance reports do not account for those layers, you are flying blind on the bottom half of your income statement.
The cadence that works: pull a budget-vs-actual by division every time you submit a draw request. Your lender is already requiring documentation. Use that moment to also update your internal cost report — you are doing the work anyway.
Step 3: Allocate direct and indirect costs using CFMA overhead recovery formulas
Direct costs are easy: lumber delivered to Lot 14, framing crew's hours on Lot 14, the plumber's invoice for Lot 14. Every dollar ties directly to one job.
Indirect costs are where custom builders quietly hemorrhage margin. Supervision time, job-site utilities, equipment depreciation, estimating hours, vehicle fuel, and builder's risk insurance are all indirect costs — and if they are not allocated to individual jobs, they pile up in your general and administrative (G&A) expenses and make your income statement look worse than any specific job deserves.
The Construction Financial Management Association (CFMA) recommends an overhead recovery rate — a percentage applied to direct labor dollars that absorbs indirect costs proportionally across all active jobs. The formula:
- Total your projected indirect costs for the year (supervision, insurance, equipment, estimating).
- Total your projected direct labor dollars for the year.
- Divide indirect costs by direct labor to get your recovery rate (for example, $180,000 ÷ $600,000 = 30%).
- Apply that 30% to every direct labor dollar charged to each job — your overhead is now distributed rather than pooled.
- Reconcile the rate at year-end and adjust for next year based on actual results.
Using this approach on that same $680,000 build, if the project carries $47,000 in indirect costs that were previously swallowed by G&A — supervision time, job-site trailer, permit expediting, estimating hours — and those costs are now properly loaded onto the job, your true net margin drops from a reported 14% to approximately 7.1%. That is not a surprise at year-end anymore. It is a known number at the concrete pour.
What does a WIP schedule have to do with job costing for builders?
A work-in-progress (WIP) schedule is a real-time summary of every open job: the contract value, costs incurred to date, estimated costs to complete, and revenue earned versus revenue billed. It bridges your job costing data to your financial statements.
For custom builders, the WIP schedule matters for three distinct reasons:
- Lender compliance: most construction lenders require a WIP schedule with every draw request to confirm the project is tracking on budget before releasing funds.
- IRS method selection: according to Procore's tax accounting library (2025), the IRS allows contractors with average annual gross receipts under $25 million (three-year lookback) to use the completed-contract method. Builders over that threshold must use the percentage-of-completion method — which requires a current WIP schedule to calculate the revenue recognition percentage correctly.
- Early warning system: an over-billed position on the WIP (you billed more than you earned) is cash you owe back. An under-billed position is revenue you have earned but not yet collected. Both are margin risks the income statement alone will not reveal.
Reconciling the WIP at every draw — not just at year-end — means your accountant, your lender, and your project manager are all looking at the same numbers at the same time. That alignment alone eliminates the most common source of builder disputes with lenders.
| WIP Position | What It Means | The Risk | Action Required |
|---|---|---|---|
| Under-billed (costs exceed billings) | You have done the work but not invoiced for it | Cash flow gap — you are funding the job out of pocket | Submit a draw request immediately |
| Over-billed (billings exceed costs) | You have collected more than the work you have completed | You may owe a credit or face lender scrutiny | Accelerate work completion or adjust next draw |
| Balanced | Billings match earned revenue at the current phase | Low — but verify estimated cost-to-complete is current | Update estimate-to-complete at each phase close |
| Cost overrun flagged | Actual costs exceed budget in one or more divisions | Margin erosion if not corrected before next phase | Issue a change order or renegotiate sub scope |
How material cost spikes in 2026 make real-time job costing non-negotiable
Job costing has always mattered. In 2026, it is urgent. According to the Associated General Contractors of America (AGC), construction material prices rose 8.4% from May 2025 to May 2026 — the fastest annual rate since the pandemic. Meanwhile, AGC also reports that contractors' bid prices for new non-residential building construction rose only 3.5% over the same period. That 4.9-point gap is being absorbed somewhere — and without real-time job costing, it is being absorbed silently in your margin.
The specific material projections for 2026 are stark, according to Construction Cost Accounting:
- Lumber: projected up 20–40%
- Steel: projected up 15–35%
- Concrete: projected up 10–25%
- Copper: projected up 25–50%
NAHB data from November 2025 puts the year-over-year price index increase for inputs to new residential construction at 4.2%. That number is a broad average — the specific commodities above are running well above it.
A custom home builder who locked a lumber budget in January 2026 based on last year's pricing and has not updated that line item is carrying a live overrun they have not seen yet. Budget-vs-actual reporting tied to draw milestones — Step 2 of this system — is the mechanism that surfaces that variance before it compounds.
The contractors who figure out job costing stop losing money on the jobs they think are their best ones. The ones who don't keep blaming the subs.
How job costing connects to your back-office workflows
Job costing is not a report you run once a quarter. It is a daily data discipline: bills coded to the right job and phase the day they arrive, time entries posted against the correct project number by end of week, and variance flags reviewed before the next draw goes out.
That discipline breaks down when your bookkeeper is two weeks behind on AP coding, your PM is texting photos of invoices instead of uploading them to QuickBooks, and your variance report is built manually in a spreadsheet every Friday afternoon. The data exists — it is just not current.
This is exactly where Salisbury Bookkeeping structures our construction engagements differently from a general bookkeeping firm. We do not just close the books at month-end. We maintain the job cost layer continuously — bills coded to NAHB-aligned cost codes the day they hit, WIP schedules updated at every draw, and budget-vs-actual variance reports delivered before your next lender conversation.
Top Builder AI is the six self-learning AI agents we built to automate the workflows across every department of a contractor's business — the Financial Agent monitors every job's budget-vs-actual position in QuickBooks the moment a new bill is coded, flagging margin leaks in dispatch, field operations, and the back office the day they appear rather than at month-end, with your team approving every action before it executes. The agents connect once to your ServiceTitan or QuickBooks setup and run the multi-step workflows — AP coding, variance monitoring, document classification — on a human-in-the-loop leash.
According to NFIB's April 2026 industry-specific survey, 56% of construction firms report finding few or no qualified applicants for job openings. That labor shortage means your superintendent is stretched thin, your PM is doing two jobs, and no one has time to manually reconcile the WIP every week. Automating the data layer — coding, flagging, reconciling — is how you keep the job costing system running without adding headcount.
The same NFIB April 2026 survey found that 29% of small construction businesses named labor quality as their single most important problem — ahead of taxes, regulations, and inflation. When your best people are focused on building, the back-office job costing discipline cannot depend on whoever has a spare hour. It needs a system that runs regardless.
Your next move
Here is what to do this week to implement the four-step job costing system described above:
- Audit your current QuickBooks chart of accounts. List every cost code you are using for construction costs. Flag any code that is catching more than one trade or phase. That is your consolidation problem — break those codes out by NAHB division before the next job starts.
- Pull a budget-vs-actual report for every active job today. You do not need a new tool. In QuickBooks, run a Job Profitability Summary, filter by job, and compare your original estimate to costs posted to date. If you cannot produce this report in under 10 minutes, your cost code setup needs work — that is Step 1.
- Calculate your overhead recovery rate for the current year. Add up all indirect costs posted to G&A that should be on a job (supervision, job-site utilities, insurance, estimating). Divide by total direct labor dollars billed to jobs. Apply that rate to every job going forward so your WIP schedule reflects true job cost.
- Build or update your WIP schedule using your current draw balances. For each open job: contract value, costs to date, estimated cost to complete, revenue earned (percent complete × contract value), and amount billed. A four-column spreadsheet is enough to start. Reconcile it at every draw from here forward.
- Talk to a construction-specific bookkeeper before your next draw request. The fractional CFO team at Salisbury Bookkeeping reviews WIP schedules, sets up NAHB-aligned cost codes in QuickBooks, and delivers variance reports on the cadence your lender requires — not on the month-end accounting cycle. If your current setup cannot produce a job-level margin report on demand, that conversation is worth having now, not at year-end.
Stop running your back office on screenshots and Slack pings.
Top Builder AI is six self-learning AI agents that plug into your ServiceTitan + QuickBooks — Booking & Dispatch that beat ServiceTitan's own AI, plus Financial, Inventory, Workforce & Documents it has no answer for. They get sharper every week on a leash (you approve every change), and the numbers stay locked — deterministic and audited. Built and installed by the developer who answers when you call — a direct line, not a ticket queue. Founding-25: a one-time $8,000 install locked for life, 30 days of free feature requests, board-ready or it's free.
From the team at Salisbury Bookkeeping — construction bookkeeping + fractional CFO for contractors. See how Salisbury Bookkeeping helps contractors like you →
Frequently Asked Questions
- How does job costing work for custom home builders?
- Job costing assigns every dollar of labor, materials, and overhead to a specific project using phase-level cost codes. Builders compare those actual costs to their original budget at each draw milestone — not just at job close — so variances can be corrected before they compound into margin loss.
- What is the difference between job costing and process costing in construction?
- Process costing averages cost across identical units, which works for manufacturing. Job costing tracks cost at the individual project level, which is the only method that makes sense for custom home building where every project has a unique scope, site, and subcontractor mix.
- How do I set up job cost codes in QuickBooks for a custom home build?
- Start with the NAHB chart of accounts Divisions 3 through 16 as your top-level structure, then create sub-items for each trade within each division. Map every QuickBooks service item to an NAHB division so bills and time entries land in the right code automatically — consistency at data entry drives accuracy in every report downstream.
- What does a WIP schedule have to do with job costing for builders?
- A work-in-progress (WIP) schedule reconciles your job costing data to your financial statements by showing contract value, costs incurred, estimated costs to complete, and revenue earned versus revenue billed on every open job. Lenders require it at draws, and builders over $25 million in annual revenue must use it for IRS percentage-of-completion revenue recognition.
- What is the IRS rule on completed-contract versus percentage-of-completion accounting for contractors?
- According to Procore's tax accounting library (2025), the IRS allows contractors with average annual gross receipts under $25 million (three-year lookback) to use the completed-contract method, which defers revenue and costs until the project closes. Builders above that threshold must use the percentage-of-completion method, which recognizes revenue proportionally as work is completed and requires a current WIP schedule.
- How should custom home builders allocate indirect costs to jobs?
- Calculate an overhead recovery rate by dividing total projected indirect costs (supervision, insurance, equipment, estimating) by total projected direct labor dollars for the year. Apply that rate as a percentage to every direct labor dollar charged to each job. This distributes indirect costs proportionally across all active projects rather than letting them pile up in general and administrative expenses.
- Why is real-time job costing especially important in 2026?
- Construction material prices rose 8.4% from May 2025 to May 2026 according to the Associated General Contractors of America — the fastest annual rate since the pandemic. With lumber projected up 20–40% and copper up 25–50% (Construction Cost Accounting, 2026), a budget set at contract signing can be materially wrong by the time framing starts. Real-time budget-vs-actual tracking is the only way to catch that gap before it erases your margin.
- What is the biggest job costing mistake custom home builders make?
- Using a single catch-all cost code like "Construction" for all project costs. When every bill and labor hour lands in one bucket, you cannot identify which phase ran over budget or which trade is consistently underbidding its scope — and you lose the ability to benchmark against NAHB industry averages or improve your estimating for the next project.
