Stripe's built-in revenue recovery — Smart Retries, customer emails, no-code automations and automatic card updates — is a genuine dunning system, and for a small subscription business it is often enough. A dedicated dunning tool earns its fee in three situations: you want emails written around the decline reason, you want to go back for failures Stripe has already stopped retrying, or you bill on a processor other than Stripe.
We build a recovery tool, so we have a stake in this question — which is exactly why we wrote it from Stripe's own documentation first. Stripe is not the weak link people assume. The honest version of the decision is not "native versus tool"; it is "which of the five recovery jobs do I still have to do myself after Stripe has done its part?" This guide lists what Stripe documents, what it leaves out, and how to work out whether the gap is worth $29 a month to you.
Key takeaways
- Stripe documents five built-in recovery features: Smart Retries, customer emails, no-code automations, automatic card updates and recovery analytics.
- Stripe's failed-payment email is a single toggle with your branding — its documentation describes no per-decline-reason copy or multi-step email sequence.
- Automations can change retries and cancellation by segment, but none of the documented actions sends a custom dunning email to the customer.
- A tool is worth paying for when its extra recovered revenue per month exceeds its price; at $29 a month that can be a single extra recovered payment.
What does Stripe's built-in revenue recovery include?
Stripe groups five features under revenue recovery in Stripe Billing, and Stripe's own checklist tells you to enable them. Here is what each one does according to the documentation, with the limits that matter.
1. Smart Retries (or a custom schedule)
Smart Retries uses machine learning to pick retry times. You choose a policy — a number of tries within a window of 1 week, 2 weeks, 3 weeks, 1 month or 2 months — and Stripe's recommended default is 8 tries within 2 weeks. If you would rather control it, you can switch Smart Retries off and write a custom schedule of up to three retries, each a set number of days after the previous one. When the final retry fails, your setting decides what happens next: cancel the subscription, mark it unpaid, or leave it past_due (our subscription statuses guide covers what each of those means for your access control). For the mechanics of the timing model see Stripe Smart Retries explained.
2. Customer emails
Under email notifications, Stripe can send a failed-payment email after each failed card payment, a 3D Secure confirmation request with reminders, a trial-ending reminder seven days before a trial ends, renewal reminders, and an expiring-card email one month before the default card expires. Each links to a page where the customer updates their payment method — either a Stripe-hosted Customer Portal page or your own page — and all use your Stripe branding settings.
3. No-code automations
Automations let you build a workflow of a trigger, optional filters (customer metadata, invoice amount, yearly or monthly interval, product) and a sequence of actions with delays. There are six triggers, including Subscription payment fails, and Stripe's own recipe is a longer retry policy plus a 7-day grace period for annual subscribers. One detail worth knowing: when an automation runs, it overrides your global settings for that event.
4. Automatic card updates
Stripe refreshes a customer's card details when the issuer reissues the card, which is the network-level mechanism we explain in Account Updater explained. It is silent and useful, and it cannot fix a card the customer closed or a decline for insufficient funds.
5. Recovery analytics
The revenue recovery overview reports failed payments, failure rate, recovered payments and recovery rate, with breakdowns by recovery method and decline code. Stripe notes that the data covers recurring subscription payments only and excludes the first invoice after a trial.
Where does Stripe's toolkit stop?
Stripe covers retrying and a single notification well; the gaps are in what happens between the customer and the update-card page, and in everything that already failed. These are the four we see most often — each one stated as "the documentation does not describe," because we are reading Stripe's pages, not claiming to know its internals.
- Copy that changes with the decline reason. An
insufficient_fundsdecline wants a patient, payday-aware message; anexpired_cardwants a direct "your card expired, update it" request;do_not_honorwants reassurance that it is probably not the customer's fault. Stripe's failed-payment email is one toggle with your branding. See our dunning email templates for what reason-specific copy looks like. - A sequence, not a notification. The documented email behavior is an email after each failed payment. A recovery sequence — a gentle first note, a firmer second, a last-chance third, spaced across the retry window — is something you assemble yourself. And the automation action list has a team email and a cancellation email, but no customer-facing dunning email.
- Failures that already ran out of retries. Once a schedule ends and the subscription is canceled or unpaid, the invoice sits there. Stripe does not describe a feature that goes back for it. We cover why that backlog matters in the historical recovery guide.
- Everything that is not Stripe. If part of your revenue bills through Paddle, Braintree, Chargebee or Recurly, Stripe's recovery stack does not touch it.
What Stripe does better than most tools
Stripe built-in vs a dedicated dunning tool, feature by feature
Side by side, the difference is mostly about customer communication and reach. The right-hand column uses Revova as the example because we can state its behavior precisely; other tools differ on the details, which our six-tool roundup compares.
| Capability | Stripe built-in | Dedicated tool (Revova) |
|---|---|---|
| Retry timing | Smart Retries or up to 3 custom retries; end-of-retries action you choose | Smart retries on Stripe, timed to payday windows |
| Failed-payment email | One email per failed payment, Stripe branding, hosted update page | AI-written sequence of four emails (five on Pro) around the decline reason |
| Expiring-card email | One email 1 month before expiry (default card) | Pre-dunning for cards expiring this or next month (Stripe) |
| Custom rules by segment | No-code automations: filters by interval, amount, product, metadata | Sequence settings; not a general rules engine |
| Customer-facing copy by decline code | Not described in the docs | Yes — reason-specific |
| Failures that already ran out of retries | Not described in the docs | Lost Revenue Finder scans Stripe history (free to run) |
| Processors | Stripe only | Emails on Stripe, Paddle, Braintree, Chargebee, Recurly |
| SMS and cancel flow | Not part of the recovery toolkit | SMS and in-app cancel flow on Pro (Stripe) |
| Cost | Part of Stripe Billing — see Stripe’s pricing page | $29/mo Starter, $79/mo Pro, 14-day free trial, no card |

