🏷️ Cost Coding Guide
Cost codes are the foundation of job costing. Without them, you can't know if you're making or losing money on each part of a project.
You can't manage what you don't measure. Cost codes let you track actual costs against budget—by phase, by trade, by activity.
What Are Cost Codes?
Cost codes are a standardized numbering system that categorizes costs by:
- Division (CSI or custom)
- Phase (foundation, framing, finish, etc.)
- Cost type (labor, material, equipment, sub)
Example Cost Code Structure
03-1100-L
│ │ │
│ │ └── Cost Type: L=Labor, M=Material, E=Equipment, S=Sub
│ │
│ └── Activity: 1100 = Formwork
│
└── Division: 03 = Concrete
Standard Cost Code Systems
CSI MasterFormat (Recommended)
Industry standard used by most GCs:
| Division | Description |
|---|---|
| 01 | General Requirements |
| 02 | Existing Conditions |
| 03 | Concrete |
| 04 | Masonry |
| 05 | Metals |
| 06 | Wood, Plastics, Composites |
| 07 | Thermal & Moisture Protection |
| 08 | Openings |
| 09 | Finishes |
| 10 | Specialties |
| 11 | Equipment |
| 12 | Furnishings |
| 13 | Special Construction |
| 14 | Conveying Equipment |
| 21 | Fire Suppression |
| 22 | Plumbing |
| 23 | HVAC |
| 26 | Electrical |
| 27 | Communications |
| 28 | Electronic Safety & Security |
| 31 | Earthwork |
| 32 | Exterior Improvements |
| 33 | Utilities |
Custom Systems
Some contractors create their own systems:
- Simpler than CSI
- Matched to their work type
- Easier for field to use
- May not translate to other projects
Setting Up Cost Codes
Start with Your Estimate
Your cost codes should match how you estimate:
- Review your estimate categories
- Map each line item to a cost code
- Add subcategories as needed
- Keep it consistent across projects
Level of Detail
Too few codes:
- Can't identify problem areas
- "Concrete" is one line item
Too many codes:
- Hard for field to use
- Too much administrative burden
- Data becomes meaningless
Right level:
- 20-50 codes for typical project
- Matches how you manage work
- Field can easily code time and materials
Example: Electrical Contractor
26-0000 - General Electrical
26-0100 - Temporary Power
26-0500 - Underground
26-1000 - Rough-in (residential)
26-1100 - Rough-in (commercial)
26-2000 - Wire & Cable
26-3000 - Devices & Trim
26-4000 - Panel & Switchgear
26-5000 - Lighting Fixtures
26-6000 - Fire Alarm
26-9000 - Punch List & Warranty
Cost Type Suffixes
Add suffix to identify cost type:
| Suffix | Cost Type |
|---|---|
| -L | Labor |
| -M | Material |
| -E | Equipment |
| -S | Subcontractor |
| -O | Other |
Full code: 26-2000-L = Wire & Cable Labor
Using Cost Codes
Time Tracking
Employees code their time to:
- Show what they worked on
- Track hours by activity
- Compare actual vs. budget
Best practices:
- Train crews on codes
- Provide code sheets
- Review coded time daily
- Correct errors immediately
Material Coding
Code materials when:
- Placing purchase orders
- Receiving deliveries
- Issuing to field
- Entering invoices
Match:
- Material to activity
- Tracks consumption by phase
- Reveals over/under purchasing
Subcontractor Coding
Code by:
- Trade/scope
- Phase of work
- Change orders separately
Equipment Coding
Track:
- Rental equipment by phase
- Owned equipment usage
- Repairs and maintenance
Budget vs. Actual Comparison
Job Cost Report
| Code | Description | Budget | Actual | Variance |
|---|---|---|---|---|
| 03-1100-L | Formwork Labor | $12,000 | $14,500 | ($2,500) |
| 03-1100-M | Formwork Material | $8,000 | $7,200 | $800 |
| 03-2000-L | Rebar Labor | $6,000 | $5,800 | $200 |
| 03-2000-M | Rebar Material | $15,000 | $16,200 | ($1,200) |
| 03-3000-L | Placement Labor | $8,000 | $7,500 | $500 |
| 03-3000-M | Concrete Material | $22,000 | $23,100 | ($1,100) |
This tells you:
- Formwork labor is over budget (problem!)
- Rebar material was more expensive than estimated
- Overall concrete is trending over budget
What to Do With the Data
When over budget:
- Investigate the cause
- Identify if it's a one-time issue or trend
- Adjust approach if ongoing
- Update forecast
- Look for recovery elsewhere
When under budget:
- Verify coding is correct
- Confirm quality isn't suffering
- Document what worked
- Apply learnings to future projects
Common Mistakes
1. Inconsistent Coding
Problem: Different people code same work differently Solution: Training, code sheets, regular reviews
2. Too General
Problem: Everything goes to "Misc" or one code Solution: Require specific coding, reject generic entries
3. Not Reviewing
Problem: Reports generated but not analyzed Solution: Weekly cost review meetings, action items
4. Coding After the Fact
Problem: Time coded weeks later from memory Solution: Daily time entry, same-day coding
5. Estimate Doesn't Match Codes
Problem: Can't compare budget to actual Solution: Build estimate using standard cost codes
Implementation Tips
Rolling Out Cost Codes
- Design the system - Match your work, keep it simple
- Create documentation - Code descriptions, examples
- Train the team - Everyone who codes time or costs
- Start with new project - Don't change mid-project
- Review regularly - Catch errors early
- Refine as needed - Add/modify codes based on use
Getting Field Buy-In
Make it easy:
- Provide code cards
- Use intuitive codes
- Don't require too much detail
- Give feedback on results
Explain the why:
- "This tells us if we're making money"
- "Helps us bid better next time"
- "Identifies problems early"
Software Integration
Time tracking apps:
- Digital time entry
- Dropdown code selection
- GPS verification
- Real-time reporting
Accounting integration:
- Codes match accounting system
- Automatic cost allocation
- Real-time job costing
- Budget variance alerts