All posts
stripedunning

Stripe's Built-in Dunning vs Smart Recovery: What's Actually Different?

The Revorva Team·29 May 2026·9 min read

"Stripe's built-in dunning works. Just not very well."

That sentence gets more nods from SaaS founders than almost anything else we say.

Most founders know Stripe has some dunning built in. Most have vague awareness that it retries failed payments a few times. Most assume it's probably handling the problem, at least somewhat.

And they're right — Stripe's built-in dunning is doing something. It's recovering roughly 20–30% of failed payments on the average account. That's better than nothing.

But "better than nothing" isn't the same as "good enough." Especially when dedicated recovery tools are hitting 65–70% recovery rates on the same types of failures.

The gap between those two numbers — 25% vs 70% — is the story this post tells.

What Stripe actually built

Stripe added basic dunning years ago, and for most of that time it was genuinely impressive relative to what existed before. Automatic retries based on machine learning. Email notifications to customers. Subscription cancellation handling.

But here's the important context: Stripe is a payments processor. Its primary product is payment infrastructure. Dunning is a secondary feature — a useful addition inside a payments tool, not a dedicated recovery product. The engineering investment reflects that.

When a payment fails on Stripe, here's what the default dunning does:

It retries the charge on a schedule Stripe determines algorithmically. You have no visibility into when those retries happen or why. It sends an email to the customer — a Stripe-branded email, from a Stripe domain, with Stripe's copy — asking them to update their payment method. If retries are exhausted without success, the subscription cancels.

This system recovers roughly 20–30% of failures. For many businesses at early stage, they've never questioned whether that number is good or whether they're leaving 40–50 percentage points of recovery on the table.

Where the gap comes from

The difference between 25% recovery and 70% recovery isn't mysterious. It comes from four compounding factors.

Timing optimisation. Stripe's retries happen on Stripe's schedule, which isn't necessarily aligned with why the payment failed. A transient bank error might succeed hours after failure. An insufficient funds failure might succeed after a customer's next payday. A stale card requires customer action before any retry can succeed. Smart recovery systems understand these categories and time retries accordingly — which dramatically improves the probability of success at each attempt.

The email is the recovery mechanism, not the retry. For a large percentage of failures — particularly stale card data, which represents roughly 45% of all failures — no number of retries will succeed without the customer first taking action. They need to update their payment details. The email is what triggers that. Stripe's email performs adequately. But a personalised email sent from your brand's domain, addressed to the customer by name, explaining the specific charge and giving them a direct link to update — performs dramatically better. Open rates, click rates, and recovery rates all improve measurably with personalisation.

Domain and deliverability. Stripe sends recovery emails from Stripe's domain. Customers recognise Stripe, but the email is easily deprioritised or filtered. An email from billing@yourcompany.com arriving in a customer's inbox signals: "this is from someone I pay regularly." The context triggers action in a way that a Stripe notification doesn't. And for customers who have spam-heavy inboxes, domain reputation matters enormously for whether recovery emails reach them at all.

Control and measurement. Stripe's dunning is a black box. You can't easily see which customers are in active recovery, what attempts have been made, or what your recovery rate actually is. You can't skip recovery for a customer you know is churning anyway. You can't escalate differently for your highest-value accounts. Smart recovery systems give you this control and surface the data you need to improve over time.

The real money at stake

Let's put some numbers on this. Not industry averages — your business.

At $25k MRR, with a 6% monthly failure rate:

  • $1,500/month in failed payments
  • Stripe default recovery (25%): you lose $1,125/month permanently
  • Smart recovery (70%): you lose $450/month permanently
  • The monthly difference: $675/month, or $8,100/year

At $50k MRR, the same math:

  • $3,000/month in failed payments
  • Monthly difference between Stripe defaults and smart recovery: $1,350/month
  • Annual difference: $16,200

This is real revenue. Not projected revenue, not lifetime value estimates — actual MRR that gets recovered in the current month or doesn't. For most early-stage SaaS businesses, this is one of the highest-ROI improvements available to them.

"But Stripe is free. Why would I pay?"

This is the objection we hear most often. It's a reasonable question.

Stripe's dunning is indeed free. Dedicated recovery tools cost money — $29–$250/month depending on the platform and scale.

But the math only works in Stripe's favour if you're ignoring the recovery gap. At $25k MRR, the additional $675/month you recover with smart dunning vs Stripe defaults covers a $29/month tool 23 times over. The real question isn't "why would I pay for a recovery tool?" — it's "can I afford to leave $8,100 on the table every year to save $29/month?"

For most founders, once they calculate their actual exposure, the decision makes itself.

What to look for in a recovery tool

If you've decided that Stripe's defaults aren't enough, here's what separates good recovery tools from marginal ones.

Smart retry timing. Not just "retries", but timing that accounts for why payments typically fail. Is the tool applying different timing for different failure categories? Can you see when retries are happening and why?

Personalised emails from your domain. The tool should send emails from billing@yourcompany.com, not its own domain. Every email should include the customer's name and the specific charge that failed. This isn't a premium feature — it's the baseline for effective recovery.

Per-customer control. The ability to skip recovery for specific customers, pause it temporarily, or escalate high-value accounts to different workflows. Without this, you're treating a $2,000/month customer identically to a $9/month one.

Recovery analytics. Can you see your actual recovery rate? Revenue recovered by month? Which customers are in active recovery? Without visibility, you can't improve.

Maintenance-free operation. The tool should handle Stripe API changes, deliverability management, and edge cases without requiring ongoing engineering attention from your team.

How Revorva fits into your Stripe stack

Revorva doesn't replace Stripe. It enhances it.

The framing matters: Revorva is the smart layer that sits between Stripe's payment infrastructure and your customer relationship. When a payment fails, Stripe processes the failure event. Revorva picks it up, runs a smarter recovery sequence, and handles the customer communication. Stripe still processes the eventual successful charge.

The setup is 2 minutes — a standard Stripe OAuth connection. No webhooks to configure, no API keys, no engineering work. Once connected, Revorva starts working on any failed payment that comes through.

Recovery rates on Revorva typically land at 65–70%, compared to 20–30% with Stripe's defaults. Plans start at $29/month with a 14-day free trial.

For most SaaS businesses, the time between "I wonder if my recovery rate is actually good" and "I've connected Revorva and improved it" can be measured in hours, not weeks.

Calculate what better recovery would mean for your business →


See the difference. Try Revorva free for 14 days →

Sources: Recurly 2024 SaaS Payment Recovery Report; internal Stripe documentation on Smart Retries; Profitwell SaaS Benchmarks.

Share this article

Try Revorva free for 14 days

Connect Stripe in 2 minutes. Start recovering failed payments automatically.

Connect Stripe — Start Free

Get the free recovery playbook

7-page guide: retry timing, email templates, and measurement framework. Free, no spam.