Numbers

Job costing: finding out what the job actually cost

By Scavi Company · · 14 min read
Job costing: finding out what the job actually cost

Ask a builder how the last job went and you get a feeling. Ask what the gross margin was and you often get a shrug, or a number that came from the estimate rather than the build. That gap is why a busy year can produce no money — and here is the report that closes it.

You cannot price what you have never measured

"Good one." "That one hurt." Those are the two reviews most construction projects ever receive, and both are memories of how a job felt to run rather than measurements of what it did to the company.

That gap is the whole problem. Without job costing you are not estimating — you are guessing, then repeating the guess, then wondering why a busy year produced no money. Every future price you set is built on the assumption that your last prices worked, which is exactly the thing you have not checked.

Job costing answers one question: what did this project actually cost, by category, compared with what we said it would cost. Everything else — better estimates, real margins, knowing which work to stop bidding — is downstream of that answer.

The pattern job costing reveals first

Almost every company that starts costing properly discovers the same thing within two quarters: one category of work they were proud of has been losing money for years, subsidized by another category they thought was ordinary. That single discovery usually pays for the entire effort of setting the system up.

Cost codes: few enough that people use them

A cost code is a bucket. Every dollar and every hour lands in one, so you can compare buckets against the estimate.

The failure mode is enthusiasm. A company sets up 180 codes copied from a standard list, nobody in the field can remember which one a dumpster belongs to, everything gets coded to "General," and six months later the data is unusable.

Start with twelve to twenty codes that match how you actually estimate:

• Site work and excavation · Concrete and foundation · Framing · Roofing · Windows and doors
• Plumbing · Electrical · HVAC · Insulation · Drywall and paint
• Flooring and tile · Cabinets and countertops · Trim and millwork
• Permits and fees · Dumpsters and cleanup · Equipment rental
• Supervision and project management · Warranty and rework

The last two matter more than they look. Supervision is a real cost of a real job — your hours and your project manager's hours belong to specific projects, not to a vague overhead pool where they become invisible. Warranty and rework is the code most companies never create, which is why the true cost of doing something twice never shows up anywhere.

The rule for adding a code: it earns its place only if you would price differently next time based on what it tells you.

Keep reading — free

The rest of this article is worth the 20 seconds

Tell us where to send it and the full piece unlocks right here, along with everything else on this blog.

Rather just talk? Message us on WhatsApp.

Capturing cost while the job is running

Job costing done at the end is a post-mortem. Done weekly, it is a steering wheel — and the difference is whether you find out about a problem while you can still act on it.

Labor, daily. Every hour coded to a job and a cost code, entered the same day. Weekly reconstruction from memory is fiction, and it is fiction in a predictable direction: people round toward the estimate.

Materials, at the receipt. A photo of the receipt with the job and code, from the parking lot of the supply house. Piles of uncoded receipts at month end are how $6,000 of material ends up assigned to the wrong project.

Subcontractor invoices, against the contract. Each sub invoice checked against the subcontract amount and the work in place, before approval rather than after payment.

Equipment, at real cost. Rentals are easy. Owned equipment needs an internal hourly rate covering depreciation, maintenance, insurance and fuel — otherwise your own excavator appears free and every job that uses it looks better than it was.

Your own time. The one everyone skips. If you spend nine hours on a job site solving problems, that job cost nine hours of the most expensive labor in the company.

Labor is where the variance lives

Material costs are mostly known — a window costs what the invoice says. Subcontracts are mostly fixed. Labor is the line that moves, and it moves for reasons a good report can name.

Two distortions have to be removed before labor numbers mean anything.

Burden. A carpenter at $32 an hour costs $45 to $52 once payroll taxes, workers' compensation, liability, vehicle, small tools, paid time off and training are included. Construction burden commonly runs 40% to 60%, higher than most trades because of the comp classes. Costing at the raw wage understates every labor line by a third or more.

