Skip to content

Payment recovery

Recover failed payments, and count only the money that came back.

A dunning sequence that stops when the payment succeeds, and reports recovered revenue from real payment events.

For: SaaS, subscription and service businesses billing with Stripe or their own system.

The business problem

“Reminder sent” isn't revenue.

  • Most reminder flows report how many emails went out, not how many invoices got paid.
  • Retrying a payment action blindly can charge a customer twice.
  • Customers who already paid keep getting reminders.

The outcome

Follow up with customers whose payments failed until payment succeeds or the recovery process reaches its limit.

Example workflow

  1. 1. TriggerStripe

    Payment failed

    A signed Stripe event or your billing system's webhook starts the run.

  2. 2. ActionCRM Messaging

    Email on day 0

    Explain what failed and link to update the card.

  3. 3. Wait

    Wait 3 days

    The run stops early if a payment-succeeded event arrives.

  4. 4. ActionTwilio

    SMS on day 3

    Short reminder. Sent once per invoice via idempotency key.

  5. 5. Branch

    Paid?

    Yes: stop and record. No by day 7: final email, then mark exhausted.

  6. 6. Outcome

    Payment recovered

    Recorded on a verified payment event for the same customer and invoice.

Measurable outcome

How the result is measured and verified.

Metric
Invoices recovered and amount recovered
Target: Configurable, e.g. 50 invoices per month
Verified by
A signed payment-succeeded event with a matching customer and invoice.
Not counted as success
Reminders sent, or a customer clicking the payment link.
When it fails
When the sequence ends unpaid, the invoice is marked “recovery exhausted”.

Start automating what actually matters.

Define one outcome, connect a webhook, and see what got done. Free to start, no card needed.