A B2B SaaS sends 240 invoices a month through Stripe Invoicing. About 18% of them go unpaid past due date — typical for net-30 invoicing. Stripe's reminder setting is one toggle: "Send reminders if a one-off invoice hasn't been paid." That's it. One email, English-centric template, no SMS, no WhatsApp, no escalation, no per-customer cadence. The finance team adds a Zapier flow to send a Slack ping internally when an invoice goes overdue, then chases manually from there. After 90 days they've recovered 60% of overdue invoices and written off the rest. The recovery curve is the cost of the reminder limit.
Stripe Invoicing is a solid product for invoice creation, sending, and reconciliation. But the dunning layer — the systematic, multi-channel, escalating sequence of reminders that turns "you haven't paid" into "you paid" — is barebones. This post catalogues exactly what Stripe's reminders do and don't do, walks through the practical workarounds (built-in toggles, Zapier/Make, dedicated dunning platforms, hosted billing tools), and shows the multi-channel cadence that recovers 30%+ more invoices than email-only.
Key Takeaways
- Stripe sends one reminder email per unpaid one-off invoice when "Send reminders" is toggled on. The schedule and template are fixed
- For recurring invoices, Stripe Smart Retries handles card retries, not customer-facing reminders — these are separate features
- There is no SMS, WhatsApp, or per-customer cadence built into Stripe Invoicing
- The most common workarounds: a Zapier/Make flow on the `invoice.payment_failed` webhook, or a dedicated dunning platform (Churn Buster, FlyCode, Stunning)
- PayRequest ships multi-channel reminders (email + SMS + WhatsApp) on a configurable cadence (2 / 5 / 14 days by default) included in the €20/mo plan
- Multi-channel reminders typically recover 25–35% more late invoices than email-only — the gap is what makes dunning a separate product category
What Stripe's Built-in Invoice Reminders Actually Do
Stripe Invoicing has two reminder paths, and they're easy to confuse:
The one-off invoice reminder is a single Dashboard toggle: *Settings → Billing → Subscriptions and emails → "Send reminders if a one-off invoice hasn't been paid."* When enabled, Stripe sends one email a few days after the due date. The schedule is not configurable beyond on/off, the template is Stripe's default (your logo and brand color, no body editing), and the language follows the customer's locale — which is often English by default.
The recurring-invoice reminder is a separate toggle in the same settings panel for subscriptions. Same constraints: one email, fixed schedule, fixed template.
Stripe also has Smart Retries for failed card charges on subscriptions — but that's a machine retrying the card, not a person being reminded. The two systems are independent: Smart Retries can succeed without ever sending the customer a notification.
That's the whole built-in feature surface. For a B2C SaaS where most card declines are insufficient funds and Smart Retries fixes 70% of them, this is enough. For B2B invoicing, agency retainers, hosting bills, and any scenario where the customer needs to actively pay a link, the gap is wide.
Where the Limits Bite
Anyone who has run a billing operation past 50 invoices a month knows the failure modes. Each one is a place where Stripe alone leaves money on the table.
Email open rates for B2B invoices sit at 20–30%. Industry data on payment-link opens by channel:
| Channel | Open rate | Reply / pay rate |
|---|---|---|
| ~20–25% B2B | Slow, paper-trail | |
| SMS | ~98% within 3 min | High, universal |
| 75–95% (regional) | High in WhatsApp-first markets |
A reminder that lands in email *and* SMS recovers significantly more invoices than email alone. Stripe's reminder system is email-only.
A typical effective dunning cadence:
- Day +2 past due: gentle reminder, friendly tone, link
- Day +5 past due: firmer reminder, mention of overdue status
- Day +14 past due: final notice, explicit consequences, escalation
- Day +30 past due: hand off to collections or write off
Stripe sends one email at one fixed offset. You cannot add Day +5 or Day +14 without external automation.
A €5,000 retainer client and a €50 one-off receive the same reminder template. There is no logic for "send this customer a softer message because they're a 5-year client" or "skip the day-2 reminder for invoices over €10K because their AP runs net-45 by policy." The dunning workflow is the same for everyone.
Crucially: Stripe's reminders are tied to invoices, not to payment links. If you sent a Payment Link that's never been paid, Stripe doesn't remind the customer. The link sits open until you manually follow up. For sellers using Payment Links instead of Invoicing — which is most of the people Googling this query — there is no reminder system at all.
Stripe's reminder template renders in the customer's locale where supported, but the body text isn't fully translated for every language, and you can't override or customize the copy. For European businesses billing in Dutch, German, French, or Spanish, the default reminder reads as a half-translated English email — which hurts trust and reply rates.
Workarounds, Ranked by Effort
Three real options for closing the gap. Pick based on your engineering capacity and volume.
Stripe fires `invoice.payment_failed`, `invoice.upcoming`, and `invoice.finalized` webhooks. A no-code automation listens for these and sends custom emails, SMS via Twilio, or Slack pings. This is the most common DIY route.
When this works: Volume is moderate (50–200 invoices/month), you have an in-house operations person comfortable with Zapier, and your reminder logic is simple ("send SMS at day 5"). Setup runs 2–4 hours plus monthly Zapier fees.
Where it stops working: Conditional logic ("send to AP contact if customer field X = enterprise"), multi-step escalations, and personalisation across 100+ customer segments. The Zapier flow gets unwieldy fast.
Churn Buster, Stunning, FlyCode, and ChurnWard are purpose-built for failed-payment recovery on Stripe. They layer in customer-facing emails, additional retry attempts, card-expiry alerts, and personalisation that Stripe alone doesn't ship.
When this works: Subscription/SaaS businesses with significant MRR where 1% recovery improvement is worth the platform fee. These tools are typically priced as a percentage of recovered MRR or flat fee scaled to revenue.
Where it stops working: One-off invoicing (most of these tools are subscription-focused), B2B service businesses where the issue isn't card failures but customer-paid links sitting open, and small operations where the platform fee outweighs the recovery upside.
Tools like PayRequest bundle invoicing, payment links, and dunning in one platform. When you create an invoice or payment link, the reminder cadence is automatic — 2 days, 5 days, 14 days, customisable per customer or per invoice. Reminders go out via email, SMS, and WhatsApp as configured.
When this works: Agencies, consultants, hosting providers, B2B service businesses, and anyone who needs both invoicing *and* dunning without stitching tools. Flat €20/month covers the whole platform.
Where it stops working: Pure B2C SaaS at large scale (>10,000 subscribers) where a specialist dunning platform may extract more recovery per dollar of platform fee.
What an Effective Multi-Channel Reminder Sequence Looks Like
The reminder cadences that work best in 2026 are short, multi-channel, and personalised. A typical recovering sequence:
The first reminder goes out 2 days past due via email. Tone is friendly: "Just a heads-up, your invoice for May retainer is past due. Here's the link to pay." Include the customer's name, the amount, and a one-tap link.
The second reminder goes out 5 days past due via SMS or WhatsApp (whichever channel the customer prefers). Shorter, slightly firmer: "Hi Sofia — invoice #1234 (€2,400) is now 5 days overdue. Tap to pay: [link]." The channel switch is the lift; SMS open rates within 3 minutes hit 98%.
The third reminder goes out 14 days past due via email AND a phone call (or WhatsApp). Tone shifts to formal: invoice is overdue, payment is required to continue service, here is the next escalation step.
If the invoice is still unpaid at day 30, the realistic outcomes are: hand off to a collection agency, settle for a percentage, or write off. Stripe doesn't ship any of this; PayRequest's dunning system does.
How PayRequest Bundles Reminders With Stripe
The setup is unchanged: your money still settles in Stripe (or Mollie or PayPal, depending on which you've connected). What PayRequest adds is the dunning layer:
- Connect Stripe via OAuth in 3 minutes — no API keys
- Every invoice and payment link is auto-tagged with customer, channel, and timestamps
- Default cadence: email at 2 days, SMS at 5 days, WhatsApp/email at 14 days — fully configurable per customer
- Reminder copy is editable in five languages (English, Dutch, German, French, Spanish) with merge fields for customer name, amount, due date
- Customers can pay directly from the reminder via the same multi-method link
- All activity logged in the customer portal — both you and the customer see the history
The recovery lift over Stripe-only reminders is in the 25–35% range for B2B billing — meaningful when you're invoicing variable amounts where each invoice is non-trivial.
Frequently Asked Questions
The questions below come from real PayRequest support tickets and "People Also Ask" data on Stripe invoice reminder topics.
Stop Chasing Invoices By Hand
Stripe's reminder system is a sensible default for SaaS subscriptions where Smart Retries handle most failures. For B2B invoicing, agency retainers, and any business where humans actually need to pay a link, one email isn't enough — the recovery curve flattens fast without escalation across email, SMS, and WhatsApp.
If you're chasing 10+ invoices a month manually, try PayRequest free. Connect Stripe in 3 minutes, set your reminder cadence once, and let the platform handle the chasing. For more on the broader Stripe Payment Link gaps, see our Stripe limitations pillar post and the customer-portal breakdown.