Productive hours. A paid eight-hour day yields six to seven hours of production once you account for mobilization, cleanup, material runs, waiting on an inspection and coordinating with another trade. Estimating at eight prices a day that does not exist.

Once both are right, labor variance becomes readable. Hours over on framing but under on trim is a scope or sequencing issue. Hours over everywhere on one crew is a supervision or crew-mix issue. Hours over on every job in one month is usually weather, a bad inspection cycle, or somebody who left.

One practical note on tools. Job costing is a discipline, not a software purchase — a spreadsheet updated every Friday beats a construction platform nobody enters data into. Buy software when the discipline already exists and the volume has outgrown the spreadsheet, which for most companies is somewhere past a dozen concurrent jobs. Buying it first produces an expensive system full of uncoded receipts.

Committed cost, not just spent cost

The most common way a job cost report lies is by showing only what has been paid.

Halfway through a project, the report says you have spent $180,000 against a $400,000 budget and everything looks fine. It does not show the $95,000 of signed subcontracts not yet invoiced, or the $40,000 of materials ordered but not delivered. Your committed cost is $315,000, not $180,000 — and the job that looked healthy has $85,000 left to finish work that will take considerably more than that.

A usable report has four columns per cost code: estimated, committed (contracts signed and purchase orders issued), actual (invoiced to date) and projected final. The last column is the one that matters, and it is a judgment call made weekly by whoever runs the job — not an automatic total.

Projected final cost is where problems become visible early enough to do something: reduce scope, price a change order, reallocate a crew, or simply know four weeks in advance that this project will land 4% under instead of 11% under so you can stop spending against money that was never there.

One job, estimate against actual

A $286,000 home addition, contracted at a 25% gross margin — estimated cost $214,500, estimated gross profit $71,500.

What the closed job cost report showed:

• Site work: est. $12,000 · actual $14,800 (+$2,800 — undisclosed rock)
• Concrete: est. $22,000 · actual $21,400 (−$600)
• Framing: est. $48,000 · actual $57,200 (+$9,200)
• Roofing: est. $18,500 · actual $18,900 (+$400)
• Windows and doors: est. $16,000 · actual $16,000
• Mechanical trades: est. $41,000 · actual $42,300 (+$1,300)
• Drywall and paint: est. $19,000 · actual $19,600 (+$600)
• Finishes: est. $24,000 · actual $29,700 (+$5,700 — allowance overrun)
• Permits, dumpsters, equipment: est. $8,000 · actual $8,900 (+$900)
• Supervision: est. $6,000 · actual $13,100 (+$7,100)
• Warranty and rework: est. $0 · actual $3,400

Actual cost: $245,300. Gross profit: $40,700 — a 14.2% margin against the 25% sold. The job felt fine. It delivered 43% less profit than planned.

Three lines account for nearly three quarters of the miss. Framing went over because it was estimated at the wage on eight-hour days. Supervision more than doubled because the owner spent eleven days on site coordinating a change nobody priced. Finishes ran over because the tile allowance was set at a number the client's taste was never going to accept.

All three are fixable, and none of them are visible without a job cost report. The company would otherwise have bid the next addition using the same framing rate, the same supervision figure and the same allowance — losing the same $30,800 again, and calling it bad luck.

Worth naming what the report does not say. It does not say the crew was lazy or the estimator was careless. Variance is information, and treating it as blame is the fastest way to get labor hours that match the estimate perfectly and mean nothing at all — people write down what they think you want to see. The report is only as honest as the reaction it gets on the day it shows something bad.

Over- and under-billing: the report that prevents surprises

On projects that span months, cash received and work performed drift apart, and the drift is dangerous in both directions.

Percentage complete is measured by cost: costs incurred to date divided by projected final cost. A job with $147,000 spent against a $245,000 projection is 60% complete. On a $286,000 contract, the revenue earned is $171,600.

Bill $200,000 and you are overbilled by $28,400 — you are holding cash you have not yet earned, and the remaining work will feel unprofitable when the bills for it arrive.

