Estimate Deposits is the workflow at /estimates/new. 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.
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 depositRequired is set. Stripe connected under Settings to Payments (or Settings to Integrations) and set as the active card processor. SendGrid) and/or SMS provider under Settings to 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 to Payments.
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 |
How do you mark deposit required and amount on the estimate (builder presets: 25%, 50%, custom)?
Mark deposit required and amount on the estimate (builder presets: 25%, 50%, custom).
- 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.
Example: 50 percent down before a crew is booked
On
/estimates/new or edit, set deposit required and choose 25 percent, 50 percent, or a custom amount. That amount is a portion of the estimate, not the whole total. The public PDF shows the deposit due when depositRequired is set, even before anyone pays.After the estimate is approved, Actions → Send deposit invoice on
/estimates/:id creates an invoice with invoiceType: deposit and a payment link for that deposit only. The customer pays from the link in email or SMS, on the portal checkout. Resend deposit email is for a pending deposit invoice that already exists. It does not create a second deposit. Staff can send a deposit from detail even when the original estimate was saved without the toggle. Use that when the office decided to collect money after the customer approved.Nothing charges if Stripe (or the active processor) is not connected, and nothing is delivered if email and SMS are both unconfigured. The feature is config-gated on purpose. A saved "deposit required" flag without those connections is a note, not a payment. The remaining balance stays on the job invoice later. Paying the deposit does not mark the whole estimate paid and does not complete the job.
Check deposit status on the estimate detail and in the invoice list before you schedule the crew. If the link was sent and the invoice is still open, the customer has not paid. Resend once. Do not create a second deposit invoice for the same approval unless the first one was voided.
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