Free Template · Excel · No Email Required

Construction Cost Codes List, by CSI Division.

Here's a construction cost codes list you can actually start with: all 50 CSI MasterFormat divisions, a 29-code starter set for a general contractor, a specialty subcontractor example, and a job budget tab that compares estimate to actual. It's all in one free Excel file.

Download the Cost Code List
construction-cost-codes-template.xlsx
Short answer

A construction cost code combines a job number, a phase code and a cost type. Most contractors build phase codes on the 50 CSI MasterFormat divisions (00 to 49), for example 03 Concrete or 26 Electrical, then add a phase number and a cost type: labor, material, subcontract, equipment or other. For a contractor doing $1M to $5M, 15 to 30 active phase codes is usually enough.

The download is an Excel workbook with five tabs: a read-me, the full CSI Divisions list, a GC Starter Codes list, a Specialty Sub Example for an electrical contractor, and a Job Budget tab that compares estimate to actual by cost code. The starter rows are marked as sample data. Change them, delete them, or add your own in the blank rows at the bottom.

What are the 50 CSI MasterFormat divisions?

MasterFormat is the numbering system the Construction Specifications Institute (CSI) publishes for organizing project specifications. Since the 2004 edition it has used 50 divisions, numbered 00 to 49. Division 00 is the procurement and contracting requirements group. Divisions 01 to 49 are the specifications group, split into five subgroups. Here's the division-level list.

DivisionTitleGroup / subgroup
00Procurement and Contracting RequirementsProcurement and Contracting Requirements
01General RequirementsGeneral Requirements
02Existing ConditionsFacility Construction
03ConcreteFacility Construction
04MasonryFacility Construction
05MetalsFacility Construction
06Wood, Plastics, and CompositesFacility Construction
07Thermal and Moisture ProtectionFacility Construction
08OpeningsFacility Construction
09FinishesFacility Construction
10SpecialtiesFacility Construction
11EquipmentFacility Construction
12FurnishingsFacility Construction
13Special ConstructionFacility Construction
14Conveying EquipmentFacility Construction
15ReservedFacility Construction
16ReservedFacility Construction
17ReservedFacility Construction
18ReservedFacility Construction
19ReservedFacility Construction
20ReservedFacility Services
21Fire SuppressionFacility Services
22PlumbingFacility Services
23Heating, Ventilating, and Air Conditioning (HVAC)Facility Services
24ReservedFacility Services
25Integrated AutomationFacility Services
26ElectricalFacility Services
27CommunicationsFacility Services
28Electronic Safety and SecurityFacility Services
29ReservedFacility Services
30ReservedSite and Infrastructure
31EarthworkSite and Infrastructure
32Exterior ImprovementsSite and Infrastructure
33UtilitiesSite and Infrastructure
34TransportationSite and Infrastructure
35Waterway and Marine ConstructionSite and Infrastructure
36ReservedSite and Infrastructure
37ReservedSite and Infrastructure
38ReservedSite and Infrastructure
39ReservedSite and Infrastructure
40Process InterconnectionsProcess Equipment
41Material Processing and Handling EquipmentProcess Equipment
42Process Heating, Cooling, and Drying EquipmentProcess Equipment
43Process Gas and Liquid Handling, Purification, and Storage EquipmentProcess Equipment
44Pollution and Waste Control EquipmentProcess Equipment
45Industry-Specific Manufacturing EquipmentProcess Equipment
46Water and Wastewater EquipmentProcess Equipment
47ReservedProcess Equipment
48Electrical Power GenerationProcess Equipment
49ReservedProcess Equipment

Source: division numbers and titles as published in CSI MasterFormat. MasterFormat is a trademark of the Construction Specifications Institute. CSI revises the list periodically and sells the full section-level numbering (the six-digit numbers under each division), which isn't reproduced here. If a project spec calls out a section number, use the current edition from CSI.

Which divisions does a building contractor actually use?

Most commercial and residential building work lands in a handful of divisions: 01 General Requirements, 02 through 10 for the building shell and interiors, 21 through 28 for fire protection, plumbing, HVAC, electrical and low voltage, and 31 through 33 for sitework and utilities. The process equipment divisions (40 to 48) mostly matter to industrial and plant work. In the spreadsheet, the CSI Divisions tab flags the 19 divisions most building contractors use, so you can filter to them.

What does a starter cost code list look like for a general contractor?

Here's the general contractor starter set from the template: 29 phase codes, each built from a CSI division number plus a three-digit phase number. The checkmarks show which cost types we'd typically track on each phase for a contractor who self-performs carpentry and concrete and subcontracts most trades. Yours will be different, and that's the point of making it editable.

CodePhaseLMSEO
01-100Project management and field supervision✓
01-200Temporary facilities, trailer and temporary utilities✓✓✓
01-300Permits, fees, testing and inspections✓
01-400Cleanup, dumpsters and haul-off✓✓✓
01-500Job-specific bond and insurance✓
02-100Selective demolition✓✓✓
03-100Footings and foundations✓✓✓
03-200Slabs and flatwork✓✓✓
04-100Masonry✓
05-100Structural and miscellaneous steel✓✓
06-100Rough carpentry and framing✓✓
06-200Finish carpentry, millwork and casework✓✓✓
07-100Insulation, waterproofing and sealants✓
07-200Roofing and sheet metal✓
08-100Doors, frames and hardware✓✓
08-200Windows, storefront and glazing✓
09-100Metal studs, drywall and ceilings✓
09-200Flooring✓
09-300Painting and wall coverings✓
10-100Specialties: toilet accessories, signage, partitions✓✓
21-100Fire sprinkler✓
22-100Plumbing✓
23-100HVAC✓
26-100Electrical✓
27-100Low voltage, data and communications✓
31-100Excavation, grading and erosion control✓✓
32-100Paving, curbs and site concrete✓
32-200Landscaping and irrigation✓
33-100Site utilities: water, sewer, storm✓

