ServiceFlow Pro Docs
Estimates & Quotes

Estimate Deposits

Collect deposits when estimates are approved via payment links.
5 min read

Estimate 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

ActionWhere
Set deposit on create/edit/estimates/new or /estimates/:id/edit — deposit toggles
Send deposit after approval/estimates/:idActions → Send deposit invoice
Resend link/estimates/:idActions → Resend deposit email
Customer paysLink 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 depositRequired is set.

Prerequisites

  1. Stripe connected under Settings → Payments (or Settings → Integrations) and set as the active card processor.
  2. Email (e.g. SendGrid) and/or SMS provider under Settings → Integrations for sending links.
  3. Estimate in a state that allows deposit invoicing (not voided).
  4. 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

  1. In Estimate Builder (/estimates/new), open estimate details.
  2. Choose Require deposit: 25%, 50%, custom, or none.
  3. Save and send the estimate to the customer.

Send deposit invoice (staff)

  1. Open /estimates/:id after customer approval (or when ready to collect).
  2. Choose Actions → Send deposit invoice.
  3. If no deposit was configured, enter the deposit amount when prompted.
  4. ServiceFlow creates the deposit invoice, payment link, and sends notifications.
  5. Track the related deposit invoice on the estimate detail rail.

Resend the payment link

  1. Open /estimates/:id where a pending deposit invoice exists.
  2. Choose Actions → Resend deposit email.
  3. Customer receives the link again.

Customer payment

  1. Customer opens the link from email/SMS.
  2. Pays via Stripe checkout (card; Affirm may appear when enabled — see Affirm setup docs).
  3. 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