The five dunning emails a subscription business should send after a card fails, on day 0, 3, 7, 14 and 21, with the exact copy for each, three variants depending on what the bank actually said, and the rules that stop a recovery sequence turning into harassment.
Short answer
What should a dunning email sequence look like?
Five emails over three weeks: day 0, 3, 7, 14 and 21. Each one says the payment failed, what that means, how to fix it in one click, and how to reach a person. The reason the bank gave is named only when it is actually known, no email invents a cancellation date, and the sequence stops the moment the invoice is paid. The full copy for all five is below.
Most dunning email examples on the internet are one email. That is the problem they are supposed to solve. A failed charge produces one message, the finance contact who has not noticed their card expired does not read it, and the subscription lapses. Nobody refused to pay. They just did not get round to it, and the product had nothing else to say.
The templates below are the five emails Exeechain sends after a failed payment, reproduced as sent. They are not marketing copy. They were written, rewritten once after the first version guessed wrong about why cards fail, and are bounded by rules that matter more than the wording. The rules come first.
The money is recoverable for weeks. Recovery rates fall off sharply after the first fortnight, so the cadence is front-loaded (three touches in the first week) and then spaced out. Five is the ceiling. A sixth message to someone who has ignored five is not persistence, it is harassment.
The first version of these templates had one line in the day-3 email that said “nine times out of ten this is an expired card.” It was wrong for roughly 60% of declines, and it told those customers to go and fix a card that had nothing wrong with it. The next thing a customer does after following a wrong instruction is stop believing the emails.
So the copy has three variants, decided by what the bank actually said:
The unknown variant is the default. A system that has no decline code must not be able to send the confident version by accident.
When a subscription actually lapses is decided by the billing platform's own retry and dunning settings. If the email tool does not read those settings, it does not know the date. “Your account closes on the 14th” sounds decisive and is a guess presented as a fact. When the guess is wrong, the customer learns the sequence lies. The day-14 template says access will stop; it never says when.
The most common outcome of a dunning sequence is that the customer pays after the first or second email. That is a win, and the next touch must never go out. The product re-checks the invoice with the billing platform immediately before every send and refuses if it has been settled. The sequence also stops when a human cancels a touch, when the customer opts out of contact, or when the account churns.
What does not stop it: a rolling email frequency cap. If the account already had three emails this week from a CSM, the reminder is delayed, not abandoned. Letting an unrelated email silently kill a revenue recovery is how sequences quietly fail.
Placeholders are in braces. “How to pay” is the one-click pay link when there is one, and otherwise the instruction that matches the variant above. The amount at risk is stated when it is known, as “$4,200/mo”, and omitted when it is not.
Hi {first name},
Your most recent payment didn't go through, so your subscription is at risk of cancelling. {reason line, only if known} {amount at risk}
You can fix it in one click, no login needed:
{pay link}
If anything looks off, just reply to this email and we'll sort it out.
Sent the day the charge fails. The subject changes to “Your card needs updating” only when the bank said the card cannot be charged again. The reason line is left out entirely when the reason is unknown.
Hi {first name},
A quick follow-up: we still haven't been able to collect your latest payment. {reason line, only if known}
{how to pay}
If the timing is awkward, reply and tell us - we would much rather sort it out than lose you over a card.
Three days later. The last line is the one that gets replies: it gives a customer with a cash-flow problem a way to say so instead of going quiet.
Hi {first name},
Your payment is still outstanding, and while it is, your subscription is at risk of cancelling. {amount at risk}
{how to pay}
If there is a billing contact we should be writing to instead, send us their address and we will take it from here.
A week in, the most common reason nothing has happened is that the email is going to the wrong person. This touch asks for the right one.
Hi {first name},
We have not been able to collect payment for two weeks. Unless it is settled, the subscription will cancel and access will stop.
{how to pay}
If you need more time, or you want to change plan rather than cancel, reply to this email and a person will pick it up.
The first touch that says access will stop. Note what it does not say: a date. The lapse date belongs to the billing platform's settings, and inventing one is worse than omitting it.
Hi {first name},
This is the last reminder we will send automatically. Your payment is still outstanding and the subscription will cancel if it stays that way.
{how to pay}
After this we will stop emailing you about it. If you would rather talk to someone, just reply.
Says it is the last one, and is. A customer who has ignored five messages over three weeks has made a decision; the sixth would only be noise.
These are the sentences that get inserted where the templates say “reason line, only if known.” There are two, because the third case has none.
And the “how to pay” line when there is no pay link:
The unknown fallback used to read “please update your card.” That instruction diagnoses the card, in precisely the branch where nothing has been diagnosed. It covers both “no reason recorded” and “the bank refused but the card looks fine.” Offer both routes and assert neither.
Stripe Billing can send its own failed-payment and card-expiry emails and will retry the charge on a Smart Retries schedule. That is worth turning on. It is not a substitute for a sequence, for three reasons: Stripe's emails are generic and in Stripe's voice, they stop when the retry schedule stops, and they do not ask for a different billing contact or offer a plan change instead of a cancellation. The usual arrangement is Stripe handling retries and card-expiry notices, and your own five-touch sequence, with a one-click pay link, doing the talking.
Whatever sends the sequence must read the invoice status back from Stripe before each touch. A reminder that goes out after the customer has paid is the fastest way to turn a recovered customer into an annoyed one.
Every template above says “reply to this email” at least once, and means it. Dunning is the one automated sequence where a reply almost always signals a customer who wants to stay and has a reason they could not: a card in someone else's name, a budget freeze, a contact who left. The sequence should pause the moment they reply and hand the thread to a person. The emails are written so that replying feels easier than ignoring.
A dunning email is the message a subscription business sends a customer after a recurring payment fails, asking them to update their card or retry the charge so the subscription stays active. The word comes from the old accounting term for chasing overdue invoices. In SaaS, dunning emails are the main tool for recovering involuntary churn, the revenue lost when a customer never decided to leave but their card stopped working.
Five dunning emails over three weeks is the practical ceiling: on the day of the failure, then three, seven, fourteen and twenty-one days later. Recovery rates fall off sharply after the first fortnight, so the sequence is front-loaded. A sixth message to someone who has ignored five is not persistence, it is harassment, and it costs more in goodwill than it recovers.
A dunning email should say four things: the payment did not go through, what that means for the subscription, exactly how to fix it in one step, and how to reach a human. It should name the reason the bank gave only when that reason is actually known. Telling a customer their card expired when it did not sends them to fix something that is not broken, and they stop believing the emails.
Dunning emails should not state a cancellation date unless the system sending them controls when the subscription lapses. In most stacks, the lapse date is decided by the billing platform's own retry and dunning settings, which the email tool does not read. Inventing a date is a provenance error: it presents something the sender generated as something the sender knows, and when the date turns out to be wrong the customer learns to ignore the sequence.
Stripe can send its own failed-payment and card-expiry emails from the Billing settings, and Smart Retries will re-attempt the charge on a schedule. Stripe's emails are generic and stop at the retry schedule, so most subscription businesses layer their own dunning sequence on top: their own voice, a one-click pay link, a follow-up cadence, and a stop rule that checks the invoice before every send so a customer who has already paid never gets another reminder.
A dunning sequence should stop the moment the invoice is paid, when a human cancels a touch, when the customer opts out of contact, or when the account churns. It should not stop because of an unrelated email frequency cap: a reminder delayed by a weekly sending limit is a delay, not a decision, and the next touch should still be scheduled.
The templates are the ones Exeechain sends, reproduced from the product rather than written for the post. Each touch goes out under a veto window, so it is visible in the review queue with a countdown and a Stop button before it sends, and stopping one ends the sequence. The recovery numbers this produces are not quoted here because they depend on the book; the involuntary churn backtest measures your own before anything is sent.
Keep reading
Customer success
10 min read · Sep 17, 2026
Retention metrics
9 min read · Sep 17, 2026
Retention metrics
9 min read · Sep 17, 2026
First scores in 15 minutes. Full accuracy in 24 hours. From $299/mo. Failed-payment recovery with a veto window before every send.
Not ready to switch? Size your leak from your MRR and churn rate, with no billing access at all.