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.

60+ system templates Non-destructive apply Freshness tracking
60+
System templates
Custom variables
95%
First-pass match rate

Assemblies

Compose multiple components into built rates

Assemblies Catalog Variables

Pre-built assembly templates. Use a template to copy it into your library.

Blockwork wall, 100mm dense blocks
System
Solid dense blocks (440×215mm face) in 1:1:6 mortar. Block size {block_thickness_mm} (100/140/215) scales mortar quantity. Perimeter items (DPC) scale via…
6 components · 2 variables
Carpet with underlay & gripper
System
Loop or tufted carpet on underlay, perimeter gripper, double-sided tape and threshold strips. Gripper/threshold scale via {perimeter_to_area}.
6 components · 1 variable
Ceramic floor tiling on screed
System
Ceramic or porcelain floor tiles on cement-based adhesive over smooth screed, grouted and pointed, primer where required. Coverage knobs: {tile_adhesive_kg_per_m2}.
6 components · 2 variables
Concrete strip footing, mass
System
Mass C20/25 strip footing in trench. Blinding & shuttering gated by {with_blinding} & {with_shuttering}. Clone for reinforced footings…
4 components · 2 variables
External sand-cement render
System
Traditional sand-cement render on blockwork. Material scales with {coat_thickness_mm} × {coats} so one row covers 10mm conventional, 6mm thin-coat, and 3-coat systems.
5 components · 2 variables
In-situ concrete ground floor slab
System
C25/30 slab on hardcore sub-base over polythene DPM, A142 mesh, edge formwork, finished. Per-m² scales with {slab_thickness_mm}.
6 components · 2 variables
How it works

Components in. Built rates out.

Each assembly is a small program: components (materials, labour, plant) with quantity formulas that read from your variables.

1
Pick a template

60+ system templates covering substructure, super, finishes & M&E. Or start from blank.

2
Add components

Materials, labour, plant — type { to autocomplete variables & expressions.

3
Set variables

System + company-scoped variables with expression suggestion. Override per-rate when needed.

4
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.

Inside an assembly

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.
Assembly · partition
Type A · 100mm metal stud partition
Fresh · €38.41/m² 22.4 kgCO₂e/m² · ÖKOBAUDAT 2024-I
70S50 Gypframe C-stud
MAT · 1 / stud_centres nr/m
€1.24 /nr
12.5mm Gyproc WallBoard
MAT · 2.0 m²/m² (both sides)
€3.30 /m²
Drylining install & skim
LAB · 2 m²/m² · estimated by area
€11.00 /m²
Isover acoustic roll 50mm
MAT · 1.05 m²/m² with offcut allowance
€2.95 /m²
Variables

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.
Component modal — quantity
area × {tile_adhesive_kg_per_m2} × {coats}
3 variables match "{"
{tile_adhesive_kg_per_m2}
System · Numeric · default 3.5
{tile_grout_kg_per_m2}
System · Numeric · default 0.4
{tile_size_mm}
Company · Dropdown · 600 / 450 / 300
Trustworthy rates

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.

Start building Book a demo