All posts
Construction May 8, 2026

Why the contract margin you walked away with isn't the margin in the books

He finished the kitchen, banked the final check, and was confident the job cleared 25 percent. The books showed 8 percent. The books were correct.

A construction worker reviewing plans on a job site
JZ
Jessica Zhao
CEO, Clear Books Advisory

A general contractor we work with finished an $80,000 kitchen remodel in early March. The customer was satisfied. The final check cleared. He left the closing meeting confident the job had cleared a 25 percent margin, roughly $20,000 in profit.

The monthly P&L from his bookkeeper arrived two weeks later. The kitchen showed an 8 percent margin, about $6,400.

He called us, primarily to argue that the books were wrong.

The books were correct. The estimate he was carrying was the one that left out four cost categories most contractors never include in their on-the-spot margin calculations. The gap between an estimated margin and a measured one is the most common reason small contractors slowly lose cash on projects that appear profitable.

What the on-the-spot estimate leaves out

Most contractors estimate margin during or right after a job by subtracting materials, subcontractors, and crew hours from revenue. Whatever is left looks like profit.

A complete job-cost calculation includes four additional cost categories.

Crew time recorded after the close. A foreman returns to complete punch-list cleanup three weeks after the customer has paid. The hour and a half is rarely captured on a timesheet because the team has already moved to the next project. Across fifteen jobs in a year, the unrecorded hours add up.

Overhead. Truck fuel, vehicle insurance, software subscriptions, mobile phones, office rent, bookkeeping. None of it is billed to a specific job, yet every job consumes a share. Small contractors typically run 12 to 18 percent of revenue in overhead. That is 12 to 18 percentage points of margin that the on-the-spot estimate never accounts for.

Equipment depreciation. The excavator loses a portion of its useful life on every job it runs. The books spread the purchase price across the years the equipment will be in service. If the excavator was used on this kitchen, the kitchen consumed a piece of its remaining value.

Uninvoiced extras. The customer requested two additional outlets. The contractor agreed and never billed for the change. The labor and materials are real costs that come out of margin.

What the kitchen actually looked like

Below is the same job presented two ways, in the on-the-spot estimate and after the books were closed.

ItemEstimateBooks
Revenue$80,000$80,000
Direct materials$35,000$35,000
Subcontractor costs$12,000$14,200
Direct labor$13,000$15,800
Punch list and warranty worknot counted$1,200
Overhead allocated (15 percent of revenue)not counted$12,000
Equipment depreciationnot counted$800
Uninvoiced extrasnot counted$600
Profit on the job$20,000 (25 percent)$400 (0.5 percent)

The two largest gaps are usually overhead, which is left out of the calculation entirely, and post-completion crew time, which is rarely recorded against the original job.

Why the next bid is where this hurts

If the next bid is built on the estimated margin, the bid is too low. The contractor believes he has 25 percentage points of margin available. The actual margin available is closer to half a point. The next job loses money. The one after that loses more.

Each individual project still appears profitable on the surface. The cash position drifts down quarter after quarter. By the time the trend is recognized, the business may be six months from running out of cash on a year of work that everyone considered successful.

This is also the point at which bonded work becomes difficult to obtain. Surety underwriters review job costing reports the same way bankers review cash flow forecasts. Real margins, by job, by quarter, with a Work in Progress schedule that ties to the financials. A contractor who cannot produce that level of detail will see the bond limit reduced or the bond declined.

What proper job costing looks like

For the contractors we work with, every job is treated as a tracked entity from the day the contract is signed.

Materials are coded to the job, not to a general expense account. Subcontractor invoices are coded to the job. Labor hours are coded to the job, including punch-list and warranty time. Overhead is allocated to each job using a percentage of revenue or a percentage of direct cost, whichever is appropriate for the firm.

At month-end, the close produces a per-job report. Estimated cost compared to actual cost, line by line. Estimated margin compared to actual margin. Over-billings and under-billings. Outstanding retainage on receivables and payables.

Jobs running over budget are flagged before they close, while there is still time to scope a change order, push back on a subcontractor invoice, or adjust the next bid.

Best practices for contractors

A few practices that move job costing from a record-keeping task to a decision-making tool:

  • Code every cost (materials, subcontractors, labor, fuel) to a specific job from day one. General expense accounts hide the actual cost of each project.
  • Allocate overhead to each job at a documented percentage of revenue. Most small contractors fall between 12 and 18 percent. Recalculate the rate annually based on actual figures, not estimates.
  • Track punch-list and warranty time against the original job rather than as a general overhead expense. The post-completion hour belongs to the project that caused it.
  • Run a per-job margin review every month. Flag projects running over budget while the work is still in progress, not after the close.
  • Maintain a current Work in Progress schedule even before bonding is required. Building one from scratch under deadline for a banker or surety is significantly more difficult than maintaining it monthly.

Three questions worth asking

If you are not sure how your job costing is set up today, three questions to ask whoever manages your books:

  1. Can you produce the gross margin on every job closed last quarter, by job?
  2. How is overhead allocated to jobs, and what is the allocation rate based on?
  3. Do we have a current Work in Progress schedule that would hold up to a banker or surety review?

If those answers are uncertain, the firm has cost recording but not job costing. The fix is procedural and is worth completing before the next bid is submitted.

If you want a second set of eyes on yours, send the last six months of revenue by job. We will review whether the books are reporting accurate margins, or whether the estimated margin has been the only data the firm has been operating on.

ESTIMATE
VS
BOOKS
WHY DID THE KITCHEN MAKE 0.5%, NOT 25%?
Short answer, four cost categories never make it into the on-the-spot estimate.
WHAT THE ESTIMATE COUNTED
  • REVENUE
    $80,000 contract, paid in full
  • MATERIALS
    $35,000 in lumber, fixtures, hardware
  • SUBCONTRACTORS
    $12,000 paid to plumbing and electric
  • DIRECT LABOR
    $13,000 in foreman and crew time
WHAT THE BOOKS ALSO INCLUDED
  • PUNCH LIST AND WARRANTY
    $1,200 of post-completion crew time
  • OVERHEAD ALLOCATED
    $12,000 at 15 percent of revenue
  • EQUIPMENT DEPRECIATION
    $800 of useful life consumed on this job
  • UNINVOICED EXTRAS
    $600 of change orders never billed
Real profit on the job
$400, NOT $20,000
REAL JOB COSTING = REAL MARGIN
ESTIMATE-ONLY = WRONG NEXT BID

Want a second set of eyes on your books?

30 minutes on Zoom. We'll look at your books and tell you what's working and what isn't.

Book a call