Projects · Plan & Estimating
The Plan tab turns a project into a priced, professional estimate. You start from a reusable blueprint (a structured scope of works), type in a few measurements, and the plan prices itself — labour and materials, line by line — from parametric formulas and your service catalogue. From there you offer good/better/best options and allowances, keep versions as the scope changes, turn it into a client quote they can e-sign, pull a material list for purchasing, and raise change orders. This is the estimating engine — built on Blueprints (#242).
Where: open a project (/projects/:id) → the Plan tab. It's owner-only. The reusable templates it draws on live in the Blueprint Library; there's also a public project-plan estimator for quick ballpark figures.
How it fits together
Three things work in concert — get the model and the rest is easy:
- Blueprint — a reusable template: the scope (sections + tasks) plus the measurements it needs and the formulas that turn those measurements into quantities. Built once, reused on every similar job. See Blueprint Library.
- Plan — a blueprint instantiated on this project. You fill in the measurements; it computes quantities, prices and a subtotal.
- Outputs — a client quote, a material list, and change orders, all generated from the plan.
Step by step: build an estimate
- Start the plan. On the Plan tab click Import a blueprint and pick one from your library (or a starter). The blueprint's scope and measurement fields load in. (You can also build a plan from scratch and Save as blueprint later.)
- Enter the measurements. In Project measurements, type the numbers the blueprint asks for — e.g. Floor area (m²), Wall area (m²), Electrical points. These are the inputs the formulas read.
- Watch it price itself. Each task's quantity comes from its formula (e.g.
= floor_area * 1.1for a 10% waste factor), and its price comes from the linked service / product (labour rate + material cost + margin). The Subtotal updates live. - Adjust the scope. Add or remove sections and tasks, tweak quantities, units, costs or margins on any line — see the plan tree below.
- Offer options & allowances where the client has a choice or the price isn't final yet (below).
- Save a version to lock in the current state before you send or change it.
- Turn it into a deliverable — create the quote, generate the material list, or raise a change order.
Project measurements (the parametric inputs)
What it is — the named numbers that drive the estimate — each has a key (used in formulas), a label and a unit. Why it matters — this is what makes the estimate parametric: change one measurement and every formula that references it recalculates, so re-pricing a slightly bigger room is one number, not a rebuild. The note on screen says it plainly: “these drive the parametric formulas.”
The plan tree — sections, tasks & line pricing
What it is — the scope of works as a tree of sections (headings) and tasks (the priced lines). Why it matters — it's both the estimate's maths and the document the client reads. Each task carries:
| Field | What it does |
|---|---|
| Label · Unit · Quantity | What the line is, its unit of measure, and how many — the quantity comes from the line's formula (referencing measurement keys) or a typed-in number. |
| Line kind | Labour, Materials, or Both — what the line represents. |
| Service / Product | The catalogue link that supplies the rate — a labour rate and/or a material cost. |
| Margin % | Your mark-up on the line; with cost + margin it yields the unit price and line total. |
A line can be sourced as manual, from a template (the blueprint), or AI-drafted. Refresh pricing re-applies your current service-catalogue rates across the whole plan in one click (“Re-applied current service-catalog rates”) — so a rate change in your catalogue can be pulled into an open estimate without redoing lines.
Add premade sections. Beyond adding tasks one by one, you can drop in a whole section from the library — a reusable block like “Demolition & prep” or “Electrical first-fix” brings its tasks, formulas and rates with it. See the section library on the Blueprints page.
Options (good / better / best) & allowances
What it is — two ways to handle choice and uncertainty in a quote. Why it matters — clients rarely want a single take-it-or-leave-it number; options sell up, and allowances let you quote honestly before a selection is final.
- Options / good-better-best. Group alternative lines into an option group and tag each with a tier — good, better or best. One is selected as the priced choice; the client sees the tiers and the upgrade path. Only the selected tier counts toward the subtotal.
- Allowances. Mark a line as an allowance with an allowance amount — a budgeted placeholder (e.g. “€1,500 tile allowance”) for something not yet chosen. It carries a number now and is reconciled to the real selection later.
Versions & revisions
What it is — a snapshot history of the plan. Why it matters — estimates change — a client trims scope, a price moves — and you need a record of what was quoted when. Save version stores a full snapshot (the measurements, the lines and the subtotal) with an optional note, and bumps the plan's version number; the version history lets you see and compare earlier states. This is the revisions / audit backbone behind change orders.
Turning the plan into deliverables
| Action | What it produces |
|---|---|
| Create quote | Generates a client quote from the plan (linked back to it). The customer opens the public quote, reviews it, and can approve & e-sign it — see below. |
| Generate material list | Pulls the plan's material lines into a material list / budget as purchase items, so what you priced is what you buy. |
| Create change order | Raises a change order from the plan to capture an agreed change in scope/price after the original was accepted. |
| Save as blueprint | Saves this plan back to the Blueprint Library as a reusable template (“reuse it on your next project”). |
The plan moves through statuses as it goes: draft → finalized → quoted → approved → archived.
Approval & e-sign (with audit trail)
What it is — when a plan becomes a quote, the customer-facing public quote page lets them accept and electronically sign it. Why it matters — you get a recorded, timestamped acceptance instead of a “yes” in an email. The acceptance is captured with an audit trail (who accepted, when), and the quote shows as Accepted. See Quotes · Build & send and Public & Shared Pages for the customer side.
Quick start: Plan tab → Import a blueprint (e.g. a bathroom reno) → type the floor/wall areas → the estimate prices itself → add a good/better/best fixtures option and a tile allowance → Save version → Create quote and send it for e-sign → once approved, Generate material list for purchasing.