Skip to content
Executive Roof Coach
Executive Roof Coach|September 28, 2026

Job costing discipline for commercial roofing (truth before the next bid)

Job costing is not a margin dashboard. It is the weekly habit of keeping cost truth attached to each commercial job—so the next bid starts from facts.

Many commercial roofing owners do not lack cost data. They lack cost truth. Time sheets live in one place, deliveries in another, changes in a text thread, and the “how did that job really go?” answer lives in someone’s memory. Then the next bid gets priced from that memory.

Job costing is where get paid quietly begins: keeping cost truth attached to each commercial job while it is live. This opens Week 5, which closes the money loop. It builds on the three jobs of a commercial division and on running accountability as a weekly rhythm.

Job costing is a truth habit, not a report

Job costing is often treated as an accounting output that shows up after the job, if at all. That timing is the problem.

Real job costing looks like:

  • Costs coded to the job while the job is live (not reconstructed later)
  • A sold baseline everyone can see (what we said it would take)
  • Changes tracked as changes (not absorbed into “the job ran long”)
  • Open cost items with an owner (not “we’re still waiting on invoices”)
  • A closeout conversation before the next similar bid (not a shrug)

If costs only become real after closeout, you are not job costing. You are writing history.

Where cost truth detaches from commercial jobs

The tells are familiar:

  • Labor gets coded to “shop” or “general” because nobody knew the job code
  • Materials are ordered for one job and quietly used on another
  • Extra work happened in the field, but the change never got written
  • The PM says the job “went fine,” and nobody can confirm or disprove it
  • The estimator never hears how the last job like this one actually ran

These are not character flaws. They are missing artifacts and unowned handoffs.

The job-cost spine (what travels with every job)

Keep it simple enough that people actually use it:

  1. Sold baseline. The estimate structure and assumptions from the award handoff—scope, exclusions, planned crew days, planned materials.
  2. Cost codes that match how you estimate. If the estimate thinks in tear-off, insulation, membrane, flashing, and closeout, the field should capture cost the same way.
  3. Labor attached by the people who did the work. Captured with the job and code—not guessed on Friday afternoon.
  4. Materials in, returns out. Deliveries, transfers, and returns tied to the job they belong to.
  5. Changes as their own line. Written, routed, and coded separately so sold scope and extra scope never blur.
  6. Subs and equipment. Logged against the job when committed, not when the bill arrives.
  7. Closeout costs. Punch, warranty paperwork, and final trips—often forgotten, still real.

This spine connects to estimating and scope discipline. An estimate with clear assumptions can be compared against job cost. A single number cannot.

Seats: who owns cost truth

Job costing fails when “everyone” owns it. Use the seats you already named in naming seats without a bloated org chart:

  • Win owns the baseline: an estimate structured so it can be measured, plus assumptions written down.
  • Produce owns capture: labor, materials, changes, and field conditions coded to the job while it is live.
  • Get paid owns reconciliation: matching invoices, flagging uncoded costs, and tying billing to what was actually delivered.
  • The owner owns the standard—what “costed correctly” means—not the data entry. If you are the only one who can explain where a job stands, revisit what only the owner should own.

The weekly job-cost check (inside the rhythm you already run)

Do not add a new meeting. Add a short block to your weekly operating rhythm:

  • Which active jobs have costs that are uncoded or unassigned?
  • Where is actual effort running away from the sold baseline—and why, in words?
  • What field work happened this week that is not yet a written change?
  • Which open invoices, subs, or equipment items still need an owner?
  • Which jobs are “done in the field” but not yet closed in cost?

The goal is not a perfect number every week. The goal is that nobody is surprised at closeout.

Changes: where cost truth goes to die

Unwritten changes are a common way to lose cost truth. The crew does the extra work because the customer asked nicely. Nobody writes it. Cost lands in the sold job. At closeout the job looks worse than it was, the estimator concludes the original bid was light, and the next bid gets padded for the wrong reason.

Treat changes as a produce-seat artifact with a get-paid handoff: written, routed, coded, and either billed or deliberately written off by someone with the right to decide.

What not to invent in the name of job costing

Under pressure, owners reach for a margin dashboard. Be careful.

A margin figure built on incomplete costs is not insight—it is decoration. Avoid:

  • Reporting a job as “profitable” before closeout costs land
  • Completion guesses dressed up as precision
  • Rolling unrelated jobs into one number that hides the problem job

Prefer:

  • Open cost items with owners and dates
  • Known versus unknown flags on every active job
  • Variance reasons written in plain language
  • A short list of lessons for the next similar bid

Build better measures once capture is honest. Dashboards on fuzzy coding just measure fog faster.

Rules that keep cost truth attached

Rule: every hour has a job and a code. If a crew cannot say which job and code they are working, the handoff failed before the day started.

Rule: changes are written before they are forgotten. Same week, same owner, same routing—every time.

Rule: closeout includes a cost conversation. Win, produce, and get paid spend a short block on what the job actually took versus what was sold.

Rule: lessons travel to the estimator. If the estimator never hears it, the next bid repeats the same assumption.

Soft next step

This week, pick one active commercial job. Put its sold baseline next to what has been captured so far. List every uncoded cost, every unwritten change, and every open item without an owner. Assign each a name and a date. Then decide who owns the closeout cost conversation when the job wraps—and calendar it before the next similar bid goes out.

If you want help building a commercial division where job cost truth feeds get paid and the next estimate—not memory and guesswork—talk it through with Executive Roof Coach. The next bid deserves the truth from the last one.

Put the ideas to work in your business.

Talk with ERC about your commercial roofing operation, the systems you need, and where practical AI can help.

Book a discovery call