Five estimate stages, colour-coded

Every estimate sits in exactly one of five numbered, colour-coded stages — Estimate, Project Info, Contract Out, Countersign, Project — derived from one function used by both engines.

What it is

A single stage model shared by the SmartBuild surface and the Leads 2 Build surface. Each stage has a fixed number, label, one-line hint that says who is blocked, and a fixed data-viz colour that stays the same in light and dark because the colour IS the identifier. The stage is derived from the estimate link, the intake form and the contract — read latest-first so it reports where the deal is now, not the earliest milestone it passed.

Also called: estimate pipeline stages · where is this deal · stage 1 to 5 · quote status

See it
Five estimate stages, colour-coded
Prepared for
Delia Yoder
1140 Ridge Line Rd · Fair Play
Shell package$35,948
Concrete & site$10,436
Doors & windows$6,958
Trim & finish$4,638
Total
$57,980
Signature
The estimate list with the five stage colours running down the row markers, plus the ESTIMATE_STAGES legend from estimateStages.ts (grey / amber / blue / orange / green). Sample data — no customer information appears here.
How it works
  1. 1estimateStageOf() reads the link and contract state from newest milestone backwards and returns on the first hit.
  2. 2Stage 1 Estimate (sent, waiting on the customer) → 2 Project Info (approved, collecting details) → 3 Contract Out (with the customer) → 4 Countersign (YOUR signature is due) → 5 Project (running).
  3. 3The whole list is staged in one batched round trip (loadEstimateStagesBatch) rather than 36 individual lookups.
  4. 4A design with several links keeps the FURTHEST-ALONG stage, so re-pricing a job already under contract can't walk it backwards.
  5. 5A job with no estimate link has never been sent — that is stage 1.
Why we built it

A list of 36 estimates all looked the same. Some had just gone out, some were waiting on project details, some had a contract sitting with the customer and some were live jobs, and nothing on the screen told them apart. Every estimate now sits in exactly one of five numbered, colour-coded stages, derived by the same rule whichever designer built it. The contract split is the point of the colouring: stage 3 is the customer's move and there is nothing to do but wait, while stage 4 is the builder's own signature holding the job up — revenue stalled on a signature nobody remembered to give.

The problem
  • No visual difference between a quote waiting on a customer and one waiting on you
  • Contracts stalling on the builder's own counter-signature
  • Status labels reporting the earliest milestone instead of the current position
Sound familiar?
What you get
One glance tells you who is blocked on every deal
The same five stages mean the same thing in both estimating engines
Revenue stuck on your own signature becomes visible instead of silent
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →