JOB COSTING STANDARDS

CONSTRUCTION JOB COSTING STANDARDS FOR SUBCONTRACTORS.

QUICK ANSWER

Job costing for commercial subcontractors works when cost codes mirror the estimate, labor is burdened correctly, costs are entered within 48 hours of being incurred, and the data gets read in a monthly WIP meeting that produces decisions. Most subcontractor job costing fails on at least two of those four. Generic accounting software runs job costing the same way for every industry, which is why construction-specific structure counts.

If your job costing is producing data nobody acts on, the problem is rarely the software. It's the structure of the cost codes, the discipline of the entry, and the cadence of the review. All three are cheap to fix and none of them requires buying anything. The reason they stay broken is that each one sits with a different person: the estimator owns the codes, the field owns the entry timing, and the owner owns whether the review happens at all. Nobody owns all three, so nothing gets fixed.

BY JOSH LUEBKERPublished 2026-08-06Updated 2026-08-07
THE DEFINITION

WHAT IT MEANS.

Construction job costing is the practice of tracking costs by individual job and by cost code within each job.

This is a structure problem before it's a software problem. Generic accounting packages run job costing the same way for a law firm and a concrete sub, which is why two companies on identical software get completely different answers out of it. The construction-specific part is entirely in how the codes are built, how labor is burdened, and how fast the data comes in.

WHAT WE SEE IN THIS BUSINESS

WHERE JOB COSTING BREAKS DOWN.

01

The cost codes in accounting don't match the estimate

The single most common breakdown is estimate-to-actual misalignment. The estimator builds the bid using one set of cost categories and the bookkeeper enters actual costs using a different set. Six months later nobody can compare bid to actual at the cost code level, which means nobody knows where the margin is going. Across 48 trade specializations, fewer than one in four subs runs matched lists.

02

The labor burden in the bid isn't the real burden

Labor burden is the multiplier that turns a wage into the true cost to the company, and most subs have been estimating with the same rate for three or four years. Real burden drifted higher because workers' comp went up, health insurance went up, and payroll taxes moved to a new threshold. A bid burden 8 to 20 cents low on every labor dollar eats most of the margin on a labor-heavy job before the crew mobilizes.

03

Costs get entered two to four weeks late

Job costing data that's two weeks old is too stale to act on. A pay app cycle is 30 days, so a material problem caught at day 4 can be corrected, while the same problem caught at day 18 has already cascaded into a labor delay, a schedule slip, and a change order conversation that should have happened two weeks earlier. Most subs run weekly time sheets and lose the granularity that makes the data usable.

04

The reports exist and nobody reads them

Job costing produces data, and without the right reports on a set cadence that data sits in the system unused. Closeout reports that go unread are why subs keep repeating the same estimating mistakes year after year. The point of all this structure is a monthly meeting that produces decisions somebody is accountable for.

THE ARITHMETIC

WHAT IT LOOKS LIKE IN DOLLARS.

Burden rates by trade

Typical burden rates for commercial subs run 1.30 to 1.40 for concrete and structural, so a $28 an hour wage costs the company $36 to $39 per productive hour. Electrical runs 1.35 to 1.50. Civil and earthwork with prevailing wage exposure runs 1.45 to 1.65. SWPPP with a light labor profile runs 1.25 to 1.32.

Productive hours, not paid hours

The CFMA standard formula is total labor cost divided by total productive hours, and productive hours means hours billable to jobs rather than gross hours paid. A worker paid for 2,080 hours a year with 80 hours of PTO and 40 hours of training has 1,960 productive hours. The burden gets divided over 1,960, not over 2,080.

What a wrong burden costs

If a sub estimates with 1.30 burden and actual burden is 1.42, every project loses 12 cents on every labor dollar billed. On a $1M project with $400K of labor, that's $48K of margin gone before the job starts. Nothing in the field caused it and nothing in the field can recover it.

HOW SPM FIXES IT

THE FOUR THINGS THAT HAVE TO BE TRUE.

Rebuild the cost codes to mirror the estimate

The cost code list in the accounting system has to mirror the cost code list in the estimating system line for line. If the estimate breaks labor into site prep labor, footing labor, wall labor, and flatwork labor, then the accounting system carries those same four codes. If the estimate burdens labor at 1.32, the accounting system burdens labor at 1.32. The rebuild takes about two weeks and immediately makes every job costing report comparable to the estimate, and the first WIP after a clean rebuild almost always catches a labor or material overrun on an active job early enough to do something about it.