The three-digit suffixes (100, 200, 300) are our own simple numbering, not CSI section numbers. They're spaced out so you can add a phase later, say 03-150 for a retaining wall, without renumbering anything.

How should a specialty subcontractor set up cost codes?

A specialty subcontractor lives inside one or two divisions, so the phase codes split your own trade into stages a foreman would recognize. Here's the electrical example from the template. A plumbing, HVAC, concrete or framing contractor would follow the same pattern inside 22, 23, 03 or 06.

CodePhaseLMSEO
01-100Project management and foreman time✓
01-200Temporary power and lighting✓✓✓
01-300Permits and inspections✓
26-100Underground and slab rough-in✓✓✓
26-200Wall and ceiling rough-in✓✓
26-300Service, switchgear and panels✓✓✓
26-400Feeders and branch wiring✓✓
26-500Lighting fixtures and controls✓✓
26-600Devices and trim-out✓✓
27-100Low voltage and data cabling✓
28-100Fire alarm✓
31-100Trenching and backfill✓✓

Notice that 01 General Requirements still shows up. Supervision, temporary power and permits are real job costs for a subcontractor too, and burying them in rough-in makes the rough-in look worse than it is.

How do phase codes and cost types become job cost codes?

A job cost code has three parts: job number, phase code and cost type. Cost types are L (labor), M (material), S (subcontract), E (equipment) and O (other). So 2604 / 03-200 / L means field labor on slabs and flatwork at job 2604. In the template, you mark Y under each cost type you track, and the last column writes out the codes to set up in your accounting system. The 29 general contractor phases above turn into 46 job cost codes, because most phases only need one or two cost types. That's a list a field team can actually use.

How do you compare estimate to actual by cost code?

The Job Budget tab does this for one job. For each cost code you enter the estimate, actual cost to date, committed cost that hasn't been invoiced yet (signed subcontracts and purchase orders), and estimated remaining cost that isn't committed. The sheet adds the last three into a projected cost at completion and compares it with the estimate. Here are three rows from the sample job.

Cost codeEstimateActualCommittedRemainingProjectedVariance
01-100 L Supervision$48,000$52,500$0$6,000$58,500($10,500)
06-100 L Framing labor$64,000$41,000$0$21,000$62,000$2,000
22-100 S Plumbing$96,000$58,000$38,000$2,500$98,500($2,500)

The math on the first row: $52,500 + $0 + $6,000 = $58,500 projected, against a $48,000 estimate, so supervision is running $10,500 (21.9%) over. Across all ten sample rows, the job is projected at $661,800 against a $651,500 estimate, a $10,300 overrun, and almost all of it sits in one cost code. That's what a cost code list is for: it tells you where to look.

Why that matters, and how contractors use the answer to bid differently, is the subject of our post on construction cost codes and job profitability. Once the codes are in place, the projected cost at completion feeds the estimated cost to complete column in the free WIP schedule template.

Do you have to use CSI codes?

No. Plenty of specialty subcontractors use their own list, and that's fine. The rule that matters is simpler: estimate in the same codes you account in. If your estimator bids in 12 categories and your bookkeeper codes into 40 different ones, there's nothing to compare. CSI numbering helps because architects and engineers already organize the drawings and specs that way, so a scope in the bid package maps to a code without a translation step. If you're setting up job costing in QuickBooks or Sage for the first time, our QuickBooks consulting team can build the list into your file. For the bigger picture, see Construction Accounting 101.

Frequently Asked

Cost code questions, answered.

What are CSI cost codes?
CSI cost codes are cost codes based on MasterFormat, the numbering system the Construction Specifications Institute publishes for organizing construction specifications. MasterFormat has 50 divisions numbered 00 to 49, and many contractors use the two-digit division number as the first part of each phase code so their estimates, specs and job cost reports line up.
How many CSI divisions are there?
There are 50 numbered divisions, 00 through 49. In the published list, 35 have titles and 15 are reserved for future expansion. Division 00 covers procurement and contracting requirements, and Divisions 01 through 49 make up the specifications group.
Do I have to use CSI MasterFormat for my cost codes?
No. Nothing requires it. MasterFormat is a convenient starting point because architects and engineers organize specs that way. What matters more is that your estimate and your accounting system use the same codes, so you can compare estimated cost to actual cost line by line.
How many cost codes should a small contractor have?
For a contractor doing $1 million to $5 million a year, 15 to 30 active phase codes is a practical range. Fewer than that and you can't see where a job went wrong. Hundreds of codes and your field team stops coding accurately.
What's the difference between a phase code and a cost type?
The phase code says which scope of work the cost belongs to, such as 03-200 slabs and flatwork. The cost type says what kind of cost it was: labor, material, subcontract, equipment or other. Put together with the job number, they make one job cost code, like 2604 / 03-200 / L.

Want job costing that tells you which job lost money?

Free 30-minute call. We'll look at how your jobs are coded today and what it would take to see estimate versus actual every month.

Schedule Free Call