Construction Cost Codes 2026: The Complete Guide to Setting Up Job Costing in QuickBooks for Contractors
- Cost Construction Accounting

- 5 days ago
- 13 min read
By Tammy Hoang, QuickBooks ProAdvisor — Construction Bookkeeping Specialist | Construction Cost Accounting
(949) 889-3283 | constructioncostaccounting.com

Most contractors lose money on jobs they thought were profitable. The root cause is rarely material price spikes, labor overruns, or scope creep alone — it's that the firm's construction cost codes don't tell them the truth about where the money is going. Without a properly structured cost code list, every job's actual profitability gets buried in generic 'cost of goods sold' totals that don't reconcile to specific divisions of work. By the time the gap shows up on the P&L at year-end, the patterns that caused it are months old and impossible to correct mid-project.
This is the 2026 guide to construction cost codes written for general contractors who want their bookkeeping to actually drive better decisions. We cover what cost codes are, why the CSI MasterFormat standard's 50 divisions don't fit most residential and small-mid commercial contractors, the 29-division framework Construction Cost Accounting configures for clients, the three-tier sub-item pattern that makes construction job costing actually work, and the two-step QuickBooks workflow for setting it all up. Every example in this guide is based on CCA's production construction cost code list — not theoretical content.
If you're a general contractor evaluating cost codes for contractors for the first time, or you've inherited a cost code list from a previous bookkeeper that doesn't reconcile to your P&L, this guide is for you. As a construction bookkeeper team that builds cost code structures for contractors every week, our goal here is to give you the same practical guidance we would give a paying client in our first 30-minute call.
What Construction Cost Codes Actually Are
A construction cost code is a structured identifier that classifies every cost on a construction project by the type of work it relates to. In QuickBooks (Online or Desktop), cost codes are typically set up as Items in the Item List — each tied to a specific Cost of Goods Sold (COGS) account and a specific Income account. When a cost is recorded against an Item, QuickBooks automatically routes it to the right COGS account and ties it to the specific job for job costing purposes.
A well-structured cost code system does three things:
Organizes work — groups costs by phase of construction (Framing, Plumbing, Roofing, etc.) so the contractor can see where work is concentrated and which phases are over or under budget.
Classifies cost type — separates labor from materials from subcontractor cost within each phase, so the contractor can see whether a division is overrunning because labor went over, or because materials inflated, or because a sub came in high.
Routes to the right GL accounts — ties every cost to the correct COGS account on the P&L, so the chart of accounts always matches the underlying detail.
Without all three of these, the contractor cannot answer the question 'what did this job actually cost us?' beyond the total dollar figure. A construction cost code list that only tracks dollars by job — without separating labor, material, and subcontractor — gives the contractor a number but not an answer. A list that tracks cost type but doesn't route to GL accounts cleanly creates a permanent reconciliation gap between the cost code reports and the P&L. Both problems are common, and both are fixable with proper setup.
CSI MasterFormat Standard vs Residential Contractor Reality
The Construction Specifications Institute (CSI) publishes the MasterFormat standard, which divides construction work into 50 numbered divisions — the most widely recognized cost code framework in the United States. MasterFormat is excellent for large commercial and institutional construction, where the project specifications, bid documents, and submittal logs all reference the same 50 divisions. For mid-large general contractors and architecture firms working on commercial buildings, hospitals, and government projects, MasterFormat is the right framework.
For most residential and small-mid commercial general contractors, the 50-division MasterFormat is too granular. A typical residential remodeler doesn't need separate cost codes for 'Division 33 — Utilities' versus 'Division 34 — Transportation' — they need a practical construction cost code template that maps cleanly to the actual phases of residential construction. Most cost codes for residential construction should land in the 25-30 division range — enough granularity to drive real job costing decisions, simple enough that every project manager and bookkeeper can use it consistently without arguing about which division a cost belongs in.
BOOKKEEPER'S NOTE: The single biggest mistake we see contractors make with cost codes: copying the full 50-division CSI MasterFormat structure for a $2M residential remodeling firm. The result is dozens of cost codes that never get used, plus the codes that ARE used get applied inconsistently because no one remembers which obscure division a particular cost should go to. A practical 29-division framework — used consistently — beats a perfect 50-division framework used inconsistently. |
CCA's 29-Division Construction Cost Code Framework

