The estimate knows whose it is before it exists

Clicking 'Create estimate' on a contact records who it's for, so when the new job appears it bonds itself to that contact and opportunity with no manual matching step.

What it is

The three-way bond's departure record. The bond between contact, opportunity and estimate is captured at the moment of highest reliability — the rep clicks Create estimate while looking at the contact, and that click carries the identity. When the job shows up in the import, the server matches it against open intents and bonds it.

Also called: orphaned estimate · which customer is this job for · tie the estimate to the lead · three-way bond

See it
The estimate knows whose it is before it exists
New lead 3
Marlin Hoover
$23k
Delia Yoder
$42k
Contacted 3
Sutter Kline
$59k
Ronan Petsch
$42k
Estimate 4
Ivy Brubaker
$47k
Gideon Alt
$47k
Marlin Hoover
$74k
Sold 3
Marlin Hoover
$18k
Delia Yoder
$19k
The bond chips on an estimate row showing contact / opportunity / estimate all linked, plus a 'waiting on SmartBuild' chip for an open intent (BondChips in EstimatesView.tsx). Sample data — no customer information appears here.
How it works
  1. 1Creating an estimate from a contact records an open intent with the contact, the opportunity and who created it.
  2. 2When the importer sees a job with no bond, it asks the server to match against open intents newer than seven days.
  3. 3Exactly one open intent bonds it; with several, a name overlap is preferred, otherwise the youngest — and how it matched is recorded.
  4. 4Bonding stamps the job onto the contact's opportunity, creating one at the estimate-complete stage if the contact has none.
  5. 5Already-bonded jobs are a no-op — the whole action is idempotent by design.
  6. 6Every bond writes an audit entry naming the method.
Why we built it

Estimates arrived from the designer with no idea who they were for, because the write path carries no contact fields at all — so somebody had to tie each one to a contact afterwards, by name, from memory. Pressing Create estimate on a contact now records who the estimate is for before the rep ever leaves for the designer, and the new job bonds itself to that contact and opportunity when it appears. The button is the workflow: no matching step after the fact, and nothing for a new rep to get wrong. Names are never used to make the bond, because they are not unique and a near-miss puts one customer's price on another customer's record.

The problem
  • Estimates arriving orphaned and matched by hand afterwards
  • Bonds made on name matching, which corrupts attribution
Sound familiar?
What you get
The estimate lands already attached to the right customer and deal
No manual tie step for anyone to forget
Every bond is logged with how it was made
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 →