Dunning Management: The Complete Guide to Recovering Failed Payments
You spent months building features your customers love. Then a credit card quietly expires and your best customer vanishes without a word. This is the guide to making sure that never happens again.

Written by
Gerard Hill
Founder of Dunning Lite. 12+ years in digital marketing and SEO, former CTO, Google Partner, and two Masters in Digital Marketing. Built Dunning Lite after watching his own micro-SaaS lose hundreds in MRR to expired cards — and realizing every recovery tool on the market was built for companies 10x his size.
Executive Summary (TL;DR)
- •Dunning management is how you recover failed payments before they turn into lost customers. Without it, you're leaving 60-70% of recoverable revenue on the table.
- •The process has 3 phases: Prevention (stop failures before they happen), Recovery (days 1-14), and Escalation (days 14-30+).
- •Stripe Smart Retries alone recover 15-22% of failures. Add customer-facing emails and that number jumps to 70-85%.
- •If you're a micro-SaaS founder, you don't need an enterprise dunning platform. You need something that works in 2 minutes and doesn't cost more than the revenue it saves.
What Is Dunning Management?
Dunning management is the process of recovering failed payments through automated retries, customer notifications, and escalation workflows. In SaaS, it's how you prevent involuntary churn — customers who leave not because they wanted to, but because their credit card had other plans.
The word "dunning" comes from the 17th-century English verb dun, meaning to persistently demand payment. It sounds like something out of a Dickens novel, but the concept runs every modern subscription business. If you charge customers on a recurring basis, some of those charges will fail. Credit cards expire, banks get suspicious of Tuesday afternoon transactions, and sometimes processing networks just take a nap. How you handle those failures determines whether you keep the customer or lose them silently.
Here's the frustrating part: unlike voluntary churn (where someone actively cancels), involuntary churn happens without the customer knowing. Their card expired. Their bank flagged the charge. They hit a temporary spending limit. In every case, the customer wanted to keep paying — they just couldn't. And if nobody tells them, they're gone. That's the problem dunning management solves.
Dunning vs. Debt Collection: Key Differences
| Dunning | Debt Collection | |
|---|---|---|
| Timing | Days 0-30 after failure | Weeks or months after delinquency |
| Tone | Helpful, empathetic | Formal, sometimes aggressive |
| Goal | Retain the customer | Recover the debt |
| Who handles it | Internal (automated) | Third-party agencies |
| Regulation | Standard business practice | Heavily regulated (FDCPA, etc.) |
| Customer impact | Positive — you're helping them | Negative — damages relationship |
Bottom line: if a customer reaches collections, your dunning system already failed. Dunning is about keeping people around. Collections is about chasing people who left. One builds relationships; the other burns them.
Why Dunning Management Is Critical for SaaS
The Real Cost of Involuntary Churn (2026 Data)
Here's a number that should ruin your morning coffee: 20-40% of total SaaS churn is involuntary. Not "I hate your product" churn. Not "I found something better" churn. It's "my credit card expired and nobody told me" churn. Entirely preventable.
Let's make it real: $50K MRR, 1.5% monthly involuntary churn. That's $750/month — $9,000/year — evaporating because a Visa expired and your system just... shrugged. If you want to see your own numbers (and potentially ruin your afternoon too), run them through our Lost MRR Calculator.
We've written a deep dive on involuntary churn if you want to understand the mechanics. For now, just know: it's the silent killer of SaaS growth.
How Failed Payments Silently Kill Your MRR
The worst part? It's invisible. When someone actively cancels, you get a support ticket, a cancellation survey, maybe even a passive-aggressive email. When a payment fails? Nothing. Radio silence. The customer doesn't know, you don't notice, and 14 days later they're gone from your dashboard like they were never there.
For micro-SaaS founders, this is especially painful because every customer has a name and a face. 200 subscribers at $29/month. You lose 3 this month to expired cards. 3 more next month. That's 36 customers and $12,528 in annual revenue — gone. Not because your product was bad. Because an automated email didn't get sent.
Common Causes of Payment Failures
Before you can fix a failed payment, you need to understand why it failed. And no, the answer is not always "the customer is broke." Most payment failures are mundane technical issues that resolve themselves — if you know how to handle them.
Hard Declines vs. Soft Declines
Payment processors split failures into two categories, and confusing them is the most expensive rookie mistake in dunning:
- Soft declines are temporary. Insufficient funds, processing errors, bank timeouts. The door is closed but not locked — try again later and it'll probably work. These make up roughly 80% of all failures.
- Hard declines are permanent. Stolen card, closed account, expired card. No amount of retrying will help. The only path forward is getting the customer to provide a new payment method.
Treating all failures the same is like prescribing the same medicine for a headache and a broken leg. Retrying a hard decline wastes API calls and can actually trigger fraud flags at the bank. Not retrying a soft decline means losing revenue you could have recovered automatically, without the customer ever knowing there was a problem.
The Most Common Decline Codes (and What They Mean)
| Decline Code | Type | What It Means | Best Response |
|---|---|---|---|
| insufficient_funds | Soft | Not enough money in the account right now | Retry in 3-5 days (around payday) |
| card_declined | Soft | Generic decline — bank didn't specify why | Retry once after 24h, then email customer |
| expired_card | Hard | Card past its expiry date | Email customer immediately — no retry |
| authentication_required | Hard | Bank requires SCA / 3D Secure | Send payment link for customer to authenticate |
| processing_error | Soft | Temporary issue on the bank's side | Retry in 2-4 hours |
| stolen_card | Hard | Card reported lost or stolen | Do NOT retry — email for new payment method |
If you're on Stripe, all of this comes through the invoice.payment_failed webhook. The decline code is right there in the payload. Building your response around it — instead of blasting a generic "your payment failed" email — is the difference between 40% and 80% recovery. We've written a step-by-step on recovering failed payments on Stripe if you want to go deeper. For the complete reference of every decline code — including what each one means and exactly what to do — see our credit card decline codes guide.
The 3-Phase Dunning Process
Most founders think dunning starts when a payment fails. Wrong. The best dunning systems start working before anything goes wrong. Think of it as three phases: prevent what you can, recover fast when you can't, and escalate gracefully when time runs out.
Phase 1: Prevention (Before the Payment Fails)
The cheapest failed payment to recover? The one that never happens. Here's how:
- Card expiration reminders — Send an email 30 and 7 days before a card expires, with a direct link to update payment details. This single tactic can prevent 15-20% of all payment failures.
- Automatic card updaters — Services like Visa Account Updater and Mastercard Automatic Billing Updater automatically refresh expired card numbers. Stripe supports this natively — enable it in your billing settings.
- Pre-billing notifications — Let customers know a charge is coming 3 days before it hits. This gives them time to ensure funds are available and avoids surprise declines.
Phase 2: Recovery (Days 1-14)
This is where the money is. The first 14 days after a failure are your golden window — recovery rates after that drop off a cliff. Move fast:
- Immediate smart retry — Retry the payment based on the decline type (see the smart retry section below).
- Customer notification — Send the first dunning email within hours of the failure. Be specific about what went wrong. Include a one-click link to update payment details. For inspiration, check our dunning email examples.
- Follow-up sequence — Send 2-3 follow-up emails over the next 14 days, each with increasing urgency but never aggression. See the email sequence timeline below.
- In-app notification — If the customer logs in during this period, show a banner prompting them to update their card. Some customers check email rarely but use your product daily.
Phase 3: Escalation (Days 14-30+)
If 14 days of retries and emails haven't worked, the playbook changes:
- Grace period decision — Do you continue service or restrict access? Most SaaS companies maintain access during the grace period to avoid frustrating customers who simply didn't see the emails.
- Final warning email — Clear, direct: "Your subscription will be cancelled in 48 hours unless you update your payment method." No fluff.
- Cancellation with re-activation path — If the payment isn't recovered, cancel the subscription but make it dead simple to reactivate. A one-click reactivation link in the cancellation email can recover 5-10% of seemingly lost customers weeks later.
Dunning Email Sequence: A Proven Timeline
Timing matters more than you think. Send the first email too late and the customer has already mentally moved on. Send too many and you're that annoying brand nobody wants to hear from. Here's the 4-email sequence that consistently recovers 70%+ of failed payments:
Immediate Notification
Tone: Helpful + specific
Tell the customer exactly what happened — expired card, insufficient funds, or authentication required. Include a direct link to update their payment method. Send within 1-2 hours of the failure.
Friendly Reminder
Tone: Casual + personal
A short, personal follow-up. Acknowledge they may have missed the first email. Keep it conversational — "Hey, just a heads up" works better than "URGENT: Payment Required." Reiterate the update link.
Urgency + Self-Service
Tone: Direct + helpful
Introduce a soft deadline: "Your subscription access will be affected if we can't process payment by [date]." Offer alternative payment methods if possible. Mention what they'll lose access to.
Final Warning
Tone: Clear + respectful
Last email before cancellation. Be direct but not threatening: "We'll need to cancel your subscription tomorrow unless we can resolve this." Include a one-click reactivation link for after cancellation.
Don't want to write these from scratch? We've got ready-to-use dunning email templates tailored to each failure type, or you can use our dunning email generator to create your own in about 30 seconds.
Smart Retry Logic: When and How to Retry
Here's where it gets interesting. Smart retry logic doesn't just hammer the payment processor every 24 hours and hope for the best. It retries at optimal times based on why the payment failed — and that single distinction can recover 15-30% of failures without the customer ever receiving an email.
| Decline Type | When to Retry | Max Retries | Why This Timing |
|---|---|---|---|
| Insufficient funds | 3-5 days later, near 1st or 15th | 3 | Aligns with common payroll dates |
| Generic decline | 24 hours, then 72 hours | 2 | Often temporary bank-side issue |
| Processing error | 2-4 hours later | 2 | Usually resolves within hours |
| Expired card | Do NOT retry | 0 | Will always fail — contact customer |
| Authentication required | Do NOT retry | 0 | Requires customer action (3DS/SCA) |
A note on Stripe Smart Retries: They're free, they require zero setup, and they use ML to pick retry timing. Solid starting point. But they recover roughly 15-22% of failures — and that's it. Smart Retries will never send the customer an email, never explain what went wrong, and never ask for a new card when the old one is dead. They're the floor, not the ceiling. For a full breakdown of what's out there, see our dunning software comparison.
7 Best Practices for Effective Dunning
Prevent Failures with Card Updaters
Enable Visa Account Updater and Mastercard ABU through your payment processor. These services automatically refresh expired card numbers before the next billing cycle — preventing 15-20% of card-related failures without any customer action.
Segment by Customer Value
A $29/month customer and a $499/month customer shouldn't get the same dunning treatment. High-value accounts deserve personal outreach — a quick email from the founder or a phone call. Low-value accounts can rely on automation.
Use Multi-Channel Communication
Email alone isn't enough. Combine email with in-app notifications, SMS (for high-value accounts), and self-service payment update pages. Customers who don't check email may log into your app daily.
Keep the Tone Empathetic, Not Aggressive
The customer didn't choose to miss their payment. Use language like "We noticed your payment didn't go through" instead of "Your payment is overdue." You're helping them, not chasing them.
Offer Multiple Payment Methods
If a credit card fails, offer alternatives: a different card, bank transfer, PayPal, or even manual invoicing for enterprise accounts. The fewer barriers to payment, the higher your recovery rate.
A/B Test Your Dunning Emails
Test subject lines, send times, email length, and CTA placement. Even small improvements (2-3% higher open rate) compound over hundreds of dunning emails per year. Track which version recovers more revenue, not just which gets more opens.
Track Recovery Rate, Not Just Churn
Churn rate tells you how many customers you lost. Recovery rate tells you how effective your dunning is at saving them. A 70% recovery rate means you're recovering 7 out of every 10 failed payments — and there's still room to improve.
DIY Dunning vs. Dunning Software: Which Do You Need?
The eternal founder question: build or buy? With dunning, the answer is simpler than you think — it depends entirely on how many customers you have and how much engineering time you want to spend on something that isn't your core product.
Stripe Smart Retries Only
Best for: 0-100 customers
Free, zero setup. Stripe retries failed payments automatically using ML-based timing. Recovers 15-22% of failures. No customer emails, no failure-type awareness.
Cost: Free
Dedicated Dunning Tool
Best for: 100-5,000 customers
Smart retries + customer emails + failure-type awareness + analytics. Recovers 60-85% of failures. Setup in minutes, not weeks. Frees you to work on product instead of payment recovery.
Cost: $29-199/month
Custom Built System
Best for: 5,000+ customers
Full control over retry logic, email templates, escalation rules, and integrations. Maximum flexibility but requires significant engineering investment to build and maintain.
Cost: 40-80h engineering + maintenance
For a detailed breakdown of specific tools and pricing, read our comparison of the best dunning software for small SaaS.
Measuring Your Dunning Performance
You set up dunning. Great. But is it actually working? These are the six metrics that tell you the truth — no vanity numbers, just the ones that map directly to revenue:
Recovery Rate
Recovered payments / Total failed payments
Target: 70-85%
Your primary KPI. Below 50% means your dunning is underperforming.
Involuntary Churn Rate
Customers lost to failed payments / Total customers
Target: < 0.5%/month
Should be well below your voluntary churn rate.
Time to Recovery
Average days from failure to successful payment
Target: < 5 days
Faster recovery = healthier cash flow.
Email Open Rate
Dunning emails opened / Dunning emails sent
Target: > 50%
Dunning emails should outperform marketing emails significantly.
Revenue Recovered
Total MRR saved by dunning per month
Target: Track monthly
The ultimate measure of ROI for your dunning system.
Prevention Rate
Pre-dunning saves / Expected failures
Target: > 15%
How many failures you prevent with card updaters and reminders.
Want to play with the numbers? Our Lost MRR Calculator lets you model different recovery scenarios, and the Checkout Audit tool will find leaks in your payment flow you didn't know existed.
Frequently Asked Questions
What is dunning management?+
What is the difference between dunning and debt collection?+
How many dunning emails should I send?+
Is dunning legal?+
What is a good recovery rate for failed payments?+
What is smart retry logic?+
How long should a dunning grace period be?+
Tired of losing customers to expired cards?
Dunning Lite connects to your Stripe account in two clicks, catches failed payments in real time, and sends recovery emails that actually explain what went wrong. Built for founders who'd rather work on their product than chase payment failures. $29/month flat — because charging a percentage of your recovered revenue felt gross.