Industry

CSI MasterFormat 2020: The Divisions You're Still Coding Wrong

MasterFormat was last meaningfully revised in 2020. Five years in, most estimating departments are still pushing scope across the wrong division boundaries — plumbing into HVAC, data into power, low-voltage into electronic safety. The miscoding does not change the total. It breaks your history database, your cost code crosswalk to Sage and Procore, and your next-project production rate math.

Sarah O'Brien Estimating Director, MEP
March 23, 2026 11 min read

A short history of the numbering

MasterFormat is the organizational standard for construction specifications published jointly by the Construction Specifications Institute (CSI) and Construction Specifications Canada (CSC). The 1995 edition used the old 16-division, 5-digit structure that many older estimators still have muscle memory for. The 2004 edition expanded to 50 divisions and a 6-digit numbering system. The 2020 edition (published November 2019, effective 2020) is the current official release; subsequent annual updates since then are additive — new section numbers get reserved but the overall framework stands.

The 2020 revision made three categories of change that matter to estimators: it moved several Level 2 subsections to align with how modern trade contractors actually scope work, it added new sections under emerging technologies (integrated automation, distributed energy), and it tightened the language on several ambiguous Level 3 titles that had been getting dual-coded.

PageFormat: the 6-digit hierarchy

MasterFormat uses a 6-digit section number with three levels of hierarchy (PageFormat):

Format: XX YY ZZ
XX = Division (01-49, plus specialty 50-series)
YY = Level 2 subsection
ZZ = Level 3 subsection

Example: 23 05 13 = Common Motors for HVAC Equipment
23 = Division 23 (HVAC)
05 = Common Work Results for HVAC
13 = Common Motors (Level 3)

CSI also supports a longform (eight-digit) extension for organizations that need Level 4 granularity, written as XX YY ZZ.WW. Most cost databases stay at six digits. Shortform (five-digit legacy 1995) is deprecated — if your estimating system still emits five-digit codes, you have a crosswalk problem that is affecting every historical project comparison you run.

SectionFormat: the 3-part spec structure

Each MasterFormat section is written to a SectionFormat template with three mandatory parts:

PartTitleWhat the estimator cares about
Part 1GeneralScope summary, reference standards, submittals, quality assurance, delivery/storage — this is where the spec tells you what inspections and mockups are required. Price them.
Part 2ProductsManufacturer-approved-equal list, material specifications, fabrication requirements. This is where substitution language lives.
Part 3ExecutionInstallation, field QC, protection, cleaning, commissioning. Commissioning scope on MEP sections — hours and coordination — is frequently missed here.

When an estimator reads only the bullet scope list in Part 1 and skips Part 3, commissioning hours, startup witnessing, balance-and-test scope, and field QC hold points all walk out of the bid. On a mid-size commercial MEP package, that omission is routinely 1.5-3% of the trade subtotal.

The Division 22 vs. Division 23 boundary

Plumbing is Division 22. HVAC is Division 23. The boundary is conceptually clean and practically constant trouble. The 2020 MasterFormat draws the line at the medium being moved and the purpose of the system:

SystemDivisionRationale
Domestic cold water, hot water, HWR22 11 00Plumbing — potable water distribution
Sanitary waste, vent, storm22 13 00 / 22 14 00Plumbing — drainage
Natural gas piping (to equipment)22 11 23 (facility) / 23 11 23 (HVAC fuel)Split by end use — to a water heater = 22, to a boiler = 23
Hydronic heating/chilled water23 21 00HVAC — thermal conditioning
Steam and condensate23 22 00HVAC
Refrigerant piping23 23 00HVAC
Plumbing insulation22 07 00Plumbing — distinct from 23 07 HVAC insulation
Water heaters, domestic22 33 / 22 34Plumbing equipment
Boilers23 52 00HVAC central heating equipment

The common miscoding: gas piping coded entirely under 22 when it feeds both domestic water heaters and rooftop units. The right call is to split by end-point — the gas run to the water heater rolls into 22, the run to the boiler or rooftop unit rolls into 23. Lumping everything into 22 looks fine on the total but corrupts the Division 22 labor-hour-per-LF history forever.

The Division 26 / 27 / 28 split

