Review & Send: read it before the customer does

The generated contract sits in a builder-only review screen — customer's submitted details on the left, the editable agreement on the right — until you release it for signing.

What it is

A full-height modal in send mode. The left rail lists everything the customer submitted, grouped and clickable. The right pane holds the contract body in an Edit/Preview editor with a formatting toolbar and merge-field palette. The footer carries channel selection, copy/open link actions and the Send Contract button. Contracts sit at status 'pending' until this send flips them to 'sent'.

Also called: review contract before sending · release contract for signing · send contract to customer · contract approval step

See it
Send Estimate to Client — The Quote
Send Estimate to Client
Hoover 40 × 60 Equipment Storage · Dawson Hoover · $93,348.50
×
DeliveryThe QuoteWhat They See

The quote document itself. Which priced lines appear, and which drawings ride along. Whether a block — specs, labour, the journey — shows on their page is under What They See, so there is one switch per thing, not two.

Services on the estimate
All services (4 of 4 shown)
Hidden lines stay in the customer total
Concrete Pad
$17,400.00
Site Prep & Grading
$2,850.00
Seamless Gutters
$1,596.00
Custom Garage Door
$3,700.00
Attach plans / blueprints
Choose from Building Plans
or upload a file from this device
Materials$49,808.75
Labor+$8,910.53
Services+$25,546.00
Markup+$9,083.22
Customer total$93,348.50
CancelSend Estimate
The two-column send modal: 'Customer's Submitted Details' rail on the left, contract editor with the token palette on the right, channel toggles and Send Contract pinned in the footer. ContractViewModal.tsx send mode. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
How it works
  1. 1Customer submits the intake form → contract row created with status pending.
  2. 2The customer's portal parks on a 'Preparing your agreement' hold while pending.
  3. 3Builder opens Review & Send from the estimate funnel checklist.
  4. 4They read the customer's details, optionally edit the body for this customer only, choose channels, and send.
  5. 5Status flips to 'sent', edits are persisted, the initials manifest is recomputed, and the customer is notified.
Why we built it

The gate is a deliberate product decision recorded in the component: 'mode="send" — the "Review & Send Contract" surface. Shown after the customer submits the intake form, while the contract is still status "pending" (created but NOT yet released to the customer for signing)… call: the builder can edit THIS customer's contract before sending.' A generated document going straight to a customer unread is how a wrong price or a stale clause becomes a signed obligation.

The problem
  • Auto-generated documents reaching customers unreviewed
  • No way to make a one-off change without editing the master template
  • Builder not seeing what the customer actually submitted
Sound familiar?
What you get
Nothing reaches a customer until the builder has read it
Per-customer edits that never touch the template
Intake answers and contract side by side
What's inside
Edit one customer's contract without touching your template
A markdown editor with bold, heading and list buttons and a live preview, whose edits apply only to this customer's agreement.
Click a customer detail to drop it into the contract
Grouped token chips and clickable intake rows insert the right {{placeholder}} at the cursor — so you add the placeholder, not the one-off literal.
Switch this contract to a different template
Picked the wrong template? Choose another from the dropdown and the contract re-renders server-side with this job's estimate data intact.
Send by email, text, or both — and be told who actually got it
Choose the channels at send time; the response reports exactly which ones landed, and says so loudly when none did.
Re-send asks first; first send just goes
The first send fires immediately and the modal closes; clicking send on an already-sent contract opens an 'are you sure' step instead.
Open or copy the exact page the customer signs on
Two footer buttons open the customer-facing signing page in a new tab or copy its link to the clipboard, with a clipboard fallback for locked-down browsers.
Everything the customer told you, beside the contract
A grouped, empty-field-free summary of the intake form — identity, addresses, co-signer, lender, funds, permits, uploaded documents — pinned next to the contract you're about to send.

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 →