# Subscription Dunning: A 14-Day Recovery Sequence That Saves Failed Payments

> A complete 14-day subscription dunning sequence with email copy, retry timing, and decision logic. Recover more failed renewals without losing customers.
- **Author**: Ayush Agarwal
- **Published**: 2026-05-07
- **Modified**: 2026-10-06
- **Category**: Retention, Billing, SaaS
- **URL**: https://dodopayments.com/blogs/en/subscription-dunning-recovery-sequence

---

A failed payment is not the end of a customer relationship. It is a 14-day window in which the right communication can recover a large share of failed renewals without losing customers. The wrong communication churns them on the spot.

This guide is the operational playbook. A 14-day dunning sequence with email copy, retry timing, in-app prompts, and decision logic for what happens when each step fails. Built from patterns we see in SaaS companies running dunning, and what works versus what spikes churn.

## What Dunning Actually Is

Dunning is the process of communicating with customers whose payment failed and attempting to recover the revenue. The goal is not to be aggressive. The goal is to acknowledge the failure, surface the cause, and make the recovery action as easy as possible.

Bad dunning treats failed payments as collection events. Good dunning treats them as customer-success interventions.

> Dunning is the part of SaaS that nobody loves but everyone pays for. The companies that do it well treat it as a customer experience problem. The companies that treat it as a debt-collection problem watch their churn rate triple.
>
> - Ayush Agarwal, Co-founder & CPTO at Dodo Payments

