Cost Codes
A cost code is the label that tells TrueGrade what a dollar was spent on — Concrete, Framing, Electrical Rough-In, Site Work, and so on. Your cost code library is the backbone of cost tracking: every estimate line, budget, invoice, and actual cost is assigned a code, which is what lets TrueGrade compare estimated vs. actual and roll costs up by category.
Cost codes are managed under Settings → Cost Codes. Only Admin and Platform Admin roles can change the library.
Structure
Most builders organize cost codes hierarchically:
03 - Concrete
03.10 - Formwork
03.20 - Reinforcement
03.30 - Cast-in-Place Concrete
06 - Wood & Plastics
06.10 - Rough Carpentry
06.20 - Finish CarpentryYou can build your own numbering or start from a standard construction cost-coding system (such as the CSI MasterFormat divisions) and adapt it.
Managing the Library
- Add a code with a number, a name, and an optional parent code
- Deactivate a code you no longer use — it stays on historical records but won’t appear for new entries
- Import a full library from a spreadsheet when first setting up
- Map each code to a QuickBooks expense account for accounting export
Avoid deleting a cost code that has already been used on estimates or actuals — deactivate it instead. Deleting a code in active use breaks the link between historical costs and their category.
Where Cost Codes Are Used
| Area | How cost codes appear |
|---|---|
| Estimates | Every estimate line is assigned a code |
| Cost Actuals | Invoices and receipts are coded as they’re entered |
| Budget Reporting | Costs roll up by code for estimate-vs-actual comparison |
| QuickBooks Export | Codes map to expense accounts in your books |
Getting Started
- Open Settings → Cost Codes
- Import your existing library or add codes one at a time
- Group codes under parents to match how you report
- Map codes to QuickBooks accounts if you export to accounting
- Save — the library is immediately available across estimates, actuals, and reports