The one-way door between an internal estimate and a customer-facing document. Tab 1 is delivery: recipients, expiry, a personal message, and whether it goes by email, SMS or both. Tab 2 is the quote itself: which priced lines appear and which drawings ride along, with a live summary of materials, labour, services, markup and the customer total. Tab 3 is What They See — the switches governing every customer-facing stage. Sending creates the portal link, freezes the snapshot, captures a version and logs an audit entry.
Also called: send the quote · email the estimate · estimate link · share with the customer
The customer gets a live page, not a PDF attachment
Sending creates a customer link with its own page: the building's specs, the price, the payment schedule and an approve button. You find out when it was opened and by whom, which an emailed PDF can never tell you, and the page can be corrected afterwards without a second email.
Three tabs, because they are three genuinely different questions
Delivery is who gets the link and how. The Quote is which priced lines appear and which drawings ride along. What They See is which blocks show on their page. One switch per thing: a rep unchecking a service used to write to a different map than the panel two tabs over, and watch nothing happen.
Send it to both of them, by email or text, with a stated shelf life
A post-frame building is usually a two-person decision, and a quote that reaches one of them stalls. Add as many recipients as the decision needs, choose email, text or both, and set an expiry — 30 days by default — so pricing from four months ago isn't held against you.
The drawings go out with the price, from the job's own plans
Pick from the plans this job already generated — elevations, footprint, post layout — and each is rendered, uploaded and attached to the customer's page. Attaching switches the plans section on, because a file that uploads and then stays hidden is a silent failure.
Every send is captured as a version and an audit entry
The send stores the exact marked-up document the customer received and the total quoted, and writes it into the estimate's history. When somebody asks in November what went out in June, that is a row you open rather than a folder you search.
A failed send names the step and hands you a reference
Instead of “Internal server error”, the message says which stage failed and carries a short reference that an admin can find in the logs for that exact request. And the customer's link is never a localhost URL, whatever machine the send was fired from — a customer clicking one of those in their inbox hits nothing.
- 1The form pre-fills from the bonded contact, with additional recipients added as needed.
- 2The section map that ships with the snapshot is derived from the visibility controls rather than typed alongside them.
- 3The send creates an estimate_links row whose id is the customer's portal token and returns the /client/<id> URL.
- 4A customer-facing version is captured with the exact marked-up snapshot and the quoted total.
- 5The portal URL is never a localhost link, whatever origin the send was fired from.
The per-service checkboxes on the send flow wrote to a different place than the visibility panel two tabs over, so a builder unchecking a service watched nothing happen and had two controls disagreeing about one fact. Sending is a one-way door, so three tabs settle it before it opens: who gets it, what the quote says, and what they see. It produces a live customer page rather than a PDF attachment, and the link in that email can never be a local address — a customer clicking one of those in their inbox hits nothing at all.
- Quotes delivered as attachments with no visibility or control after sending
- Two controls in the same modal disagreeing about one fact
- Portal links generated from a dev session reaching real inboxes
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 →