One assembly. Every project's rate.
Parametric assemblies compose materials, labour, and plant into reusable built rates. Reference a variable like {block_thickness_mm} and one assembly covers 100mm, 140mm, and 215mm blockwork on every project.
Illustrative, based on pilot engagements.
Assemblies
Compose multiple components into built rates
Components in. Built rates out.
Each assembly is a small program: components (materials, labour, plant) with quantity formulas that read from your variables.
Pick a template
60+ system templates covering substructure, super, finishes & M&E. Or start from blank.
Add components
Materials, labour, plant — type { to autocomplete variables & expressions.
Set variables
System + company-scoped variables with expression suggestion. Override per-rate when needed.
Apply to bill
Non-destructive — the apply preserves manual adjustments, and rolls up an A1-A3 kgCO₂e for the assembly alongside cost. Freshness tracking warns on stale rates.
Material × labour × plant — every quantity is a formula
Every component has a quantity expression. Reference any variable on the rate, the bill row, or the company. Coverage rates from the rate library flow in automatically.
- Role-based decomposition. Material, labour, plant, sundry — no variants, just roles & formulas.
- Searchable variables. Type { in the component modal — every system & company variable is one keystroke away.
- Bundled spec + assembly autocomplete. Recently redesigned (May 2026): Create vs Edit variants share one suggestion model.
- Carbon decomposes the same way. Each component product carries its own A1-A3 factor; the assembly's kgCO₂e is the sum across components. Swap CEM I cement for CEM III/B and the assembly total falls through automatically — citations follow each component.
System + company variables, scoped & searchable
System variables come pre-shipped: block_thickness_mm, stud_centres, tile_adhesive_kg_per_m2. Add your own at company scope — one source of truth for every assembly.
- Expression suggestion. Searchable dropdown triggered by { in any rate field.
- Per-project override. Set stud_centres = 400 on one project, 600 on the next — the assembly recalculates.
- Type-safe. Numeric, boolean, dropdown — bad values are caught at the rate, not the row.
Apply, refresh, audit — without breaking anything
Non-destructive apply
Manual rate adjustments survive a re-apply. The assembly engine only updates the components you didn't touch.
Freshness tracking
Every applied rate knows its source assembly version. Stale rates flag automatically when the template updates.
Per-doc roll-ups
Rate summaries & addons roll up per doc, per group, per set. Switch between net, with addons, or by trade.
Embodied carbon, automatic
Components carry their own A1-A3 factors, so every assembly emits a kgCO₂e total alongside cost. RICS WLCA data-quality tier (generic / sector / manufacturer EPD) and the source + version citation travel with each component — the aggregate is defensible, not a black box.
Build rates once. Use them forever.
60+ system assemblies ship in the box. Copy, clone, tweak — make them yours.