Failed Payment Recovery — what actually works at $5K-$500K ARR.
Failed payment recovery is the highest-leverage revenue surface for solo SaaS founders. 5–10% of MRR fails every month. Stripe Smart Retries handle the retry attempts; the email layer is what actually recovers the customer. The realistic recovery rate is the one your own decline-code mix yields, not the flat number some vendors promise. This piece breaks the surface down by decline-code bucket, retry cadence, and email tactic.
Failed Payment Recovery · the wedge expanded
This is a cluster page on Revenue — the deeper read for the failed-payment-recovery wedge specifically. If you haven't read the Revenue pillar yet, start there.
Decline codes are the input. Stripe returns one of roughly 30 codes when a payment fails; for the email layer, four buckets matter. Hard decline (card closed, fraud, lost or stolen) is non-recoverable through retries — the customer has to update their card or the relationship ends. Soft decline (insufficient funds, do_not_honor, processor temporarily down) is highly recoverable via retry plus a friendly email a few hours later. Expired card is the most-recoverable bucket: a clear walkthrough of how to update without canceling the subscription works in 70%+ of cases. Generic decline (unknown reason) gets the lowest-pressure email — "something happened with your card, here's a payment-update link" — because guessing wrong can damage the relationship.
Retry cadence matters less than founders think. Stripe Smart Retries is the optimal layer here — it reads decline codes and retries on optimal cadences (immediate, 24-hour, 72-hour, 7-day) based on what's worked across the Stripe network. Rolling your own retry logic almost never beats Stripe's, and it costs you the time you should be spending on the email layer instead.
The email layer is the leverage point. We send one email after Stripe's second failed retry (24-48 hours after the initial failure) and a follow-up after the fourth (around 7 days). More than two emails per failure damages the relationship; zero leaves recovery on the table. The first email establishes the failure context ("hey, your card got declined — here's why and how to fix it"); the second is a final nudge before the subscription pauses.
Auto-send vs manual review depends on customer size. For recoveries under $500 with established customers (3+ months tenure, no recent escalations), auto-send is reasonable and saves the founder time. Above $500, or for customers with active support tickets, manual review is the safer default — a single misfire can damage a high-value relationship more than ten manually-sent emails save in time.
The audit trail is what compounds. Six weeks in, the audit log tells you which decline codes recover at what rate, which email tactics work better than others, and which customer segments need different copy. Without an audit trail, you're optimizing by feel; with one, you're optimizing by data. Lou logs every recovery — the email drafted, the founder edits, the send timestamp, the recovery outcome — so the data is there from day one.
Realistic expectations: your own, measured. Recovery rate depends on your customer mix and the quality of the email, and the decline-code buckets behave nothing alike — expired cards recover best because nothing is wrong except a date, hard declines worst because the recoveries there are mostly customers who update later on their own. Don't believe a vendor quoting a flat rate without a breakdown by decline code; that number is their book of business, not a forecast of yours.
Common questions.
How many recovery emails should I send per failure?
Two. First email at 24-48 hours after the initial failure (after Stripe's second retry), second at ~7 days. Three crosses from helpful to nagging; one leaves recovery on the table.
What's a safe auto-send threshold?
For PorchOps the question is early: auto-send is not wired yet and every recovery holds for approval. As a general rule, under $500 with 3+ months of tenure and no active escalations is a reasonable starting point, and above $500 or for new customers manual review is safer — a single misfire on a high-value account costs more than the time saved by auto-sending.
Should I use dunning vendors alongside PorchOps?
Yes if you've already invested in one. Stripe Smart Retries handle retries; Lou handles the email layer; Churnkey or Stunning can handle in-product cancel flows. They're complementary. The point is to have all three working — most founders have one or two and miss the third.
PorchOps puts a crew of AI coworkers on your back office: recovering failed payments, sorting support, keeping the books. Everything they write waits for your approval.


