Estimates
Quotes that convert to invoices when accepted.
Last updated 2026-05-05
Estimates (also called quotes) capture an offered price before the customer commits. They share the same line-item editor and tax engine as invoices but live in their own lifecycle: Draft → Sent → Accepted/Declined → Converted. Acceptance can happen inside the customer portal (one-click accept with optional digital signature) or by manual status change inside the staff app. Once accepted, click Convert to invoice to create a draft invoice with the same line items in a single round trip.
Estimates honor the customer's currency and the tenant-default tax profile but every field can be overridden per-document.
Related endpoints
GET /api/tenant/estimates— list.POST /api/tenant/estimates— create draft.POST /api/tenant/estimates/:id/send— email + portal link.POST /api/tenant/estimates/:id/accept— mark accepted (server- or portal-side).POST /api/tenant/estimates/:id/convert— produce a draft invoice.
See the source at apps/web/src/app/(tenant)/estimates and apps/api/src/estimates.