Construction Cost Codes: How to Build a List That Works

September 4, 2025 Last updated on October 8, 2026

Last verified: October 2026

It is month end and a £14,600 valuation has just come in from your groundworker.

An image displaying the cost codes structured by cost head and budget items

It covers excavation, foundations and below-ground drainage. Your estimate has a separate code for each, so someone now has to split one valuation into three lines and guess the proportions. Do that on every job, every month, and the cost report is built on guesses.

Construction cost codes are meant to stop that. This guide covers what they are, the standard UK and US structures (NRM, CSI MasterFormat and NAHB), and how to build a list that matches the way you buy work. It also shows how to reuse coded costs to price the next job faster. You can grab our free construction cost codes spreadsheet to start from.

What are construction cost codes?

A cost code is a short label, usually a number, that tells you which part of a job a cost belongs to. Every estimate line, purchase order, timesheet and supplier invoice gets one.

Once everything carries a code, you can line up three numbers for each part of the job: what you priced, what you have committed through orders and subcontracts, and what you have spent. That comparison is the core of construction job costing.

Most lists have two or three levels. A cost head such as “Groundworks” holds items such as “Excavation” or “Drainage”, and the code shows both, for example 02 for the head and 02.03 for the item.

Cost codes also give estimators, project managers, buyers and the office one shared language. Without them, the estimator calls it “drainage”, the site team calls it “below-ground” and the accounts call it “subcontractors”, and nobody can add the three together.

Standard cost code structures in the UK and US

You do not have to invent a list from nothing. Three published structures cover most of what contractors use. All of them are designed for something other than day-to-day job costing on a small contractor’s project, which is why most firms adapt them.

UK: RICS NRM 1 and NRM 2

The RICS New Rules of Measurement are the UK reference. NRM 1 is for cost planning and groups a building into numbered group elements, each split into elements and sub-elements. The group elements used for building works are:

NRM 1 group elementTitle
0Facilitating works
1Substructure
2Superstructure (frame, upper floors, roof, stairs, external walls, windows and doors, internal walls, internal doors)
3Internal finishes
4Fittings, furnishings and equipment
5Services
6Prefabricated buildings and building units
7Work to existing buildings
8External works
9Main contractor’s preliminaries
10Main contractor’s overheads and profit

NRM 1 goes on to project fees, other development costs, risks and inflation, which matter to the client’s cost plan more than to a contractor’s job costs.

NRM 2 covers detailed measurement for bills of quantities. It splits work into 41 work sections, from 1 Preliminaries, 5 Excavating and filling and 11 In-situ concrete works through 14 Masonry, 16 Carpentry and 28 Floor, wall, ceiling and roof finishings to 38 Mechanical services, 39 Electrical services and 41 Builder’s work in connection with services.

One detail in NRM 2 matters for contractors. It accepts that cost plans have to be restructured from elements into works packages for procurement, and it deliberately does not standardise those packages, because they change from project to project. So even the UK standard leaves the buying structure to the contractor.

US commercial: CSI MasterFormat

In North America, most commercial contractors take their top-level codes from CSI MasterFormat, published by the Construction Specifications Institute and Construction Specifications Canada. Divisions are numbered 00 to 49, with some numbers reserved for future use. The divisions most building contractors use are:

DivisionTitle
00Procurement and Contracting Requirements
01General Requirements
02Existing Conditions
03Concrete
04Masonry
05Metals
06Wood, Plastics, and Composites
07Thermal and Moisture Protection
08Openings
09Finishes
10Specialties
11 to 14Equipment, Furnishings, Special Construction, Conveying Equipment
21 to 23Fire Suppression, Plumbing, HVAC
25 to 28Integrated Automation, Electrical, Communications, Electronic Safety and Security
31 to 33Earthwork, Exterior Improvements, Utilities

CSI released MasterFormat 2026 this year. Most of the changes sit in divisions 32 Exterior Improvements and 34 Transportation, and the building divisions above keep their numbers. Each division breaks down into six-digit section numbers, such as 03 30 00 for cast-in-place concrete, which is far more detail than most contractors need for job costing. If you bill on AIA forms, see our guide to AIA construction codes for billing.

US residential: NAHB cost codes

Home builders in the US often use the cost codes from the NAHB (National Association of Home Builders) chart of accounts. Its direct construction cost ledger follows the order you build a house in:

NAHB code rangeGroupExample codes
1000 to 1999Preparation preliminaries1010 Building permits, 1120 Surveys, 1210 Lot clearing
2000 to 2999Excavation and foundation2000 Excavation and backfill, 2100 Footings and foundation
3000 to 3999Rough structure3140 Trusses, 3300 Windows, 3610 HVAC rough
4000 to 4999Full enclosure4100 Roofing material, 4150 Roofing labor, 4400 Insulation
5000 to 5999Finishing trades5100 Drywall, 5400 Cabinets and vanities, 5540 Carpet
6000 to 6999Completion and inspection6100 Clean-up, 6300 Driveways, 6600 Landscaping

