DunningCheck

Stripe dunning best practices for small SaaS (2026)

A practical, vendor-neutral set of dunning best practices for Stripe: retry strategy, email cadence, recovery links, and the one thing teams always forget.

Good dunning isn't complicated, but it is easy to get subtly wrong. These are the practices that move recovery rates for small SaaS teams, in rough order of impact.

1. Make the recovery link do one thing

Every failed-payment email should link directly to a page where the customer can add a payment method and retry — ideally the Stripe customer portal's update-payment action, not a generic login or dashboard. The single biggest source of lost recovery is a link that doesn't immediately let the customer pay.

2. Use a 3-email cadence over the retry window

  • Day 0: state the failed charge and the plan, one clear button.
  • Day 3: add urgency — name the date access pauses — same link.
  • Day 6: final notice with the exact consequence, same link.

3. Let Smart Retries do the timing

Stripe's Smart Retries optimise retry timing based on when charges are likely to succeed. Turn them on, then confirm the attempt count and the final failure behaviour (cancel vs pause) matches what you actually want per plan.

4. Close the entitlement loop

Recovery isn't done when the invoice pays — it's done when the customer has access again. Make sure invoice.payment_succeeded after a failure re-grants entitlement in your app. This is the step that breaks silently after refactors.

5. Pick one email sender

Use Stripe's automatic emails or your own provider — not both. Duplicate emails erode trust; gaps lose recovery. If you move to a provider like Resend, turn off Stripe's automatic failed-payment emails.

The thing teams always forget

Dunning configuration rots. The team that recovers the most isn't the one with the fanciest flow — it's the one that re-tests recovery every month.

Prices change, templates get edited, retry settings get toggled, and nobody re-checks. Put a monthly recovery-path test on the calendar — or automate it. DunningCheck runs that check for you and alerts when a step regresses; the first audit is free.

Subscribe for monthly monitoring. Your first audit is generated today.

Your first audit shows exactly where recovery is leaking today. Monthly monitoring then catches the next break before it costs you another month of MRR.

Start monthly monitoring
Stripe dunning best practices for small SaaS (2026) — DunningCheck