Job costing and finance

How to set up job costing for a construction company

Set up job costing by giving every job a number, a budget broken into cost codes, and a rule that every hour, invoice, and purchase order gets coded to a job and a code before it is entered. Then review budget against actual every week.

An office manager and contractor review invoices with a calculator and laptop in a construction office.
Review invoices, committed costs, and cash timing together before making project decisions. AI-generated illustration.

To set up job costing, you need four things in place before the first cost hits the books: a job number for every contract, a short list of cost codes, a budget loaded against those codes from the estimate, and a coding rule that nobody breaks. Every timesheet hour, supplier invoice, subcontract, and equipment charge gets a job and a code at the point of entry. Once that discipline holds, a weekly review of budget versus actual tells you which jobs are making money while there is still time to fix the ones that are not.

Most contractors who say job costing "does not work" for them have the software. What they lack is the setup: codes nobody agrees on, budgets that never got loaded, and labor posted at a raw wage with no burden. The steps below fix those problems in order.

Step-by-step: setting up job costing

1. Decide what a job is

One signed contract usually equals one job number. Large contracts with separate phases or buildings can use sub-jobs, but keep it simple. Small service calls can roll into a monthly service job so they do not clutter the list. Write the rule down: who creates job numbers, the format (for example year plus sequence, like 26-014), and when a job is opened and closed.

2. Build a cost code list you can live with

Start with 20 to 40 codes for a typical job, grouped by phase or trade, and split each code by cost type: labor, material, subcontract, equipment, and other. A general contractor might follow CSI MasterFormat divisions. A plumbing sub might use underground, rough-in, top-out, and trim. The detail lives in how to build a construction cost code structure. The rule that matters now: the estimate, the budget, and the field must use the same codes.

3. Load the budget from the estimate

When a job is awarded, the estimator or PM converts the bid into a budget by cost code. This is the baseline everything gets measured against. Do not wait until the first invoice arrives. A job with costs and no budget gives you nothing to compare. If your estimate is organized differently from your cost codes, fix that once, at the template level, so the handoff takes minutes instead of an afternoon.

4. Cost labor at its true rate

Crew time should post at wage plus labor burden: employer payroll taxes, workers' compensation, insurance, and benefits. If you post only the raw wage, every job looks more profitable than it is. Build a burden rate per worker or per class and apply it automatically. See how to calculate labor burden for construction workers for the math.

5. Code costs at the point of entry

  • Timesheets: crews pick job and cost code on the phone or paper sheet, every day, not at the end of the week.
  • Purchase orders: every PO carries a job and cost code, so the supplier invoice inherits it.
  • Supplier invoices: the bookkeeper matches each invoice to a PO or asks the PM for coding before entering it.
  • Subcontracts: each subcontract is entered as a commitment against the right codes when it is signed.
  • Equipment: owned equipment is charged to jobs at an internal hourly or daily rate; rentals post as invoices.

6. Track commitments, not just paid bills

A $90,000 subcontract signed last week is a cost you owe, even if the first pay app is a month away. Track committed costs alongside actuals so the job report shows what is spent plus what is promised. More on this in how to track committed costs before invoices arrive.

7. Handle change orders as budget changes

When a change order is approved, add its revenue and its budget by cost code. Pending changes go on a separate log. Mixing unapproved change work into the base budget is how a job that is actually losing money looks on budget for three months.

8. Set the review rhythm

Each week, the PM reviews the job cost report: budget, actual, committed, and an updated cost to complete for each code. Each month, the owner and bookkeeper roll those forecasts into the WIP report. The weekly review is where the value is. A monthly look alone finds problems after they have become losses.

Worked example: a $480,000 tenant improvement

Say a general contractor wins a $480,000 office tenant improvement with an estimated cost of $410,000. After setup, the budget looks like this. The figures are made up for illustration.

Example budget and week 6 position by cost code
Cost codeBudgetActual to dateCommitted (unbilled)Projected at completion
01 General conditions$38,000$17,500$0$40,000
06 Carpentry (self-performed)$52,000$31,000$2,000$58,000
09 Drywall and acoustical (sub)$118,000$40,000$78,000$118,000
09 Flooring and paint (sub)$64,000$0$64,000$64,000
23 HVAC (sub)$72,000$30,000$42,000$75,500
26 Electrical (sub)$66,000$28,000$38,000$66,000
Total$410,000$146,500$224,000$421,500

Two codes stand out. Carpentry has used 60 percent of its budget, and the foreman says framing is closer to half done, so the projection rises by $6,000. HVAC picked up a $3,500 duct change that the owner has not yet signed. Gross profit has slid from $70,000 to $58,500 on paper, and it is week six, not closeout. The PM now has time to push the change order, tighten the carpentry crew, and protect the remaining fee.

Mistakes to avoid when setting up job costing

  1. Too many codes. A 300-line list means crews guess, and guessed codes are worse than fewer accurate ones.
  2. Different codes in the estimate and the books. You cannot compare budget to actual if they do not line up.
  3. Raw wages instead of burdened labor. Labor is the most variable cost on most jobs; understating it hides fade.
  4. Coding at month end. By then nobody remembers which job the 40 hours belonged to.
  5. Ignoring commitments. Paid-to-date alone makes jobs look cheaper early and blows up late.
  6. Treating the original budget as the forecast. The budget stays fixed; the projected cost moves every week.

Templates, terms, and tools that help

Start with the construction budget template to load the budget, then track progress in the job cost report template. Feed the numbers into the WIP report template each month. Useful terms: direct costs, indirect costs, and budget variance. Once costing is running, the weekly job cost review keeps it honest.

Smart Business Automator loads budgets by cost code, tracks commitments and change orders against them, and rolls each job into a WIP view so the weekly review takes minutes. See job costing and WIP automation.

Frequently asked questions

Can a small contractor set up job costing in QuickBooks?

Yes, many do, using customers or projects for jobs and items or classes for cost codes. It works best with a short code list and strict coding at entry. As job count grows, contractors often add construction software that syncs with the books. See how to reconcile job costs with QuickBooks for the details.

How many cost codes should a contractor use?

Enough to see where money goes, few enough that the field codes accurately. Many contractors land in the range of 20 to 40 active codes per job, split by cost type. Add detail only where it changes a decision.

Who should own job costing, the PM or the bookkeeper?

Both, with different jobs. The bookkeeper owns accurate coding and posting. The PM owns the budget, the forecast, and explaining variances. The owner reviews the result.

What is the difference between job costing and a WIP report?

Job costing tracks costs by job and cost code against budget. The WIP report uses those costs and forecasts to calculate earned revenue and over or under billing across every open job, usually monthly.

How long does it take to set up job costing?

The setup itself, a job numbering rule, a code list, and budget templates, can be done in a few weeks. Getting crews and PMs to code accurately every day is what takes time, so start with one pilot job.

Sources

  1. Construction Specifications Institute: MasterFormat 2026
Written and edited by

Maurice Francois writes and edits construction operations guides for Smart Business Automator. More from Maurice on the Scaling Legends podcast.

Get a free assessment