For broader retention context, see our companion guides on [dunning management](https://dodopayments.com/blogs/dunning-management), [revenue recovery for SaaS](https://dodopayments.com/blogs/revenue-recovery-saas), and [involuntary churn from failed payments](https://dodopayments.com/blogs/involuntary-churn-failed-payments).

## Why Payments Fail

Understanding the cause shapes the recovery. The five most common reasons SaaS payments fail:

```mermaid
flowchart TD
    A[Failed Payment] --> B{Failure Reason}
    B -->|1| C[Insufficient Funds]
    B -->|2| D[Card Expired]
    B -->|3| E[Card Replaced]
    B -->|4| F[Bank Rejection / Fraud]
    B -->|5| G[CVV / Address Mismatch]
    C --> H[Smart Retry]
    D --> I[Card Update Flow]
    E --> J[Account Updater]
    F --> K[Customer Action Needed]
    G --> L[Auto-Retry After Customer Update]
```

| Reason | Typical Frequency | Recovery Difficulty |
|---|---|---|
| Insufficient funds | Very common | Easy (retry timing) |
| Card expired | Common | Easy (card update) |
| Card replaced (lost/stolen) | Common | Medium (network updater + customer action) |
| Bank rejection / fraud flag | Less common | Hard (customer must contact bank) |
| CVV/address mismatch | Less common | Easy (customer update) |

The recovery rate varies dramatically by failure reason. The sequence below is tuned to handle all five cases.

## The 14-Day Dunning Sequence

The recovery window is approximately 14 days. After that, customers either pay or churn. Stretching the sequence longer hurts more than it helps.

### Day 0 (Failure Day)

**System action:** Detect failure, log the failure code (insufficient funds vs. card expired vs. fraud flag), suspend automatic retries for 24 hours.

**Customer action:** Send Email 1 (gentle notification). Show in-app banner with "Update payment method" button.

**Email 1 copy:**

> Subject: We had trouble with your payment for [Product]
>
> Hi [Name],
>
> Just a heads up - we had trouble processing your latest payment for [Product]. This usually clears up on its own, but we wanted to let you know.
>
> No action needed yet. We will retry in a couple of days. If you have already updated your card, you can ignore this email.
>
> If you want to fix it now, [update your payment method here].

This first email is intentionally gentle. Most insufficient-funds failures clear within 24 to 48 hours. Aggressive language at this point hurts more than it helps.

### Day 2 (Retry 1)

**System action:** First automatic retry of the failed payment.

**If success:** Send confirmation email. End sequence.
**If failure:** Send Email 2.

**Email 2 copy:**

> Subject: Your [Product] payment is still pending
>
> Hi [Name],
>
> We tried your card again today and it did not go through. The most common cause is an expired card or insufficient funds.
>
> [Update your payment method] - this usually fixes it and only takes a moment.
>
> If you need help, [contact our support team]. We are happy to walk through it with you.

### Day 5 (Retry 2)

**System action:** Second automatic retry.

**If success:** Send confirmation email. End sequence.
**If failure:** Send Email 3, with stronger language.

**Email 3 copy:**

> Subject: Action needed: your [Product] subscription
>
> Hi [Name],
>
> We have not been able to process your payment after a couple of attempts. To keep your access to [Product] active, please update your payment method by [Day 14 deadline].
>
> [Update payment method now]
>
> If your card was recently replaced or lost, this is the most common reason. Updating your new card details takes 30 seconds.
>
> Need help? [Reply to this email] and we will get back to you within a few hours.

### Day 9 (Retry 3)

**System action:** Third automatic retry. Show prominent in-app banner ("Subscription pending - update payment").

**If success:** Send confirmation email. End sequence.
**If failure:** Send Email 4.

**Email 4 copy:**

> Subject: Final notice: your [Product] subscription
>
> Hi [Name],
>
> Your payment has now failed multiple times. To avoid losing access to [Product], please update your payment method by [Day 14 deadline].
>
> [Update payment method]
>
> If you have decided not to continue with [Product], you can [cancel your subscription] or [pause it for up to 90 days] - we can pick up where you left off when you are ready.
>
> If something else is going on, [we are here to help].

This email also surfaces pause and cancel options. Some customers genuinely want to leave; making cancellation harder than payment update generates support tickets and damages reputation.

### Day 14 (Final Retry + Suspension)

**System action:** Final automatic retry. If it fails, suspend access (or downgrade to a free tier if applicable).

**If success:** Send recovery confirmation email. End sequence.
**If failure:** Send Email 5 (suspension notification).

**Email 5 copy:**

> Subject: Your [Product] subscription has been paused
>
> Hi [Name],
>
> Your [Product] subscription has been paused because we were not able to process your payment after multiple tries.
>
> Your data is safe and your account stays available for the next 30 days. You can reactivate at any time:
>
> [Reactivate now]
>
> If something specific is keeping you from updating your card, [reply to this email] - we are happy to help.

After Day 14, move into a separate win-back sequence (separate post). The dunning sequence ends here.

## Decision Logic

When automatic retries fail, the system has to decide what to do next. Use these rules:

```mermaid
flowchart TD
    A[Retry Result] --> B{Success?}
    B -->|Yes| C[End sequence
Send confirmation]
    B -->|No| D{Retry count < 3?}
    D -->|Yes| E[Schedule next retry]
    D -->|No| F{Day < 14?}
    F -->|Yes| G[Continue with email only]
    F -->|No| H[Suspend access
Send Email 5]
```

The exact retry timing matters. Use exponential-spaced retries (Day 2, Day 5, Day 9) instead of immediate retries because:

1. Most processors block immediate retries after a hard decline
2. Exponential spacing matches typical paycheck/funding cycles
3. Hard rules around frequency reduce fraud detection escalation

## What Not to Do

Patterns that consistently churn customers:

- **Suspend access immediately on first failure.** Customer perceives this as punitive. They cancel out of spite even after updating the card.
- **Aggressive language in Email 1.** "Your account is in arrears" tone makes customers feel like they did something wrong. These [dunning letter examples by stage](https://dodopayments.com/blogs/dunning-letter) show how tone can escalate gradually instead.
- **No in-app surfacing.** Email-only dunning misses the customers who use the product daily. They might never see your email.
- **No alternate payment methods.** If the customer's only option is updating the same card that just failed, recovery rate drops dramatically.
- **No pause option.** Customers who genuinely cannot afford the subscription right now should be able to pause instead of cancel.
- **Silent suspension.** Suspending access without communication is the fastest way to generate refund requests and chargebacks.

> The biggest mistake I see in dunning is companies that build elaborate retry logic but forget the customer experience. The customer does not care about your retry strategy. They care that they tried to use your product, it did not work, and they got an aggressive collection email instead of help.
>
> - Rishabh Goel, Co-founder & CEO at Dodo Payments

## In-App Banners

Email-only dunning misses customers who use the product daily. Pair the email sequence with in-app prompts:

- **Day 0:** Soft banner ("Payment issue - update method when convenient")
- **Day 5:** Medium banner ("Action needed - update payment to keep access")
- **Day 9:** Prominent banner ("Subscription pending suspension - update now")
- **Day 14:** Full-screen modal on access ("Reactivate to continue")

In-app banners reliably add recoveries on top of email-only sequences, because they reach customers who never open billing emails.

## Smart Retry Timing

Beyond the day-of-week and time-of-day spacing, consider:

- **Avoid Mondays.** Bank funding cycles often run Tuesday through Friday.
- **Avoid 1st and 15th of the month.** Lots of automatic deductions on these days; customer balances are at their lowest.
- **Prefer 8-10 AM customer local time.** Bank decision systems favor business hours.
- **Skip retries during holidays.** Customer attention is elsewhere; retry the next business day.

Many billing platforms, including Dodo Payments, retry failed subscription payments automatically, so you do not have to schedule these attempts yourself.

## Card Updater Services

Use the Visa Account Updater (VAU) and Mastercard Automatic Billing Updater (ABU) services. These are network-level systems that automatically update card details when issuers replace cards.

For SaaS companies, this removes many "card replaced" failures without any customer interaction. Coverage depends on the issuer and the processor, so confirm whether your provider supports it.

## What Recovery Looks Like at Scale

As an illustration, take a SaaS with 5,000 paying customers and 3% monthly involuntary churn:

- 150 failed renewals per month
- If retries plus an email sequence recover half of them, that is 75 saved subscriptions
- Net involuntary churn after recovery drops to 1.5%

This represents a meaningful retention lift compared to no dunning, where most failed renewals would simply churn.

## Tooling Requirements

For dunning to work end-to-end, the billing platform needs:

- **Configurable retry timing.** Day 2/5/9/14 or whatever pattern you choose.
- **Webhook events** for every failure, retry, and recovery state.
- **Email template support** for branded dunning emails.
- **In-app notification API** for surfacing payment issues in your product.
- **Customer portal** with one-click card update.
- **Network updater integration** (VAU, ABU).
- **Pause and downgrade options** as alternatives to cancel.
- **Recovery reporting** to measure performance over time.

## How Dodo Payments Handles Dunning

Dodo Payments supports the core building blocks of this workflow natively:

- Automatic subscription payment retries (shipped June 2026), so failed renewals are retried without custom code
- Subscription dunning emails that ask the customer to update their payment method (shipped April 2026)
- Subscription grace periods and [manual payment retry](https://docs.dodopayments.com/features/recovery/manual-retry) (shipped September 2026), so you can keep a customer active while they fix their card and trigger a retry yourself after they do
- `dunning.started` and `dunning.recovered` webhooks, plus `subscription.on_hold`, `subscription.past_due`, and `subscription.update_payment_method`, so your app can show banners and restore access at the right moment
- Customer portal where subscribers can update their payment method
- Subscription pause and resume (shipped August 2026) as an alternative to cancellation
- Customer-friendly payment failure messages (shipped August 2026) that explain why a payment failed
- Full Merchant of Record coverage so global tax stays accurate during recovery
- Transparent pricing: recovery is free to enable and costs 5% only on successfully recovered revenue, on top of standard subscription pricing (4% + 40c domestic US, +0.5% for subscriptions) with no monthly fees

For retry spacing in more depth, read our guide to [payment retry logic](https://dodopayments.com/blogs/payment-retry-logic). For implementation patterns, see the [payment retries documentation](https://docs.dodopayments.com/features/recovery/payment-retries), the [recovery webhook events](https://docs.dodopayments.com/developer-resources/webhooks/intents/recovery), the [subscription dunning feature documentation](https://docs.dodopayments.com/features/recovery/subscription-dunning), [abandoned cart recovery](https://docs.dodopayments.com/features/recovery/abandoned-cart-recovery), and the [webhooks documentation](https://docs.dodopayments.com/developer-resources/webhooks).

## FAQ

### What is dunning in SaaS?

Dunning is the process of communicating with customers whose payment failed and attempting to recover the revenue. It typically involves a series of automatic retry attempts on the failed card combined with email communication asking the customer to update their payment method. Effective dunning recovers a large share of failed renewals, especially those caused by temporary issues like insufficient funds.

### How long should a dunning sequence run?

A 14-day window is standard for SaaS. Beyond 14 days, recovery rates drop dramatically and customer relationships deteriorate. Some companies extend to 21 days for high-value B2B accounts, but most B2C and SMB SaaS see better outcomes with shorter, more focused sequences.

### What's the right retry timing for failed payments?

Exponential spacing works best: retry on Day 2, Day 5, Day 9, and Day 14 of the failure window. Avoid Mondays (bank funding cycles), the 1st and 15th of the month (lots of automatic deductions), and customer holidays. Most modern billing platforms support configurable retry windows.

### Should I suspend access immediately when payment fails?

No. Immediate suspension feels punitive to customers and consistently spikes churn. Wait until the end of the recovery window (around Day 14) before suspending. Many customers update their card within the first 48 hours without intervention.

### Can a Merchant of Record handle dunning?

Yes. A Merchant of Record like Dodo Payments runs dunning automatically: automatic payment retries, dunning emails, customer portal access for card updates, grace periods, and `dunning.started` / `dunning.recovered` webhook events. Recovery is free to enable and billed at 5% only on revenue that is actually recovered.

## The Takeaway

Subscription dunning is not a debt collection process. It is a customer experience program that recovers a large share of failed renewals when done correctly. The 14-day sequence with smart retry timing, well-written emails, in-app banners, and pause options recovers most failed payments without churning customers.

If you want a billing platform that ships dunning as a first-class feature, [Dodo Payments](https://dodopayments.com) handles the core workflow including automatic retries, grace periods, customer portal, and webhooks. See the [pricing page](https://dodopayments.com/pricing) and [subscription dunning documentation](https://docs.dodopayments.com/features/recovery/subscription-dunning).
---
- [More Retention articles](https://dodopayments.com/blogs/category/retention)
- [All articles](https://dodopayments.com/blogs)