Bill $150,000 and you are underbilled by $21,600 — you have financed the client out of your own line of credit, which is the quiet way profitable construction companies run out of cash.

Reviewed monthly across every open job, this single report explains the thing that confuses owners most: why the profit and loss statement says one thing and the bank account says another.

What job costing actually changes

Estimates get corrected with evidence. If framing runs 18% over on six consecutive jobs, the framing rate is wrong. That is not a crew problem to be managed; it is a number to be changed.

Some work stops being bid. Nearly every builder finds a category — small bathrooms, insurance repairs, one particular general contractor — that consistently lands below margin. Ending it raises profit without adding a single project.

Change orders get priced properly. Once supervision is a tracked cost, the eleven days a change consumes stop being invisible.

Allowances get set honestly. Reviewing overruns across ten jobs tells you what clients actually select, as opposed to what makes a bid look competitive.

Bonuses and promotions get based on something real. The project manager whose jobs come in at margin is measurable, and so is the one whose jobs do not.

Five mistakes

1. Too many cost codes. Twelve used properly beat a hundred and eighty ignored.

2. Costing labor at the wage. Burden and productive hours together understate labor by a third or more, and labor is where variance lives.

3. Reporting only spent cost. Without committed cost, a job looks healthy right up until it is not.

4. Leaving supervision out. Your hours are the most expensive in the company and they belong to specific jobs.

5. Costing only at closeout. A post-mortem tells you what happened. A weekly report lets you change it while there is still something to change.

The five numbers

Estimate-to-actual variance by cost code, across all closed jobs. The single most valuable report a construction company can produce.

Projected final cost on every open job, updated weekly. The early warning system.

Gross margin by job type. Which categories of work actually earn, as opposed to which ones feel good.

Labor hours per unit — per square foot, per opening, per fixture. Your own productivity benchmark, worth more than any published figure.

Over- and under-billing across open jobs. The reconciliation between the profit you report and the cash you hold.

Knowing your real margin changes which jobs you want

Once you know which work actually earns, the next question is how to get more of it. Send us your job mix and your average contract value and we will show you where that demand comes from.

Frequently asked questions

How many cost codes should a construction company use?

Twelve to twenty, matched to how you actually estimate. The common failure is copying a standard list of a hundred and eighty codes that nobody in the field can remember, so everything gets coded to "General" and the data becomes unusable within six months. A workable set covers site work, concrete, framing, roofing, windows and doors, the mechanical trades, insulation, drywall and paint, flooring and tile, cabinets, trim, permits and fees, dumpsters, equipment, plus two that most companies omit: supervision, because your hours and your project manager's hours belong to specific jobs rather than a vague overhead pool, and warranty and rework, because otherwise the cost of doing something twice never appears anywhere. A code earns its place only if it would change how you price next time.

What is committed cost and why does it matter?

Committed cost is everything you have obligated the company to spend — signed subcontracts and issued purchase orders — as opposed to what has actually been invoiced. It matters because a report showing only spent cost lies about the health of a job. Halfway through a project you might have $180,000 spent against a $400,000 budget and feel comfortable, while $95,000 of signed subcontracts and $40,000 of ordered materials have not yet been invoiced. The real committed figure is $315,000, leaving $85,000 to finish work that will cost considerably more. A usable report carries four columns per code: estimated, committed, actual and projected final — and the projected final is a weekly judgment made by whoever runs the job.

How does over- and under-billing work on a construction project?

Percentage complete is measured by cost: costs incurred divided by projected final cost. A job with $147,000 spent against a $245,000 projection is 60% complete, so on a $286,000 contract the revenue earned is $171,600. Billing $200,000 means you are overbilled by $28,400 — holding cash you have not earned, which makes the remaining work feel unprofitable when its bills arrive. Billing $150,000 means you are underbilled by $21,600 and have financed the client from your own line of credit, which is how profitable construction companies run out of cash. Reviewed monthly across every open job, this report explains why the profit and loss statement and the bank balance disagree.