A sidecar panel inside the invoice editor bound to the project's own estimate. It shows the material total, labour total, markup, customer total, a per-component material breakdown (Framing, Sheathing, Trim, Doors & Windows, Trusses, Freight, Foundation…) and the payment schedule. Each is a one-click insert that becomes an editable line item.
Also called: attach estimate to invoice · pull the estimate numbers · invoice from estimate · one-click line items
You bill the number on the signed contract, not whatever the estimate says today
When a fully executed contract exists for the job, its total is read out of the document that was actually signed, and that figure is what the invoice bills. The approved estimate snapshot comes next; only a job with neither falls back to live figures. One real case had the estimate link at $37,828.19 while the contract the customer signed read $34,016.87 — the invoice bills $34,016.87.
If the estimate has moved since signing, you see the gap in dollars
When the current estimate and the signed total differ by a cent or more, an amber banner names both numbers and the difference between them, and says the invoice stays on the signed figure until a change order covers the rest. Billing the newer number charges for scope nobody agreed to; hiding it means you did the extra work for nothing. Scope creep surfaces at billing time, in dollars, with the remedy named.
Bill the trusses this month and the framing next, without opening the estimate
The estimate's own components — framing, sheathing, trim, doors and windows, trusses, freight, foundation — are listed with their subtotals. Tick the ones you are billing and each becomes its own line at the estimate's own figure. Materials, labour, markup and the customer total are single-click inserts too, and every inserted row stays editable.
The invoice is bound to the estimate its job came from, and pointing it elsewhere is on the record
The binding comes from the estimate link stamped when the project started, not from a guess, so the editor never opens and asks you to go find the estimate the job already knows about. Changing it takes a confirmation, at least ten characters of explanation, and stores your name and the date against the invoice. An override somebody clicked through once with nothing written down cannot be audited later.
If it cannot prove which contract belongs to this job, it refuses to guess
The contract lookup is keyed on the bond between the job and its paperwork. When that identifier is missing, the lookup stops and the estimate snapshot stands, rather than widening to “the newest signed contract in the business”. That exact failure once put one customer's $180,944.01 onto another customer's invoice, and would have put it on every other project's invoice too.
- 1The binding comes from estimate_links.project_id, stamped when Start Project ran — not a guess.
- 2Legacy projects fall back through a heuristic chain: contact with a job id, exact customer-name match, last-7-digit phone match, then a fuzzy project-name match against the cached job list.
- 3Both estimating engines are supported — a SmartBuild job id, or a Leads 2 Build estimate link keyed by design id.
- 4Insert buttons append typed rows; the material breakdown and payment stages are multi-select and reset their checkboxes after inserting so the press visibly registers.
An invoice raised on a project that came out of the platform's own estimating flow opened with no estimate attached and asked the builder to go and find one — on a job that knew exactly which estimate it came from. The link existed; it was being thrown away for precisely those projects. The estimate is now bound at creation and shown as the source rather than offered as a choice, and the material breakdown is read from the job on the server, so the one-click item palette works on a machine that has never opened the estimator instead of quietly inserting zero-dollar lines.
- Manual transcription of estimate figures onto an invoice.
- The editor asking a builder to find an estimate the project already knows.
- Inserts producing $0 when the estimate cache was cold.
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 →