Constructelligence
Guide · cost codes

Construction cost codes: how to structure them and what they can tell you

Cost codes are how every dollar on a job gets a meaning. Structured well and used consistently, they turn the job cost ledger into the best estimating feedback a contractor has. This guide covers the common structures, how many codes to use, and how to read cost codes across jobs to find the problems a single job hides.

Updated · 9 minute read

Key takeaways
  • A cost code says what was built; a cost type (L, M, S, E, O) says what kind of cost it was.
  • Base codes on CSI MasterFormat so they compare across jobs and specs.
  • A code over on most jobs is an estimating problem; over on one job is a site or coding problem.
  • Give change orders their own codes so base-scope variance stays clean.

How cost codes are structured

Most contractors combine two things: a cost code for what was built and a cost type for what kind of cost it was.

PartExampleMeaning
Division06Wood, plastics and composites (CSI MasterFormat)
Code06-110Wood framing
Cost typeL · M · S · E · OLabor, material, subcontract, equipment, other

CSI MasterFormat organises work into 50 divisions (00–49) — 03 Concrete, 06 Wood, 09 Finishes, 22 Plumbing, 23 HVAC, 26 Electrical and so on. Using it, even loosely, makes codes comparable across jobs and with specifications.

03 - 310 - LDivisionCSI MasterFormat · 03 ConcreteItem310 · concrete crewCost typeL · M · S · E · OWhat was built (code) is kept apart from what kind of cost it was (type)
One code, three parts. Keeping the cost type separate is what lets the same code be compared across every job.

How many cost codes should you use?

Enough to separate costs that behave differently, few enough that the field codes them correctly. For a self-performing contractor that is usually a few dozen to a couple of hundred active codes per job, depending on how much work is self-performed. Signs you have too many: large amounts in catch-all codes, and the same work coded differently on different jobs. Too few: variance you can see but cannot explain.

Reading cost codes across jobs

A single job’s cost-code report tells you which codes are over. Comparing the same code across every job tells you why:

A statistical outlier test (how many standard deviations a job sits from the code’s average) separates the two automatically. The cost-codes view in the demo shows a code-by-job heatmap and these reads on sample data.

01-100 Supervision06-110 Framing crew09-900 Paints22-000 Plumbing Job AJob BJob CJob DJob E ← estimating.← one job← bid is loose
Read a code across every job: a red row is the estimate, a single red cell is the site — or a miscoded cost.
CalculatorEstimating problem or site problem?

For more inputs, a second forecast and a shareable link: the markup vs margin calculator →

Keeping codes consistent

Changing the structure without breaking history

Cost code lists grow until nobody trusts them. Fixing one is worth doing, but a new structure on day one of a new year orphans every past job's cost unless it comes with a crosswalk:

The same crosswalk discipline is the core of a system change — see construction data migration.

Checklist
Cost code list template in Excel, filled in with example rows — columns: Division, Cost code, Description, Cost types used, Unit of measure, Notes
The cost code list template as it opens in Excel: example rows in italics, calculated columns shaded.
Free template · Cost code list template (Excel & CSV)An Excel workbook with drop-downs, validation and formulas built in — or the same columns as a CSV for Google Sheets and Numbers.
Download Excel (.xlsx)
What this template captures

A cost code list: division, code, description, cost types used and unit of measure.

6 columns: 6 you fill in. In the Excel version, the header row stays frozen with filters on it, and the workbook opens on an Instructions sheet that lists every column below.

Every column, and how it is captured
ColumnTypeWhat goes in it
DivisionTextFree text.
Cost codeTextCost code from your cost code list, matching the estimate and the ERP.
DescriptionTextWhat the line is, in words the other party will recognise.
Cost types usedTextFree text.
Unit of measureTextFree text.
NotesTextAnything that explains the row; free text.

See it on real-looking numbers

Constructelligence is a construction intelligence platform: it reads your ERP, project and field systems read-only and does this arithmetic every week, for every job. The demo runs it on a sample eight-job portfolio.

Try the demoJoin the private beta

Frequently asked questions

What are cost codes in construction?

Cost codes are the categories every cost on a job is recorded against — usually a code for the scope of work, often based on CSI MasterFormat divisions, combined with a cost type such as labor, material, subcontract or equipment.

What is CSI MasterFormat?

MasterFormat is the Construction Specifications Institute's standard for organising construction work into 50 numbered divisions, such as 03 Concrete, 09 Finishes and 26 Electrical. Many contractors base their cost codes on it.

How many cost codes should a construction company have?

Enough to separate costs that behave differently and few enough to be coded correctly in the field — for a self-performing contractor, usually a few dozen to a couple of hundred active codes per job.

How do you analyse cost code variance?

Compare each code with its budget on a job, and then compare the same code across every job. A code over on most jobs points to an estimating assumption; a code over on one job only points to a site or miscoding problem.

How many cost codes should a contractor have?

As few as the decisions they support. Every code should be one an estimator prices and a PM manages; codes that are never budgeted or never reviewed add coding errors without adding information.

Should construction cost codes follow CSI MasterFormat?

It is a common and useful starting point, especially for trades that bid from specifications, but use only the divisions and sections you actually price, and add cost types (labor, material, subcontract, equipment) rather than more codes.

CI
Written by the Constructelligence teamConstruction finance and software. Worked examples use the sample demo portfolio; formulas are standard practice. Reviewed September 2026.

More in Forecasting & cost

Free tools for this topic: Construction cost overrun calculator · Construction labor burden calculator · Construction markup vs margin calculator

All forecasting & cost resources →