Estimates
Overview
Estimates are how contractors propose work before it begins. Customers receive a notification when an estimate is ready, review the full line-item breakdown in the portal, and either approve or reject it. Approval is the trigger that moves the relationship forward — it creates the job in the CRM, advances the onboarding status, and kicks off the contract signing step.
The portal estimate view is designed to be clear and trustworthy. No jargon, no hidden fees — every line item is listed with a description and cost so the customer understands exactly what they're approving.
Features
- Estimate List — All estimates: pending, approved, rejected, and expired. Pending estimates are highlighted with a clear CTA
- Line-Item Detail — Each estimate shows: service name, description, quantity, unit price, subtotal, tax, and total
- Accept Button — One-click approval; customer may be prompted to leave a comment or confirm scope understanding
- Reject Button — Customer can reject with an optional message explaining why; contractor is notified immediately
- Request Revision — Customer can message the contractor to request changes before approving; routes as a flagged conversation
- Expiration — Estimates expire after a configurable period (default 30 days); expired estimates show a prompt to request a new one
- Approval Trigger — Approved estimates automatically advance to contract signing if a contract is associated
Estimate Status Flow
| Status | Description |
|---|---|
| Draft | Contractor is building it; not yet visible to customer |
| Sent | Visible in portal; pending customer action |
| Approved | Customer accepted — job record created |
| Rejected | Customer declined — contractor notified |
| Expired | Not acted upon within expiration window |
| Revised | Contractor updated and re-sent after rejection |
CRUD Reference
| Object | Create | Read | Update | Delete |
|---|---|---|---|---|
| Estimate | — | ✅ | — | — |
| Approval / Rejection | ✅ | ✅ | — | — |
| Revision Request | ✅ | ✅ | — | — |
| Estimate Comment | ✅ | ✅ | — | — |
Notes
Customers can view estimates in any status except Draft. Approval is a one-time, irreversible action from the customer's perspective — a customer cannot un-approve an estimate through the portal. If a revision is needed after approval, the contractor handles it in the CRM and may issue a change order. Estimate PDF download is available for all non-Draft estimates.