Construction Cost Accounting uses a 29-division construction cost code list framework for residential and small-mid commercial general contractor clients. The framework is grouped by construction phase — Pre-Construction, Site Work, Structural, MEP (Mechanical/Electrical/Plumbing), Interior Finishes, Site Improvements, and Indirect/Overhead. Here's the full structure:
CCA'S 29-DIVISION CONSTRUCTION COST CODE FRAMEWORK
Grouped by construction phase — the residential and small-mid commercial structure CCA configures for contractors in QuickBooks Online
PRE-CONSTRUCTION | • 01 Plans & Permits • 27 Contingent |
SITE WORK | • 02 Site Work • 03 Excavation |
STRUCTURAL | • 04 Concrete • 05 Masonry • 06 Framing • 07 Trusses • 08 Sheet Metal • 09 Roofing |
MEP | • 10 Plumbing • 11 Electrical • 20 HVAC • 25 Fireplace / Wood Stove |
INTERIOR FINISHES | • 12 Insulation • 13 Sheetrock • 14 Painting • 15 Cabinets & Counter Tops • 16 Windows & Doors • 17 Trim & Finish • 18 Appliances • 19 Flooring • 21 Tile & Granite • 24 Specialties |
SITE IMPROVEMENTS | • 22 Clean Up • 23 Landscape • 26 Landscape & Paving |
INDIRECT / OVERHEAD | • 28 Sales Commissions • 29 Supervision |
Source: Construction Cost Accounting | constructioncostaccounting.com — based on CCA's production cost code framework
Why This Framework Works
The 29-division framework reflects how residential and small-mid commercial general contracting actually flows. Pre-Construction (Plans & Permits, Contingency) covers everything before ground breaks. Site Work and Excavation prepare the lot. Structural divisions (Concrete through Roofing) take the building from foundation to weathered-in. MEP runs the systems through the structure. Interior Finishes turn the framed-and-MEP'd shell into a finished home or commercial space. Site Improvements wrap the project. Indirect/Overhead (Sales Commissions, Supervision) captures the people-costs that aren't tied to specific physical work. For cost codes for residential construction specifically, this framework hits the sweet spot — practical enough to use consistently across every job.
Every general contractor's construction cost codes should follow this kind of phase-grouped logic, even if the specific divisions differ. A specialty subcontractor (electrical-only, plumbing-only) will use a different framework — fewer divisions, more granularity within their trade. But for general contractors, the 29-division framework above is the production structure we configure for clients.
The 3-Tier Sub-Item Pattern: Labor / Material / Subcontractor
Setting up parent divisions alone is not enough. Every parent division in a proper construction cost code template must have at minimum three sub-items: Labor, Material, and Subcontractor. This three-tier pattern is non-negotiable because cost type determines which COGS account the cost routes to, and which row of the job costing report it appears on.
For division 06 Framing, the sub-items look like this:
06.1 Framing Labor — in-house carpenters' wages and burden tied to framing work
06.2 Framing Materials — lumber, plywood, hardware, fasteners purchased for the framing scope
06.3 Framing Subcontractor — outsourced framing crew costs
Some parent divisions need additional sub-items beyond the three core types. Division 01 Plans & Permits includes 01.10 Equipment Rental, 01.2 Building Permits, 01.7 Engineering — these aren't Labor / Material / Subcontractor work, but they're cost types that need their own routing. Division 10 Plumbing splits Labor into 10.1 Plumbing Labor Rough and 10.2 Plumbing Labor Finish, matching the construction industry's standard rough-vs-finish distinction for trades work.
CCA PRO TIP: The labor / material / subcontractor split is what makes job costing reports actually useful. Without it, a contractor running 30% over budget on framing can't tell whether they need to renegotiate with their lumber yard, hire more efficient framers, or stop using subs. With it, they can answer that question in 30 seconds from the cost code report. |
How Construction Cost Codes Map to QuickBooks Accounts

