User Guide
08.3 · Code Sets

Code Set Allocations

An allocation assigns a direct cost item, overhead, resource or breakdown to one or more code-set nodes with percentage splits.

The Entity

CodeSetAllocation fields:

FieldPurpose
CodeSetIdTarget code node.
EntityTypeResources / DirectCostItems / Overheads / Breakdowns / MarkupTypes.
EntityIdID of the coded entity.
AllocationPercentage0–100 with 4 decimals. All allocations for one entity must sum to 100 %.
CalculatedAmountAllocationPercentage × EntityTotal / 100.
CalculatedCarbon / Scope1 / 2 / 3Same logic for carbon.
SourceEmissionFactor, SourceEmissionScopeDenormalised from the linked resource.

Single vs Split Codes

Single code (most common):

Item "Excavation" → code 02.01 Substructure @ 100%

Split code (when an item belongs partly to several categories):

Item "Combined Earthworks" → 02.01 Substructure @ 60%
                          → 01.02 Site Prep   @ 40%

The sum must equal exactly 100%. TX1 blocks save until it reconciles.

Workflow

  1. Open the Direct Costs or Overheads view.
  2. Select items to code.
  3. Right-click → Set Code.
  4. Pick a code set, then a node.
  5. Optionally enter a percentage to split.
  6. Apply.

Bulk-code with Multi-select + Set Code — apply the same code to many items at once.

Auto-Allocation

Some users configure default allocations by resource — a resource tagged as "Electrical" auto-codes all items using it to node 04.01 Electrical. Configure this under Code Sets → Auto-Allocate.

Inheritance

Child items inherit the parent's code unless explicitly overridden — so an "Excavation" parent coded to 02.01 passes it to its breakdowns and sub-items automatically. (See the separate research memo on code allocation inheritance for the tuning details.)

Totals and Reports

Each node's TotalAllocatedAmount rolls up across descendants. PDF reports and the Summary view can group by code. Excel export includes a code column per row.

Carbon Mirror

Every code allocation also computes a proportional carbon allocation. The same percentage splits the item's DirectCarbonEmissions across the targeted nodes, producing CalculatedCarbon, CalculatedCarbonScope1/2/3. This lets you report carbon by trade code — not just by scope — which is what most ESG frameworks require.

Validating

Code Sets → Validate runs:

  • Every coded entity sums to 100%.
  • No allocation points to a deactivated code.
  • Entity still exists (unreferenced orphan allocations are flagged for cleanup).