Dunning
Dunning is the process of retrying failed subscription payments and emailing customers to update their card, so billing failures do not turn into canceled accounts.
Dunning is how you collect a payment that failed. A subscription renewal gets declined, and instead of canceling the account straight away, your billing system retries the charge on a schedule and sends the customer a sequence of messages asking them to fix their payment method. The word is old, from debt collection, but in SaaS the tone should be friendly: these are customers who mostly wanted to keep paying.
Dunning is the main tool against involuntary churn. If you take payments by card and have not set it up, you are probably losing revenue every month that you could recover.
The parts of a dunning process
- Retries. The billing system tries the card again after a delay. Stripe's Smart Retries chooses timing using payment signals, and recommends 8 attempts over 2 weeks. Paddle suggests up to 15 retries per 30 days in its payment failure guide.
- Emails. A short sequence, usually 3 or 4 messages, with a single link to the billing page. No login wall if you can avoid it.
- In-app notices. A banner for users who log in during the grace period.
- Pre-dunning. Emails sent before a card expires.
- Grace period and end state. How long access continues, and whether the account is canceled, marked unpaid or paused at the end.
How to measure it
If 40 renewals fail in a month, totaling $1,200, and 22 are recovered worth $660, your recovery rate is 22 / 40 = 55% by count and 660 / 1,200 = 55% by revenue. Track both, since high-value customers sometimes recover differently from small ones.
What the vendor data shows
These numbers come from vendors that sell recovery tools, so treat them as indicative. Baremetrics reports that a dunning email sent right away got a 13.25% recovery rate, while the same email delayed by 30 days got 4.2%. Pre-dunning emails, sent 30 days before expiration, got 14.37%. The lesson holds whatever the exact figure: send the first email immediately. Stripe reports that recovered subscriptions continue for seven more months on average.
Some practical rules
- Do not retry declines that mean the card is dead, such as lost or stolen codes. Stripe lists these as non-retryable until a new payment method arrives.
- Write plainly. Say what failed, what you will do next, and what happens on which date.
- One link, one action. Every extra choice lowers recovery.
- Leave access on during the grace period. Cutting off immediately annoys good customers.
- If a customer fails to recover, send them into your win-back flow later.
For small SaaS
You do not need a separate dunning product on day one. If you bill through Stripe or Paddle, turn on their built-in retries and emails first, then check your recovery rate after a quarter. Add a specialist tool only when failed payments are a large enough share of MRR to pay for it.
Related terms
Sources
- Automate payment retries, Stripe Docs
- Recover failed payments, save lost revenue, Baremetrics
- Payment failure and involuntary churn, Paddle
- How we built it: Smart Retries, Stripe