This is where most QuickBooks construction cost codes implementations break down. Setting up Items in QuickBooks is the easy part — clicking through the Add/Edit Multiple List Entries screen and creating cost codes takes a few hours. The hard part is making sure each Item is mapped to the right COGS account on the construction chart of accounts, so the cost code reports always reconcile to the P&L.
COST CODE → QUICKBOOKS ACCOUNT MAPPING
The 3-tier sub-item pattern — every parent division has at minimum Labor / Material / Subcontractor children, each routed to a specific QuickBooks COGS account
Sub-Item Pattern | Example (06 Framing) | QuickBooks COGS Account |
1 Labor In-house crew wages | 06 Framing : 06.1 Framing Labor | Job Labor Costs |
2 Material Lumber, hardware, supplies | 06 Framing : 06.2 Framing Materials | Job Related Costs : Materials |
3 Subcontractor Hired specialty crew | 06 Framing : 06.3 Framing Subcontractor | Job Related Costs : Subcontractor Cost |
4 Equipment Rental Crane, scaffolding, lifts | 01 Plans : 01.10 Equip Rental | Job Related Costs : Equipment Rental |
5+ Other Permits, fees, utilities | 01 Plans : 01.2 Building Permits | Job Related Costs : Other Job Related Cost |
Source: Construction Cost Accounting | constructioncostaccounting.com — based on CCA's production cost code mapping
Every division uses this 3-tier minimum pattern (Labor / Material / Subcontractor) plus optional .4+ children for specialty cost types like rentals, permits, or utilities. ALL parent divisions route to the same Income Account: Construction Income.
How the Mapping Works in Practice
When a contractor records a cost in QuickBooks — say, $4,500 paid to a subcontractor for the framing on Job #1042 — the bookkeeper enters that bill against Item 06.3 Framing Subcontractor. QuickBooks automatically routes the $4,500 to the COGS account 'Job Related Costs : Subcontractor Cost' on the P&L. The cost also gets tagged to Job #1042 for job costing purposes. At month-end, two reports tie together: the P&L shows total Subcontractor Cost across all jobs, and the Job Profitability Detail report shows the same $4,500 attributed to the Framing division of Job #1042.
This automatic mapping is what makes construction job costing in QuickBooks actually work. Without it, the bookkeeper has to manually allocate costs across cost codes and accounts every month, which is slow, error-prone, and creates the reconciliation gaps that frustrate contractors and CPAs alike.
Cost Codes a Mess? You're Not Alone.
Most contractors inherit a cost code list that doesn't reconcile to the P&L, doesn't show profit by job, or grew organically across multiple bookkeepers. The result: numbers that don't add up, jobs that look profitable but aren't, and reports your CPA won't accept. CCA rebuilds cost code structures for contractors — proper 29-division framework, three-tier Labor/Material/Subcontractor pattern, and clean QuickBooks account mapping. In a 30-minute call, we'll review your current cost code list and tell you honestly what's wrong and what to do about it.
Call or Text: (949) 889-3283
How to Set Up Cost Codes in QuickBooks: The 2-Step Workflow