✓ Pros
- +Zero integration: toggles in the Dashboard, no webhook handler to build
- +Retries use signals only the payment network owner sees
- +Automations give real control over retry length and cancellation by segment
- +Recovery analytics show your own failure and recovery rates
✕ Cons
- –Customer email is one templated notification, not a reason-aware sequence
- –Nothing documented for chasing invoices that already ran out of retries
- –Covers Stripe only — no help for Paddle, Braintree, Chargebee or Recurly revenue
- –No SMS or cancel flow in the recovery toolkit
Should you stay on Stripe's built-in tools or add a dedicated one?
Stay on Stripe alone if your failed-payment volume is small enough to chase by hand and you have not yet measured a recovery rate worth improving; add a tool when the arithmetic says it pays. The arithmetic is simple, because a tool only needs to recover more than it costs.
Break-even, with your own numbers
A quick fit grid
- Stay on Stripe built-in: a handful of failures a month, all on Stripe, and your recovery rate in Stripe's analytics is already high.
- Add Revova (Starter, $29): failures every week, you want reason-aware emails, or you have never gone back for old failures.
- Add Revova (Pro, $79): you also want SMS, the cancel flow, five-email sequences or multi-language emails (Pro; Stripe features need Stripe).
- Look at a premium suite: if you are well-funded and want deep cancel-flow tooling, see our Churnkey alternatives page for how the tiers compare.
How do you run Stripe's recovery features and a dedicated tool together?
Decide which system owns each job and switch the overlapping Stripe setting off — otherwise your customer gets two emails or two retries for one failure. Stripe makes this practical because the settings are independent.
- Pick the retry owner. Smart Retries can be turned off in the Dashboard (and replaced with custom rules). One system should own retry timing per invoice.
- Pick the email owner. If your tool sends the failure emails, turn off Send emails when card payments fail. Keep the 3D Secure confirmation and expiring-card emails on unless your tool covers them, because they solve different problems.
- Leave automatic card updates on. It is silent, and it removes failures before any email is needed.
- Keep Stripe analytics as your scoreboard. Its recovery rate counts any method, so it shows the combined effect of both systems.
- Check the first failure end to end. Use a test failure and confirm one email arrives, not two.
Setup details for the Revova side are in the dunning email sequence setup guide, and the prevention half of the picture — emails before the card fails — is in our pre-dunning setup guide.
The verdict
Turn on everything Stripe offers first; it costs you an afternoon and recovers real revenue. Then measure. If Stripe's recovery rate is high and your volume is low, stop there. If failures keep landing, or you have a backlog nobody chased, add a tool whose gap-filling matches your gaps. For most small SaaS teams on Stripe, that is reason-aware emails plus a one-time sweep of old failures.
Frequently asked questions
Does Stripe have built-in dunning?
Yes. Stripe Billing ships a revenue recovery toolkit that covers the main dunning jobs without code: Smart Retries (or a custom retry schedule), automatic customer emails for failed payments and expiring cards, no-code automations, automatic card updates, and a recovery analytics dashboard. Stripe’s own documentation recommends turning these on for every subscription business.
Do I need a dunning tool if I already use Stripe Smart Retries?
Not necessarily. If your failed-payment volume is small and Stripe’s retries plus its standard failed-payment email already recover most of what fails, a separate tool may add little. A dedicated tool starts to earn its fee when you want customer emails written around the specific decline reason, a way to go back for failures that already exhausted their retries, recovery on processors other than Stripe, or extras such as SMS and a cancel flow.
What does Stripe’s failed-payment email do, and what doesn’t it do?
When you switch on Send emails when card payments fail, Stripe emails the customer after each failed payment and links them to a page where they can update their payment method. The email uses your Stripe branding settings. Stripe’s documentation describes this as a setting you turn on or off; it does not describe writing your own copy per decline code or running a multi-step sequence of different messages.
Can Stripe automations send a custom dunning email to the customer?
Not according to Stripe’s documented action list. The actions are: set a retry policy, mark the subscription unpaid, cancel the subscription, mark the invoice uncollectible, send a team email (an internal memo), send a subscription cancellation email, and schedule an invoice.will_be_due webhook. Automations are strong at changing retry and cancellation behavior by segment (for example, yearly subscribers or invoices over a given amount), but customer-facing dunning copy is not one of the actions.
How much does a dedicated dunning tool cost compared with Stripe’s built-in recovery?
Stripe’s recovery features are part of Stripe Billing, so check Stripe’s pricing page for what applies to your plan. Dedicated tools vary: Revova is a flat $29 per month (Starter) or $79 per month (Pro) with a 14-day free trial and no card required, while premium suites such as Churnkey start considerably higher and some tools take a percentage of recovered revenue. The useful test is break-even: the tool pays for itself once it recovers more per month than it costs.
Can I run Stripe’s recovery features and Revova at the same time?
Yes, but decide which system owns each job so your customer is not contacted twice for the same failure. Stripe lets you switch Smart Retries off and turn the failed-payment email off independently, so a common setup is to let one system own retries and the other own the emails. Keep Stripe’s expiring-card and payment-confirmation (3D Secure) emails on unless your tool covers those too.
Does a dedicated dunning tool recover failures Stripe has already given up on?
Some do and some do not. Stripe retries a failing invoice on its schedule and then applies your end-of-retries setting (cancel the subscription, mark it unpaid, or leave it past due). Stripe’s documentation does not describe a feature that goes back through older, already-exhausted failures and contacts those customers. Revova’s Lost Revenue Finder scans your Stripe history for exactly that backlog; it is free to run and shows the number before you pay for anything.
Which processors does Stripe’s revenue recovery cover?
Only Stripe. If you bill through Paddle, Braintree, Chargebee or Recurly, Stripe’s recovery features do not apply to those subscriptions. Revova’s recovery emails work across Stripe, Paddle, Braintree, Chargebee and Recurly, while smart retries, pre-dunning, the Lost Revenue Finder, the cancel flow and SMS currently need Stripe.
See what Stripe isn't recovering
Connect Stripe read-only, run the free Lost Revenue scan, and see your own number first. Starter is $29/mo, Pro is $79/mo, and the 14-day free trial needs no card.
Start my 14-day free trial →No credit card · Free Lost Revenue scan · 30-day money-back guarantee