In the 1995 16-division MasterFormat, everything low-voltage and communications lived in Division 16 alongside power. The 2004 edition broke that open, and the 2020 edition sharpened the boundaries:

DivisionScopeExamples
26 — ElectricalPower distribution, lighting, groundingSwitchgear, panels, conduit, branch wiring, fixtures, lightning protection
27 — CommunicationsVoice, data, AV, distributed antennaStructured cabling (27 15), data centers (27 25), AV (27 41), DAS (27 53)
28 — Electronic Safety & SecurityLife safety electronicsAccess control (28 13), video surveillance (28 23), intrusion (28 16), fire detection (28 31)

The high-frequency miscodes: fire alarm goes in 28 31 13 (not 26), even though the panel is often furnished and installed by the electrical contractor. Nurse call is 27 52 23 (Healthcare Communications), not 28. Access control low-voltage cable is 28 05 13, but the structured cable that also carries access control data is 27 15 — and the specifier sometimes wants both, sometimes wants one route only. Read the spec.

Common bid mistake

Coding all fire alarm scope under Division 26. On a commercial job with $180,000 of fire alarm, this pollutes your Division 26 labor productivity history and silently inflates your next electrical bid rate while understating your next 28 31 bid. The total is right today; every bid after is subtly wrong.

What the 2020 revision actually moved

The 2020 edition re-homed several subsections that had been ambiguous:

Cost code crosswalks: Sage, Viewpoint, Procore

Most ERP and project-management platforms use an internal cost code structure that either parallels MasterFormat or is derived from it. The crosswalk is where miscoding becomes permanent damage to your historical database.

The fix is a quarterly crosswalk audit: pull the cost code master from the ERP, compare to the current MasterFormat Table of Contents, and flag any code whose title does not match the current section description.

"We did a crosswalk audit in 2023 and found eleven cost codes in our Viewpoint master that had MasterFormat numbers but 1995-era titles. Every project since 2010 had been charging fire alarm labor to Division 26. Our electrical rate was 8% high and our fire alarm rate was 14% low. We were losing the bids we should have won and winning the ones we should have passed."

Sarah O'Brien, Estimating Director, MEP — reflecting on a crosswalk cleanup

Miscoding audit checklist

  1. Export the full cost code master from your ERP (Sage, Viewpoint, Procore, etc.)
  2. Compare each six-digit code to the 2020 MasterFormat TOC and the latest annual supplement
  3. Flag any code whose title diverges from the current MasterFormat section description
  4. Review Division 22 vs 23 boundary codes (gas piping, insulation) for consistent end-use split
  5. Review Division 26 / 27 / 28 boundary codes (fire alarm, AC low-voltage, nurse call, DAS)
  6. Confirm Division 25 Integrated Automation is distinct from equipment-level controls in parent divisions
  7. Verify site utilities are consolidated under Division 33 and not still in 02 or 31
  8. Document the crosswalk in a controlled spreadsheet; rerun quarterly

Why this matters for the next bid, not this one

Miscoding a division does not change a lump-sum bid total — the number is the number. What it changes is the production rate data you will pull from history the next time you bid similar scope. If your Division 26 history carries fire alarm labor, your Division 26 labor-hour-per-LF on branch conduit looks inflated, and your rate is systematically high. The competitor with a clean crosswalk is winning your electrical work at margin while you assume the market moved. It did not — your data did.

Key Takeaways

What to carry into your next MasterFormat cleanup

  1. MasterFormat 2020 is a 6-digit XX YY ZZ structure — the 1995 5-digit legacy should be retired everywhere
  2. Split Division 22/23 gas piping by end-use, not by convenience — water heater = 22, boiler = 23
  3. Fire alarm is Division 28 31 even when installed by the EC — do not roll it into Division 26
  4. Every spec section has three SectionFormat parts — commissioning hours live in Part 3, often unpriced
  5. Audit your Sage/Viewpoint/Procore cost code master quarterly against the current MasterFormat TOC

Clean crosswalks, cleaner bids.

PILRS tags every takeoff line to MasterFormat 2020 and flags division-boundary conflicts before the estimate leaves the desk. See it on your next bid — start at /pricing.

See Pricing