CCA configures construction items list QuickBooks entries using the platform's Add/Edit Multiple List Entries feature — a bulk-import workflow that handles cost code setup far faster than entering Items one at a time. The workflow has two strict steps, and the order matters.
Step 1 — Import Parent Items First
Open Add/Edit Multiple List Entries in QuickBooks. Set the dropdown to 'Service Items' (cost codes are configured as Service Items in QuickBooks). Paste in all 29 parent divisions — 01 Plans & Permits, 02 Site Work, 03 Excavation, and so on through 29 Supervision. Each parent gets its COGS Account (Job Related Costs) and Income Account (Construction Income) assigned at this stage. Save the batch. The resulting construction items list QuickBooks page now contains 29 parent items ready to receive sub-items.
Step 2 — Import Sub-Items After
Once the parent items exist, paste in the sub-items — the three-tier Labor / Material / Subcontractor children for each parent, plus any specialty sub-items (Equipment Rental, Permits, etc.). Each sub-item references its parent in the 'Subitem Of' column, gets its own COGS account assignment (Job Labor Costs for labor, Job Related Costs : Materials for materials, Job Related Costs : Subcontractor Cost for subs), and inherits the Income Account from its parent.
⚠ WATCH OUT: If you try to import sub-items before parent items exist, QuickBooks will reject the import or create the sub-items without parent linkage — which breaks the hierarchy and forces a manual cleanup. Parents always go first. This is the single most common mistake we see when contractors attempt the QuickBooks setup themselves. |
The full 29-division framework with three-tier sub-items typically produces 100-130 cost code Items in QuickBooks once setup is complete. This is the production structure CCA configures — practical enough to use consistently, granular enough to drive real job costing decisions. The whole setup takes 2-4 hours with the Add/Edit Multiple List Entries workflow versus 8-15 hours entering Items one at a time. For contractors searching ',how to set up cost codes in QuickBooks' — this two-step workflow is the answer.
The 6 Special Items Every Construction Chart of Accounts Needs
Beyond the 29 cost code divisions, every construction chart of accounts needs a set of 'special items' for transactions that don't fit the standard cost code structure. These special items each route to their own dedicated accounts and serve specific purposes in construction bookkeeping:
Retention — amounts withheld from progress payments per contract, typically 5-10% of each invoice. Routes to Retentions Receivable (an asset account) rather than regular AR. Released at project completion when retention requirements are satisfied.
Customer Deposits — deposits collected from customers before work begins. Routes to Customer Deposits (a liability account, NOT income) until earned via completed work. Common in residential remodeling where 20-30% deposits are standard.
Construction Draws — disbursements from construction loans. Routes to Construction Loan (a liability) on the contractor's books, not to income. The bank disburses funds against project milestones; the contractor records each draw as it lands.
Markup — contractor's markup applied to subcontractor costs. Routes to Construction Income : Profit and Markup so it's visible separately from base contract revenue.
Overhead & Profit — contractor's overhead and profit charged on jobs, typically as a percentage line item. Routes to Construction Income : Profit and Markup for the same reason.
Bad Debt — customer invoices written off as uncollectable. Routes to a Bad Debt expense account, reducing income.
Each special item exists because the standard cost code system isn't designed to handle these transaction types cleanly. Trying to record customer deposits as income, for example, creates serious revenue recognition problems — deposits aren't earned until work is performed. Trying to record retention as standard AR creates collection problems — retention often takes 30-60 days post-completion to release. The special items handle each correctly.
Common Cost Code Mistakes That Hide True Job Profitability
Based on CCA's work cleaning up inherited cost code lists across dozens of contractors, these are the most common mistakes that hide true job profitability and undermine job costing for contractors across every project type:
No sub-item separation — using parent divisions only (just '06 Framing') without breaking out Labor / Material / Subcontractor. Job costing reports show totals but can't answer why a division ran over.
Inconsistent classification — one project manager codes lumber to '06.2 Framing Materials,' another codes it to '06 Framing' without a sub-item. Reports become unreliable because the same costs land in different places.
Cost codes that don't route to dedicated COGS accounts — Items set up without proper COGS account mapping cause the P&L and cost code reports to never reconcile.
Generic catch-all codes — 'Miscellaneous' or 'Other' cost codes that absorb 15-20% of project costs and hide them from analysis.
Customer deposits recorded as income — creates revenue recognition problems and inflates current-period income artificially.
Retention recorded as regular AR — makes collection patterns look worse than they are and creates confusion at year-end.
Markup hidden inside subcontractor costs — contractor charges $11,000 to customer for $10,000 of sub work but records only $11,000 as Subcontractor Cost. The $1,000 markup disappears from visibility.
Construction draws recorded as income — loan disbursements aren't income; they're liability. Recording them as income creates serious tax problems and inflates apparent revenue.
Cost codes either tell you the truth or hide it. A well-built framework run consistently produces job costing reports that drive better decisions. A broken framework — or a good framework used inconsistently — produces numbers that look detailed but don't reconcile to anything. |
Where Construction Cost Accounting Fits In
Construction Cost Accounting is a construction bookkeeping services firm and QuickBooks ProAdvisor practice that configures cost code structures for general contractors. Our scope of work on cost codes for contractors projects includes four engagement types:
New cost code setup — for contractors starting fresh in QuickBooks or rebuilding from a broken legacy structure. Full 29-division framework with three-tier sub-items, configured in 30 days or less.
Inherited cost code cleanup — for contractors who took over books from a prior bookkeeper and inherited a list that doesn't reconcile. We audit the existing structure, identify the breakage points, and rebuild without losing historical data.
CSI MasterFormat conversion — for contractors moving from a full 50-division CSI structure (because they used to do commercial work) down to a practical residential/small-mid commercial framework that matches their current project mix.
Job costing reporting standardization — for contractors whose cost code structure is sound but whose reports are still hard to read. We rebuild the standard job profitability reports to match how the contractor actually reviews job performance.
Our team of certified construction bookkeeper professionals works on cost code setup as part of broader construction bookkeeping services engagements — monthly close, job costing, WIP reporting, AR/AP management, and the underlying chart of accounts that ties everything together. Setting up job costing for contractors the right way from the start prevents months of cleanup work later, and the structure is reusable across every job the contractor takes on after setup is complete.
Want a Cost Code Structure Built Right From Day One?
CCA configures the full 29-division cost code framework in QuickBooks Online — parent divisions, the three-tier Labor / Material / Subcontractor sub-pattern, and proper account mapping to Job Labor Costs, Materials, Subcontractor Cost, and Equipment Rental. Most contractors see complete cost code setup within 30 days of onboarding, with the first month-end producing real job costing data by division.
Call or Text: (949) 889-3283
In 2026, construction cost codes are still the single biggest leverage point most general contractors have to improve job profitability — not because the codes themselves create profit, but because they make it visible where profit is being lost. A practical 29-division framework, configured with the three-tier Labor / Material / Subcontractor sub-item pattern, mapped cleanly to the right COGS accounts on the QuickBooks construction chart of accounts, produces job costing reports that drive real decisions: which divisions to renegotiate, which subs are overrunning, which jobs are actually profitable versus which only look that way until the final invoices clear.
The contractors who get cost coding right share a common pattern: a defined framework, used consistently across every job, with sub-item granularity that matches how decisions actually get made. The contractors who struggle share the opposite pattern — inherited cost code lists nobody fully trusts, inconsistent classification across project managers, and reports that don't reconcile to the P&L. Whether you're setting up cost codes for the first time or cleaning up an inherited structure, the right framework is the same: practical, phase-grouped, three-tier subs, clean account mapping.
Construction Cost Accounting configures the full 29-division cost code framework in QuickBooks Online for general contractor clients as part of standard construction bookkeeping services engagements. For deeper context on the construction accounting foundation that supports cost code work, see our 2026 construction accounting guide. Evaluating construction-specific accounting software with native cost code structures built in? See our 2026 Sage 100 Contractor review. Houston contractors building cost code frameworks for federal Davis-Bacon work? See our Houston construction bookkeeping guide.
Sources & Further Reading
Construction Specifications Institute (CSI) — MasterFormat standard and division references (csiresources.org)
Intuit QuickBooks support — Item List setup, Add/Edit Multiple List Entries, job costing (quickbooks.intuit.com)
Associated General Contractors of America (AGC) — industry standards and construction accounting resources (agc.org)



Comments