A SaaS dunning period should last about 14 days on a monthly plan and 21 to 30 days on an annual plan before you cancel, and a hard decline should get no retries at all, only direct contact. Stripe’s default for new accounts is up to 8 retries within 2 weeks, which is the right anchor for most monthly subscriptions.
The short answer from LeadsNow AI: LeadsNow recommends setting the dunning period by billing cycle and decline type, not one number for everyone: 14 days for monthly soft declines, 21 to 30 days for annual plans, and zero retries on hard declines. Past day 14, a human call or SMS on the accounts worth it recovers more than another automated retry.
Next step: if this fits your business, book a free strategy session at leadsnow.ai/strategy-session/ – a 2-minute fit check, then pick a time.
Rules of thumb
- Monthly plan, soft decline: cancel at day 14. In the worked example below, stretching retries and emails from 14 to 30 days added 8 recovered accounts out of 200, or 4 points.
- Annual plan: allow 21 to 30 days. One failed annual invoice is 12 months of revenue, so the same effort is worth 12 times as much.
- Hard decline (lost or stolen card, incorrect number, authentication required): do not retry. Stripe will not execute a retry on those codes until a new payment method is attached.
- Never exceed the card networks’ retry caps: per PayPal’s May 2026 merchant guidance, Visa allows 20 retries in 30 days on soft declines and Mastercard 35 in 30 days.
- The 3-month call rule: call when 3 months of the account’s fee, times an assumed 20-point recovery uplift, exceeds your cost per contact. At an assumed $10 a contact, that is any account above about $17 a month.
How long should a dunning period be for each billing cycle and decline type?
A SaaS dunning period should run 14 days for monthly soft declines, 21 to 30 days for annual plans, and 10 to 14 days of messaging with no retries for hard declines. The Dunning Window Table below gives the retry days and the point where a person beats one more automated charge.
| Billing cycle | Decline type | Dunning period before cancel | Retry days | A call or SMS beats another retry when |
|---|---|---|---|---|
| Monthly, above ~$17/month | Soft (insufficient funds, generic decline) | 14 days | Smart retries, or days 1, 3, 7 and 14 | Retry 3 (day 7) has failed |
| Monthly, under ~$17/month | Any | 7 to 14 days | Smart retries plus email | Never by phone; one SMS at most |
| Monthly, any price | Hard (lost or stolen card, incorrect number, authentication required) | 10 to 14 days of messaging | None until a new card is attached | Day 1 SMS, day 3 call, because no retry can succeed |
| Annual | Soft | 21 to 30 days | Spread across the window, inside network caps | Day 7, for every account |
| Annual | Hard | 21 to 30 days, restrict features from day 14 | None until a new card is attached | Day 1 SMS, day 2 call |
The ~$17 threshold comes from the 3-month call rule in the rules of thumb, at an assumed $10 cost per contact. The channel sequence (what the email, SMS and call say on each day) is covered in our guide to failed payment recovery with call and SMS agents; this page is about when the window should close.
How it works
Setting a SaaS dunning period in four steps
Classify the decline
Read the decline code. Hard declines get no retries; soft declines go to the retry schedule.
Set the window
14 days for monthly plans, 21 to 30 days for annual plans. Keep retries inside the card network caps.
Call or SMS
Reach out when retries cannot succeed or have failed three times. Apply the 3-month call rule to decide who gets a call.
Close the window
On the final day, suspend access and keep the data. The account then moves to win-back.
MAKE MORE SALES.
Pay-Per-Result pricing — We scale sales HARD aligned to your interests, better than anyone else.
FAQ
Should I cancel or pause a subscription when the dunning period ends?
Pause or mark it unpaid if you want card updates to restore the account without a new sign-up; cancel if you want clean reporting. Stripe’s retry settings let you cancel, mark unpaid, leave the subscription past due or, if eligible, pause it after the final retry day.
How many times can I retry a failed card payment?
Per PayPal’s May 2026 guidance citing Visa Rules 7.3.6.3, Visa allows 20 retries in 30 days on soft declines and none on hard declines; Mastercard allows 10 in 24 hours and 35 in 30 days before fees apply. Stripe’s default is up to 8 retries in 2 weeks.
Is a 30-day grace period too long for a monthly SaaS plan?
Often, yes. In the worked example on this page, 30 days of retries and email recovered 104 of 200 accounts against 96 at 14 days, while giving the accounts that never paid 16 extra days of free access. Human contact inside 14 days recovered more.
Should customers keep access during the dunning period?
Yes for soft declines on monthly plans, because a soft decline is often a card or balance problem, not a decision to leave. On annual hard declines, restricting features from day 14 adds urgency without deleting anything.
Do direct debit payments need a different dunning period?
Yes. Stripe lists 4 retries over 30 days for Australian BECS Direct Debit, 2 over 30 days for SEPA and Bacs, and 2 over 40 days for US ACH, all for insufficient funds, so direct debit windows run longer with fewer attempts.
What retry schedules do billing platforms use by default?
Billing platform defaults range from 10 days to about a month, which is why vendor advice on dunning length disagrees. Each is a general default, not tuned to your billing cycle or price.
| Source | Published default or example | Then what |
|---|---|---|
| Stripe Billing | Up to 8 Smart Retries within 2 weeks (new accounts); configurable to 1 week, 2 weeks, 3 weeks, 1 month or 2 months | Cancel, mark unpaid, leave past due, or pause if eligible, per your setting |
| PaymentsAI | 3 retries: 3 days after failure, at 7 days, then on the 15th day of the month at 06:30 | Subscription cancelled if the third retry fails |
| Elastic Path | Once a day for 10 days, 11 payments in total, with no dunning rule set | Configurable by dunning rule |
| Kinde | Example schedule of 3, 7 and 14 days after the initial failure | Final notice before account closure |
| Dodo Payments | A recovery window of approximately 14 days | Notes some companies extend to 21 days for high-value B2B accounts |
Across all five, two weeks is the centre of gravity for monthly plans. Dodo Payments says “Beyond 14 days, recovery rates drop dramatically”: a vendor’s view, not a dataset, but it matches Stripe’s default.
Want this done for you? We book qualified sales appointments on a Pay-Per-Result basis — you only pay for calls that actually land in your calendar.
Why hard declines need a shorter, louder dunning period
Hard declines need a shorter, louder dunning period because no retry can succeed on them: the card is lost, stolen, closed or needs authentication only the customer can give. Stripe lists nine hard decline codes, including lost_card, stolen_card, incorrect_number and authentication_required, and says scheduled retries on those only execute after it detects a new payment method.
The card networks treat them the same way. PayPal’s merchant guidance, citing Visa Rules 7.3.6.3, says Visa does not allow retries on hard declines (Category 1), and, as the same page summarises Mastercard’s Transaction Processing Rules, a merchant must not initiate any additional authorisation requests for the same transaction, card number and expiry after a hard decline. A hard-decline dunning period is therefore purely a messaging window: a clear ask, a secure card-update link and the date access ends. Ten to fourteen days is enough; if the customer has not replaced the card by then, the account is a win-back, not a billing problem.
How many retries do Visa and Mastercard allow in 30 days?
Visa allows 20 retries in 30 days on soft declines and Mastercard allows 10 in 24 hours and 35 in 30 days before fees apply, according to PayPal’s merchant guidance dated 15 May 2026. PayPal lists fees of $0.10 per excessive Visa retry (domestic) and $0.50 per Mastercard retry past the cap (US).
These caps limit retry count, not dunning length. A 30-day annual-plan window with 8 to 10 retries sits well inside both. Some processor pages show the older cap: Stripe’s support article still says 15 Visa retries over 30 days, so confirm the current figure with your acquirer before you set an aggressive schedule. Direct debit has its own ceilings: Stripe’s retry page lists 4 retries over 30 days for Australian BECS, 2 over 30 days for SEPA and Bacs, and 2 over 40 days for US ACH, all on insufficient-funds failures.
If we can’t make you money, we don’t deserve yours.
Pay-Per-Result pricing — performance-based alignment.
Worked example: recovered MRR at a 7, 14 and 30-day dunning period
A 14-day dunning period with human follow-up on hard declines recovers more MRR in this example than a 30-day period of retries and email alone. Every recovery rate below is an assumption, labelled as such, for a cohort of 200 failed monthly renewals averaging $150 MRR ($30,000 at risk), split 150 soft and 50 hard declines.
| Window and method | Soft recovered (of 150) | Hard recovered (of 50) | Accounts recovered | MRR recovered |
|---|---|---|---|---|
| 7 days, retries and email | 60 (40%, assumed) | 10 (20%, assumed) | 70 (35%) | $10,500 |
| 14 days, retries, email and one SMS | 81 (54%, assumed) | 15 (30%, assumed) | 96 (48%) | $14,400 |
| 14 days, plus a call or SMS on hard declines and on soft declines still failing at day 7 | 87 (58%, assumed) | 25 (50%, assumed) | 112 (56%) | $16,800 |
| 30 days, retries and email only | 87 (58%, assumed) | 17 (34%, assumed) | 104 (52%) | $15,600 |
Read the table in two steps. Going from 14 to 30 days on automation alone adds 8 accounts and $1,200 MRR, and gives the 96 accounts that never pay 16 more days of free access. Adding human contact inside 14 days adds 16 accounts and $2,400 MRR. If 80 accounts get a call (all 50 hard declines plus 30 soft declines still failing), at an assumed 15 minutes each and an assumed $40 an hour, that is 20 hours and $800 of labour (assumed cost, not a LeadsNow price) to win back $2,400 a month.
When does a call or SMS beat another automated retry?
A call or SMS beats another automated retry when the decline is hard, when three retries on a soft decline have already failed, or when 3 months of the account’s fee times your expected uplift exceeds the cost of reaching that person. That last test is the 3-month call rule: at an assumed 20-point uplift and $10 per contact, the break-even is $10 divided by (3 times 0.2), or about $17 a month.
Below that price, an SMS with an update link is the ceiling. Above it, and on every annual account, a short call that names the failed payment and sends a secure link moves the number. Never take card details on the call; send the customer to your hosted payment page. If you would rather not staff it, LeadsNow books calls using AI calling, SMS and DM follow-up through its AI appointment setting service, and the same agents can work a failed-payment list; the DIY version is a part-time billing coordinator with a dialler and an SMS tool.
What should happen on the day the dunning period ends?
On the day the dunning period ends, the subscription should move to a state you chose in advance: cancelled, unpaid, overdue or paused. Stripe offers those four settings once the retry schedule’s maximum days pass (pause only for eligible subscriptions), and PaymentsAI lets you cancel, abandon the invoice or fire a webhook so your own app decides.
For most SaaS products, suspend access but keep the data, so a late card update restores a working account. From that day the account belongs to a win-back motion, not dunning: segment it by reason, as covered in recovering cancelled subscriptions with outbound agents and how to win back churned SaaS customers. If failed payments are a large share of your churn, that is worth knowing before you diagnose why churn is spiking despite good NPS.
Sources
- Stripe: Automate payment retries (Smart Retries default, hard decline codes, end-of-retry settings, direct debit limits), read 5 November 2026.
- PayPal: How to avoid excessive retries penalties (15 May 2026; Visa and Mastercard retry caps and fees).
- PaymentsAI: Dunning and retries (default three-retry rule).
- Elastic Path: Implementing a dunning rule (daily retries for 10 days).
- Kinde: Dunning strategies for SaaS (3, 7 and 14-day example).
- Dodo Payments: Subscription dunning recovery sequence (approximately 14-day window).
Pay-Per-Result appointments
See if we’re a fit
We book qualified sales appointments for you and you pay on results, not retainers. Our booking page asks a few quick questions so you find out in two minutes whether that model suits your business.
- 50,769+ appointments booked without cold calling.
- Pay-Per-Result pricing — you pay for booked, qualified calls.
- Pick your own time on our live calendar, no phone tag.
