Code Sets Overview
A Code Set is a hierarchical category tree used to classify items for reporting. Typical use cases: WBS, trade codes (AS2124), Uniclass, the client's chart of accounts, carbon scope rollups.
What a Code Set Does
- Groups direct cost items, overheads, resources and breakdowns into a branching taxonomy.
- Lets you report totals by category (e.g. "all items coded to 02.01 Electrical").
- Supports percentage-based multi-coding (one item can split its cost across several codes).
- Carries carbon allocation alongside dollar allocation.
Structure
Project
└── Code Set: "Trade Codes"
├── 01 Site Establishment
│ ├── 01.01 Temporary Works
│ └── 01.02 Surveys
├── 02 Substructure
│ ├── 02.01 Excavation
│ └── 02.02 Piling
└── …
Each node is a CodeSet record with:
| Field | Purpose |
|---|---|
Code | Unique within its parent, e.g. 02.01. |
Name | Display label. |
ParentId | Parent node (null = root). |
IndentLevel | 0–6, clamped. |
IsActive | Inactive nodes are hidden but preserved. |
SortOrder | Manual order among siblings. |
Computed Aggregates
For any node:
FullCodePath—02.01.A(concat of ancestors).FullNamePath—Substructure / Excavation / Machine Dig.TotalAllocatedAmount— Σ of CalculatedAmount for every allocation to this code and its descendants.TotalCarbonEmissions— same logic for carbon.
Multiple Code Sets per Project
A project can have any number of independent code sets. Common pattern:
- Trade codes — how your team splits the work.
- Client chart of accounts — how the client wants to see it.
- Emission scope — Scope 1 / 2 / 3 for carbon reporting.
Each allocation references a specific code-set node, so there's no ambiguity.
Where to Manage Codes
Codes view → Manage Codes. Drag to reorder, indent with Tab / Shift+Tab, rename inline.