What an estimate is
An estimate is a good-faith approximation of what a job will cost. It's not binding on either party — the customer can decline, and you can revise it if the scope turns out to be different than expected.
A quote is an estimate's stricter cousin: usually a firm, binding price that doesn't change unless the scope changes. In practice, most trades use 'estimate' and 'quote' interchangeably, and what matters is whether you or the customer treats it as firm.
What an invoice is
An invoice is a formal request for payment for work already completed or goods already delivered. It creates a legal debt. If the customer doesn't pay, you can send it to collections, file in small-claims court, or (depending on your state) file a mechanics lien.
An estimate doesn't create that same debt. Even if the customer accepted the estimate, you haven't done the work yet — so there's nothing to collect on.
When to send each
Send an estimate before you commit to the job. Send an invoice after the work is done (or after milestones on longer jobs, with progress invoices).
For deposits — money you collect before starting — you can either issue a deposit invoice (formal, creates a paid record) or collect against the estimate itself if your app supports deposit-at-approval.
What each document should include
The overlap is significant, but there are key differences:
- Estimate: 'Estimate' or 'Quote' at the top, expiration date, valid-until terms, no request for payment
- Invoice: 'Invoice' at the top, invoice number, due date, payment instructions, late-fee terms
- Both: business info, customer info, line items, subtotal, tax, total
Estimate → invoice: the smooth handoff
The best workflow: send an estimate, get it approved (ideally with a digital signature), do the work, then convert the estimate to an invoice with any scope changes noted as change orders. This preserves the audit trail — the customer can see exactly what they approved vs what changed.