User Guide
03.5 · Resources

Built-Up Resources

A built-up resource is a resource whose rate is derived from component resources. The canonical example is a "package" rate: formwork per m² made of timber, labour and fasteners.

When to Use

Use a built-up resource when:

  • Several resources are always combined in a known proportion.
  • You want a single line on estimates instead of three.
  • Rate-review cascades should flow through automatically (change the timber price → package rate updates).

Creating a Built-Up Resource

  1. Open Resources → New Resource.
  2. Tick Is Built Up.
  3. Enter Name, Unit. Do not enter a Base Rate — it will be calculated.
  4. In the detail pane, open Built-Up Breakdowns.
  5. Add component rows; each row is a BuiltUpResourceBreakdown.

A Breakdown Row

FieldPurpose
ItemDescription of the component.
ComponentResourceLink to an existing resource.
QuantityHow many component units are consumed per 1 unit of this package.
UnitInherited from the component resource.
ResourceRatePulled from the component resource's DirectRate.
TotalQuantity × ResourceRate
FormulaOptional; see section 07 for formula syntax.

Example: Formwork Package (per m²)

ComponentQtyRateTotal
Timber (m)3.012.0036.00
Formply (m²)0.545.0022.50
Nails (kg)0.258.002.00
Labour (hr)0.965.0058.50
BuiltUpTotal119.00

The resource's rate becomes $119.00 / m². Any item using the resource pays $119/m² × its quantity.

Nesting

Built-up breakdowns themselves have indent levels (0–4) so you can group components (e.g. "Labour" header row with sub-crews).

Cascading Updates

Changing a component resource's rate triggers:

  1. Recalculation of the built-up resource's BuiltUpTotal (via CalculateBuiltUpTotalAsync).
  2. Re-pricing of every item using the built-up resource.
  3. Re-allocation of markup, margins and sell rates.

Warning — Circular References

A built-up resource cannot include itself, directly or transitively. The engine raises an error and rejects the breakdown if a cycle is detected.