Recalculate burden every year and push it into the bid

Burden is total labor cost divided by total productive hours, where labor cost includes payroll taxes, workers' comp, general liability, health insurance, retirement contributions, paid time off, and every other employer-paid benefit. Recalculate the real number annually and push the new rate into the next bid cycle. A rate that hasn't moved in four years is a memory.

Get every cost in within 48 hours

Labor gets entered the day after the work happens, material costs the day the invoice comes in, and equipment costs weekly at minimum. That takes three operational changes. Daily time sheets by cost code by job rather than weekly, which runs about 8 minutes per supervisor and pays back in the first month. One person owning vendor invoice intake every morning and routing invoices for approval by 10am, which drops entry lag from 5 to 12 days down to 1 to 2. And owned equipment allocated to jobs weekly on a cost-per-hour basis instead of at month end.

Run the four reports that turn data into decisions

First, the job profitability report by job, monthly, carrying contract value, billings to date, costs to date, estimated cost to complete, percent complete, earned revenue, current margin, and projected margin at completion. Second, estimate against actual by cost code by job, weekly on jobs over $500K, which is the report that catches a $30K labor overrun at day 21 and not at closeout. Third, labor productivity by crew by job in hours per unit, whether the unit is a cubic yard, a square foot, or a linear foot. Fourth, a closeout report comparing final actual to final estimated for every cost code, used to update the estimating system and the burden rates for the next bid.

WHAT YOU GET

THE OUTPUTS, NAMED.

A cost code list matched line for line between estimating and accounting
Labor burden recalculated annually by trade and pushed into the bid template
Daily time sheets by cost code by job
Vendor invoice intake owned by one person and routed for approval by 10am
Owned equipment allocated to jobs weekly off a cost-per-hour rate sheet
The four job costing reports, each on its own cadence
$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SURPRISES.

Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. No hourly billing, no payroll, and no add-ons.

Last 12 months revenueMonthly fee
Up to $1M$1,900 to $2,900
$1M to $3.5M$2,600 to $3,900
$3.5M to $6.5M$3,800 to $5,700
$6.5M to $9.5M$5,100 to $7,100
$9.5M to $12.5M$6,100 to $8,500
$12.5M to $15.5M$7,400 to $11,000
$15.5M to $18.5M$9,400 to $13,500
$18.5M+Quoted individually

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.

Your bookkeeper keeps doing the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.

We do the books. No payroll.

Strategic

Every job shows its margin while it's still running.

Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.

We do the job costing.

COMMON QUESTIONS

FREQUENTLY ASKED.

Construction job costing is the practice of tracking costs by individual job and by cost code within each job. It answers which jobs are making money and which are losing money while the work is still running. Without job costing, subcontractors find out at closeout, when there's nothing left to do about it.
Cost codes in the accounting system have to mirror the cost code list in the estimating system line for line. If the estimate breaks labor into four categories, the accounting system carries those same four. Most subs run different code structures in the two systems, which makes any estimate-to-actual comparison impossible.
By trade: concrete and structural 1.30 to 1.40, electrical 1.35 to 1.50, civil with prevailing wage 1.45 to 1.65, and SWPPP 1.25 to 1.32. The rate is total labor cost, meaning wages plus taxes plus workers comp plus insurance plus benefits plus PTO, divided by total productive hours rather than gross hours paid.
Within 48 hours of being incurred. Labor goes in the day after the work happens through daily time sheets by cost code. Material costs go in the day the invoice comes in. Equipment costs go in weekly at minimum. Data older than 48 hours is too stale to support a correction while the project is still running.
There are three common causes. The cost codes don't match between estimating and accounting. The labor burden in the bid doesn't match real burden. And costs are entered with a 2 to 4 week lag, which makes the data stale by the time anybody reads it. Fixing all three takes about 60 days under a fractional CFO engagement.
WHAT THIS TIES INTO
Josh Luebker, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial project manager and master electrician: 150+ projects worth $2.1B combined, from $50,000 to $300M. Now fractional CFO to commercial subcontractors.

CAN YOU COMPARE ONE OPEN JOB TO ITS ESTIMATE BY COST CODE TODAY?

Bring the estimate and the job cost report for the same job. We will tell you on the call whether the two lists can even be compared, and what it takes to fix it.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute diagnostic

20 minutes. No sales pressure. We will tell you exactly what's broken before we talk about anything else.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.