Estimates & Quotes
Estimate Deposits
Collect deposits when estimates are approved via payment links.
5 min readEstimate Deposits
Collect a portion of an approved estimate upfront via a deposit invoice and payment link, typically through Stripe.
Overview
When an estimate requires a deposit, ServiceFlow can create a deposit-type invoice, generate a payment link, and email/SMS the customer. Staff can also trigger deposit collection manually from estimate detail even if the estimate was not originally marked with a deposit.
This feature is config-gated: it requires a working payment processor (Stripe) and outbound email or SMS configuration.
How to access
| Action | Where |
|---|---|
| Set deposit on create/edit | /estimates/new or /estimates/:id/edit — deposit toggles |
| Send deposit after approval | /estimates/:id → Actions → Send deposit invoice |
| Resend link | /estimates/:id → Actions → Resend deposit email |
| Customer pays | Link in email/SMS → customer portal checkout |
What you can do today
- Mark deposit required and amount on the estimate (builder presets: 25%, 50%, custom).
- On approval, auto or staff-triggered deposit invoice creation with
invoiceType: deposit. - Generate Stripe payment link for the deposit amount (not the full estimate total).
- Email/SMS payment link to customer and configured staff recipients.
- Resend deposit email from estimate detail when a pending deposit invoice exists.
- View deposit status on estimate detail and related invoice list.
- Customer sees deposit due on public estimate PDF when
depositRequiredis set.
Prerequisites
- Stripe connected under Settings → Payments (or Settings → Integrations) and set as the active card processor.
- Email (e.g. SendGrid) and/or SMS provider under Settings → Integrations for sending links.
- Estimate in a state that allows deposit invoicing (not voided).
- Deposit amount greater than zero and not greater than estimate total.
Helcim-active businesses use Helcim checkout paths for standard invoices; deposit-specific flows follow your configured processor — confirm processor in Settings → Payments.
Step-by-step
Require a deposit on a new estimate
- In Estimate Builder (
/estimates/new), open estimate details. - Choose Require deposit: 25%, 50%, custom, or none.
- Save and send the estimate to the customer.
Send deposit invoice (staff)
- Open
/estimates/:idafter customer approval (or when ready to collect). - Choose Actions → Send deposit invoice.
- If no deposit was configured, enter the deposit amount when prompted.
- ServiceFlow creates the deposit invoice, payment link, and sends notifications.
- Track the related deposit invoice on the estimate detail rail.
Resend the payment link
- Open
/estimates/:idwhere a pending deposit invoice exists. - Choose Actions → Resend deposit email.
- Customer receives the link again.
Customer payment
- Customer opens the link from email/SMS.
- Pays via Stripe checkout (card; Affirm may appear when enabled — see Affirm setup docs).
- Payment completion updates invoice and estimate deposit state via webhooks.
Current limitations
- Requires Stripe (or configured processor) — without it, deposit actions are unavailable or show configuration prompts.
- Cannot send deposit invoice for voided estimates.
- If a deposit invoice already exists, use resend instead of creating duplicates.
- Auto-send on approval depends on business automation settings and integration health.
- Resend messaging references the configured email provider name when email is missing.
Roadmap
- Clearer deposit status on estimate board cards.
- Expanded processor parity for non-Stripe configurations where product supports it.
Related features
- Estimates Overview — approval and detail actions
- Estimate Builder — set deposit at create time
- Payment Links — link management hub
- Invoices — deposit invoices appear in invoice lists
- Stripe configuration under Settings → Payments