Construction Job Costing Standards for Subcontractors.
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 is 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 for every industry, which is why construction-specific structure matters.
If your job costing is generating data nobody acts on, the problem is rarely the software. It is the structure of the cost codes, the discipline of the entry, and the cadence of the review. This page is what the structure should look like.
Cost Codes Must Match the Estimate Structure.
The single most common breakdown in subcontractor job costing is estimate-to-actual misalignment. The estimator builds the bid using one set of cost categories. 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.
The fix is structural. The cost code list in the accounting system must 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," the accounting system has those four cost codes too. If the estimate burdens labor at 1.32, the accounting system burdens labor at 1.32.
This sounds obvious. In the field across 24 trade specializations, fewer than one in four subs actually does it. The Construction CFO rebuilds the cost code structure as the first move in every Executive Financial onboarding. The rebuild takes about two weeks and immediately makes every job costing report comparable to the estimate.
The field pattern: a commercial subcontractor's accounting system carries a cost code list dramatically shorter than the estimating system, often half or less. The rebuild creates a matched list across both systems and immediately makes every cost report comparable to the estimate. The first WIP after a properly executed rebuild almost always catches a labor or material overrun on an active job early enough to do something about it. Catching it early is the entire point. Catching it at closeout is too late.
If Your Burden Is Wrong, Every Job Cost Is Wrong.
Labor burden is the multiplier that converts a worker's hourly wage into the true cost to the company. It includes payroll taxes, workers' comp, general liability, health insurance, retirement contributions, paid time off, and any other employer-paid benefit.
The CFMA-standard formula is total labor cost divided by total productive hours. Productive hours means hours actually billable to jobs, not gross hours paid. A worker paid for 2,080 hours a year who has 80 hours of PTO and 40 hours of training has 1,960 productive hours. The burden gets divided over 1,960, not 2,080.
Typical burden rates for commercial subs by trade:
Concrete and structural: 1.30 to 1.40 (so a $28/hr wage costs the company $36 to $39 per productive hour). Electrical: 1.35 to 1.50. Civil and earthwork with prevailing wage exposure: 1.45 to 1.65. SWPPP with light labor profile: 1.25 to 1.32.
The wrong burden distorts every job. If a sub estimates with 1.30 burden but actual burden is 1.42, every project loses 12 cents on every labor dollar billed. On a $1M project with $400K of labor, that is $48K of margin gone before the job starts.
Field pattern: a commercial subcontractor has been estimating with the same labor burden rate for three or four years and never recalculated it. Actual burden has drifted higher because workers' comp rates went up, health insurance went up, payroll taxes are at the new threshold. The bid burden is now 8 to 20 cents low on every labor dollar. On a labor-heavy job, that gap eats most of the margin before the work starts. The fix is recalculating actual burden every year and pushing the new number into the next bid cycle.
Costs Entered Within 48 Hours, or the Data Is Useless.
Job costing data that is two weeks old is too stale to act on. A pay app cycle is 30 days. A material delivery problem caught at day 4 can be corrected. Caught at day 18, it has already cascaded into a labor delay, a schedule slip, and a change order conversation that should have happened two weeks earlier.
The CFOS standard is costs entered within 48 hours of being incurred. Labor entered the day after the work happens. Material costs entered the day the invoice arrives. Equipment costs entered weekly at minimum.
This requires three operational changes in most subs.
1. Daily time sheets, not weekly. Field supervisors submit hours the day after they happen, by cost code, by job. Most subs run weekly time sheets and lose the granularity. Daily takes about 8 minutes per supervisor and pays back in the first month.
2. Invoice intake at the same desk every day. One person owns vendor invoice intake, opens the mail (or downloads from portal) every morning, and routes invoices for approval by 10am. This drops the entry lag from 5 to 12 days to 1 to 2.
3. Equipment cost allocated automatically. Owned equipment runs on a cost-per-hour basis allocated to jobs each week, not at month end. The Construction CFO sets up the rate sheet during onboarding and configures the accounting system to push the cost automatically.
What You Read Off the Job Costing Data.
Job costing produces data. Without the right reports, the data sits in the system unused. Four reports turn job costing into operational decisions.
1. The job profitability report by job. For each active job: contract value, billings to date, costs incurred to date, estimated cost to complete, percent complete, earned revenue, current margin, projected margin at completion. Updated monthly. Read in the WIP meeting.
2. Estimate vs actual by cost code by job. For each cost code on an active job, the estimated cost vs actual cost to date. This is the report that catches a $30K labor overrun at day 21 instead of at closeout. Updated weekly on jobs over $500K.
3. Labor productivity by crew by job. Hours per unit (cubic yard, square foot, linear foot, whatever the trade uses) by crew and by job. Top quartile commercial subs track this. Bottom quartile do not. The Construction CFO builds productivity tracking into every Executive Financial engagement.
4. Closeout report by job. Final actual vs final estimated for every cost code. Used to update the estimating system and burden rates for the next bid. Closeout reports that sit unread are why subs keep making the same estimating mistakes year after year.