Notice that NAHB already splits some items by how they are bought, for example roofing material and roofing labour, or framing labour by draw. Our NAHB cost codes guide has the full list as a free download.

Which structure should you start from?

StructureBuilt forLevel of detailGood starting point if you
RICS NRM 1Cost planning by elementGroup element, element, sub-elementWork with QSs or price from elemental cost plans (UK)
RICS NRM 2Bills of quantities by work section41 work sectionsPrice from bills of quantities (UK)
CSI MasterFormatSpecifications50 divisions, thousands of sectionsDo US commercial work priced from specs
NAHBHome builder accountingSix groups, about 100 codesBuild or remodel homes in the US
Your own listYour estimates and ordersWhatever you can keep accurateRun a small firm with a steady type of work

For most small contractors, the best first list is the one already sitting in your last few estimates. Tidy it up, check it against one of the standards so nothing obvious is missing, then test it against how you buy.

Build your cost codes around how you buy the work

Most cost code lists are built to match the estimate, but money leaves the business through orders: a subcontract, a supplier order, a plant hire agreement or a week of your own labour.

If one subcontract covers three cost codes, every valuation from that subcontractor has to be split by hand. The split is usually a guess, and the guess hides exactly the overrun you wanted to see.

So check each code against one question: do we buy this separately? If you let groundworks as one package, give it one code, or a parent code with children only where you really do order the parts separately. If you buy bricks from a merchant and use your own bricklayers, masonry probably needs two codes, materials and labour, because two different documents will arrive.

A quick test is to take last month’s invoices and try coding each one. Any invoice you have to split across several codes points to a code that does not match how you buy. Any code nothing landed on may not need to exist.

"The contractor would typically send over an email containing a zip file with about 150 invoices every single month. Trying to manually allocate each of those to the correct invoice in Excel, and then further allocate them to specific cost codes within the building to get a reasonable assessment of our spending by category, was an incredibly time-consuming and frustrating process."

Read more
Paul Treweek, Quantity Surveyor & Estimator
Paul Treweek Quantity Surveyor & Estimator  ·  DPTQS Ltd  ·  Cornwall, United Kingdom

Pricing can still be detailed. An estimator may price excavation, concrete and reinforcement separately to get the rate right, then roll them up into the groundworks package code when the job is won.

How many cost codes? Finding the right level of detail

Too few codes and a single “Structure” line hides whether the problem is steel, blockwork or labour. Too many and people stop reading the list. They pick the nearest code, or the one they used last time, and costs land in the wrong place.

A long list also produces reports nobody reads. If the monthly cost report runs to 300 lines, the three lines that matter get lost.

These checks help you find the balance:

  • Would two people code the same invoice the same way? If not, merge or rename the codes.
  • Would you act on a variance on this code? If a £200 overrun on “sundries” changes nothing, it does not need its own code.
  • Do you buy it separately? If yes, it probably needs a code. If no, it probably does not.
  • Is the code used on most jobs? Codes used once a year belong under a broader head.

Keep cost type (labour, materials, plant, subcontract) out of the code number where you can. Most software lets you record it as a separate field, which keeps the list short while still letting you report labour across all codes.

Example construction cost codes list

Here is a short example for a small UK main contractor doing extensions, refurbishments and small new builds. The last column shows how each item is usually bought, which is what decides the split.

CodeCost headItemHow it is usually bought
01.01PreliminariesSite set-up and welfareHire orders
01.02PreliminariesScaffoldingSubcontract
01.03PreliminariesSkips and wasteSupplier account
01.04PreliminariesSite managementOwn staff
02.01GroundworksGroundworks packageSubcontract
03.01SuperstructureMasonry materialsMerchant orders
03.02SuperstructureBricklaying labourLabour-only subcontract
03.03SuperstructureTimber frame and roof structureSupply and fix subcontract
04.01EnvelopeRoof coveringsSubcontract
04.02EnvelopeWindows and external doorsSupplier order
05.01ServicesElectrical installationSubcontract
05.02ServicesPlumbing and heatingSubcontract
06.01FinishesPlastering and dryliningSubcontract
06.02FinishesSecond fix joineryOwn labour plus materials
06.03FinishesDecorationSubcontract
07.01External worksPaving, fencing and landscapingSubcontract

For the full list in Excel, download our free construction cost codes spreadsheet and delete what you do not use. US home builders can start from the NAHB cost codes list instead.

How to set up cost codes, step by step

1. Start from your last few estimates

Pull the headings and items from your last three to five estimates. Those names are what your team already uses, so the list will feel familiar from day one.

2. Get estimators, project managers and buyers to agree it

A common mistake is estimators using one set of codes and project managers another. That breaks the link between the estimate and the actual cost. Agree one list, write a one-line description for each code, and use it from the first estimate to the final account.

3. Map cost codes to your nominal codes

Your accounts still need nominal codes (the chart of accounts) for the profit and loss. Decide which nominal code each cost code posts to, so an invoice coded on the project side lands in the right place in the books. Our guides to the construction chart of accounts for Xero and Xero tracking categories for job costing show how the two fit together. For the wider setup, see our construction accounting guide for small contractors.

4. Code costs when you order, not when the invoice arrives

Put the cost code on the purchase order or subcontract. Then the commitment shows against the right code straight away, and the invoice inherits the code when it is matched to the order. Coding at invoice stage means you only see costs weeks after you committed to them.

5. Review by cost code every month

Use the codes to run a monthly cost review or CVR. When every project uses the same list, a director can compare jobs side by side and spot the code that is going wrong on all of them.

6. Close the loop at the end of each job

When a job finishes, sit the estimator and project manager down with the final cost by code. Which codes made money, which lost it, and was the problem the quantity or the rate? Update the list and your rates with what you learn.

"What makes Planyard so effective is how it presents the critical data. It links cost codes directly to the budget and current costs, while providing a clear forecast for what's ahead. Being able to see the variances between the original budget and the actual spend-to-date at a glance is exactly what we need to stay in control."

Read more
Jason Escobar, Project Management / Systems & Process Dev
Jason Escobar Project Management / Systems & Process Dev  ·  The Keane Group  ·  Queensland, Australia

Cost codes on every order, not just the estimate

Planyard carries your codes from estimate to budget, orders and invoices, so cost reports build themselves. 14-day free trial.

Reuse coded costs to price the next job faster

Once a few jobs are coded the same way, your past projects become a price book. You can see what groundworks cost per square metre of floor area on your last four extensions, or what you really paid for plastering against what you priced.

That makes quick estimates far more reliable. For an early budget price, take the cost per code from two or three similar finished jobs, adjust for size and inflation, and you have a figure built from your own results.

It also shows patterns a single job never will. If the same code has gone over budget on your last three jobs of one type, the estimate is wrong, and you can fix the rate before you price the next one.

None of this works if the codes keep changing. Changing the list every few months breaks the comparison, so make changes at year end or between jobs, and keep a note of what was merged or renamed.

"With this database, I can go to one central place and change a rate, and that item is updated throughout the entire job. It’s the same with material rates—I can just update them in one spot and the system remembers it everywhere. It's a huge step up in efficiency."

Read more
Paul Treweek, Quantity Surveyor & Estimator
Paul Treweek Quantity Surveyor & Estimator  ·  DPTQS Ltd  ·  Cornwall, United Kingdom

Running cost codes in Excel or in software

A spreadsheet is a fine way to start. It is easy to share and easy to change, and our free construction cost codes spreadsheet gives you a ready-made list.

It gets harder once several people are coding orders and invoices across several jobs. Codes drift, someone adds a new line on one job only, and month end turns into reconciling versions of the same file.

Construction job costing software keeps one central list. In Planyard you import your cost codes or an existing estimate, and the codes become budget lines. Purchase orders and subcontracts are raised against those lines, invoices are matched and coded, and approved bills go to Xero, QuickBooks or Sage with the nominal code already set.

The central budget codes database, budget import and Xero, QuickBooks and Sage sync start on the Essential plan at £82 per project manager per month. Purchase orders and approval workflows start on Professional at £123. There is a 14-day free trial, and you can see how it fits together on our job costing software page.

"When we used to do our month-end CVRs it could usually take 3-4 days to put them together. It now takes me 10-15 minutes to just quickly go through the jobs and check that I haven’t missed anything."

Read more
Claire Hill, Estimator and quantity surveyor
Claire Hill Estimator and quantity surveyor  ·  Brown & Bancroft Interiors  ·  Bolton, United Kingdom

Stop splitting invoices by hand

Set up your cost codes once and use them on every estimate, order and invoice. Start a 14-day free trial or book a demo.

Frequently asked questions

We've got your questions covered. If you can't find the answer below, then feel free to contact us via the chat.

Cost codes are short labels, usually numbers, that tell you which part of a job a cost belongs to. Every line in the estimate, every order and every invoice carries one, so you can compare what you priced with what you have committed and spent on each part of the work.

Upload your project budget and follow the financial progress in real-time

No credit card required. No sales or IT support needed.