Customer success · Billing ops

Involuntary Churn: A Practical Guide to Failed Payment Recovery

Leadership keeps asking for more pipeline while closed-won revenue leaks out through failed payments nobody owns. Here is how to find the leak, set retries on purpose, put payment events in the CRM and give recovery an owner.

Joe LaGrutta, Founder of JayOh
Joe LaGrutta, Founder, JayOh14 min read · Updated November 2026

Short answer: involuntary churn is revenue you lose when a payment fails, not when a customer decides to leave. In SaaS it is roughly 16 to 33 percent of all churn depending on the data set, and a working recovery path (deliberate retries, CRM visibility, pre-dunning and an owner) gets 70 percent or more of failed payments back.

Meme: leadership says we just need more pipeline while a hand pours closed-won revenue past the bank account glass, spilling failed payments nobody retries onto the table
The original LinkedIn post image. Pouring harder at the top of the funnel does not fix the spill.
01 · Where this started

The original LinkedIn post

One traced failed card payment explains most of this page.

Read the post from Joe LaGrutta
Joe LaGrutta, Founder of JayOh
Joe LaGrutta, Founder, JayOhPosted on LinkedIn
You don't need more pipeline. You need the revenue you already closed to actually land. Here's what we find when we trace a failed card payment. The billing system retries a couple of times on its default schedule. Then it marks the invoice past due and stops. Nobody in the CRM sees it. The CSM finds out at renewal. The AE never finds out. Finance sees it a month later as a line in the aging report. That customer didn't decide to leave. Their card expired. What a working recovery path looks like: 🔸 Payment-failed events written to the account record in the CRM 🔸 A retry schedule set on purpose, not left on the default 🔸 A pre-dunning email before the card expires, not after the decline 🔸 A task to the account owner after the second failed retry 🔸 Failed-payment revenue reviewed weekly, next to new bookings None of this is new tooling. It's connecting two systems that already hold the data, and giving the problem an owner. Leadership keeps asking for more at the top of the funnel while closed-won leaks out the bottom. The cheapest revenue you'll ever recover is the revenue you already won. #RevOps #Churn #CustomerSuccess #Billing #GTM
02 · Why this breaks

Where the leak starts

Nobody decides to lose these customers. The billing tool, the CRM and three teams each hold one piece, and no one holds the whole thing.

Card declines
Billing tool retries on default
Invoice marked past due
CRM sees nothing
CSM finds out at renewal

The typical path we trace. The last two boxes are the gap.

CAUSE 1

Billing events never reach the CRM

The billing system knows the card declined. The account record does not. The CSM, the AE and the exec sponsor are all working the account blind while it quietly goes past due.

→ the root cause in most audits
CAUSE 2

The retry schedule is a default nobody chose

It retries a few times on the vendor's schedule, then marks the invoice past due and stops. Whether that ends in cancel, unpaid or pause was set once at onboarding and never revisited.

CAUSE 3

Three teams, zero owners

Finance sees it a month later as a line in the aging report. CS sees it at renewal. Sales never sees it. When everyone can see a slice, nobody owns the save.

CAUSE 4

Messages go out after the decline, to the wrong person

The failed-payment email fires after the card is already dead and goes to whoever entered the card two years ago. That person may have left.

CAUSE 5

Failed revenue is never reported next to bookings

New bookings get a weekly call. Failed-payment MRR gets nothing. What leadership never sees, leadership never funds.

03 · Benchmarks

What good looks like

If you recover less than half of failed payments, the default retries are doing all the work and nobody else is.

Third-party benchmarks vary because vendors define churn differently, so use ranges, not a single number. Recurly's 2026 benchmarks put the SaaS median at 3.22 percent monthly churn, of which 1.06 points are involuntary, and show involuntary churn falling from 1.30 percent for accounts paying 10 to 25 dollars a month to 0.18 percent above 250 dollars. That is why B2B contracts should sit at the low end.

MetricWeakAcceptableStrongSource
Failed payment recovery rateUnder 50%50 to 70%Over 70%Churnkey 2026: retries alone about 51%, retries plus payment wall plus dunning about 70%
Monthly involuntary churn rate (SaaS)Over 1.1%0.5 to 1.1%Under 0.5%Recurly 2026: SaaS median 1.06%; over 250 dollars a month, 0.18%
Involuntary share of total churnOver 35%20 to 35%Under 20%Churnkey and Stripe analysis 2026: SaaS 22%, B2B 16%; Recurly 2026 medians imply about 33%
Recoveries landing in the first 7 daysUnknownTrackedAbout 61%, and you act inside that windowChurnkey 2026, 5.4M failed payments
Retry windowVendor default, never reviewedStripe recommended default: 8 tries in 2 weeksChosen per segment, with an owner taskStripe Smart Retries docs 2026; segmenting from JayOh experience
Owner alerted after a failureAt renewalWithin 14 daysWithin 72 hours of the 2nd failed retryJayOh field experience
Sources: Recurly churn rate benchmarks (network data, July 2026); Churnkey involuntary churn guide (2026, 5.4M failed payments and a Stripe analysis of 25M+ subscriptions); Stripe Billing docs (2026). Rows marked JayOh are ranges from our engagements, not published studies. Vendor figures come from companies that sell recovery tools; treat them as directional.

Two more numbers shape the playbook. Churnkey reports that soft declines are 80 to 90 percent of all failures, which means most failed payments are retryable, not dead. And Recurly projected that failed payments would cost US subscription businesses more than 129 billion dollars in 2025. That figure is a vendor projection, but the direction is not in dispute.

04 · The playbook

The 9-step failed payment recovery playbook

None of this is new tooling. It connects two systems that already hold the data and gives the problem an owner.

1

Measure the leak before you fix it

What
Twelve months of failed invoices: amount, failure date, decline code, recovered or not, and date recovered.
Why
You need a baseline recovery rate and an involuntary churn rate, or every later fix is a guess.
How
In Stripe, export invoices with status open or uncollectible and subscriptions that moved to past_due, unpaid or canceled. Recovery rate = recovered failed payments divided by all failed payments. Involuntary churn rate = unrecovered failed MRR per month divided by total MRR. Chargebee and Recurly have equivalent dunning reports.
2

Set the retry schedule on purpose

What
A retry window and an end state you chose, per segment.
Why
Defaults are built for the average subscription business, not for a 60,000 dollar annual contract.
How
Stripe: Billing > Revenue recovery > Retries. The Smart Retries docs recommend 8 tries within 2 weeks as a default, with windows from 1 week to 2 months, or a custom schedule of up to three retries. Then pick what happens after the final retry: cancel, mark unpaid, leave past due or pause. For annual and enterprise contracts, never auto-cancel. Leave past due or pause and hand it to a human.
3

Write payment events to the CRM account record

What
Five properties on the company or account: Payment Status, Failed Amount, Failed Since, Attempt Count, Next Retry Date.
Why
This is the step that turns a finance problem into something CS and sales can act on.
How
Listen to Stripe's invoice.payment_failed (it carries attempt_count and next_payment_attempt), invoice.paid, customer.subscription.updated and customer.subscription.deleted, per the subscription webhooks docs. In HubSpot, the native Payments object has a Status property you can trigger workflows on (Professional or Enterprise), and HubSpot subscriptions flip to Unpaid when a cycle payment fails; for Stripe billing, use a data sync app or middleware to stamp the five properties. In Salesforce, the Stripe connector stores webhooks as Stripe Event records (stripeGC__Stripe_Event__c) and you filter a record-triggered flow on stripeGC__Event_Name__c. If you bill through Chargebee, our Chargebee to Salesforce and HubSpot integration guide covers the field mapping.
4

Pre-dun only the cards that need it

What
An update-your-card email 30 days and 7 days before expiry, sent only when the card updater did not refresh the card.
Why
Visa Account Updater and Mastercard ABU refresh many expiring cards automatically. Practitioners disagree on pre-dunning: some see it lift recovery, others see it prompt cancellations. Targeting it narrowly gets you the upside without poking customers whose card was already fixed.
How
Segment on card expiry month plus "no payment method update in the last 30 days". Send to the billing contact and copy the champion, not just the original card holder.
5

Split dunning by decline type

What
Different handling for soft and hard declines.
Why
Soft declines (insufficient funds, do not honor, generic decline) often clear on retry. Hard declines (expired, lost or stolen card, incorrect number) never will, and every retry wastes days.
How
Soft: let retries run and send one email per campaign, not one per retry. Hard: send a hosted update-card link immediately and create the owner task now, not after the window. Churnkey reports that also emailing the billing admin lifts recovery about 10 percent.
6

Create an owner task after the second failed retry

What
A task to the account owner or CSM, plus a Slack alert above an MRR threshold.
Why
About 61 percent of recoveries happen in the first week. A human who knows the customer is the best payment-recovery tool you have, and they need to know inside that window.
How
HubSpot workflow on companies: Attempt Count is greater than or equal to 2 AND Payment Status is Failed, then create a task for the company owner due in 1 business day and post to the account channel if MRR is above your threshold. Salesforce: record-triggered flow on the Stripe Event object for invoice.payment_failed, look up the account, create a Task for the owner and post to Slack. Unenroll when invoice.paid arrives.
7

Write grace-period and access rules by segment

What
How many days of service continue after a failure, by plan, and who can extend it.
Why
A silent shutoff on a strategic account creates a churn conversation out of a card expiry.
How
Sync an access flag from billing to the product and the CRM. Self-serve plans follow the retry window; contracted accounts get a longer grace period and an exec email before any access change.
8

Review failed revenue weekly, next to bookings

What
Four numbers on the weekly revenue call: failed MRR opened, recovered, still at risk and lost.
Why
The cheapest revenue you will ever recover is revenue you already won. Give it the same airtime as a deal at risk.
How
A CRM report on the five payment properties, grouped by owner, with a 30 to 45 day rolling recovery rate. Add it to the board pack next to gross and net retention; our board-ready revenue pack shows the MRR waterfall it plugs into.
9

Tag the churn reason so retention math tells the truth

What
A churn reason value of "Involuntary: payment" on every account lost to an unrecovered failure.
Why
Counting involuntary as voluntary churn sends CS after a product problem that is really a billing problem.
How
Required picklist on the closed-lost renewal or the churn record, stamped automatically when the subscription moves to canceled after a failed-payment window. Report GRR with and without it.
05 · Field notes

Best practices and common mistakes

Most of the recovery comes from boring decisions made once and enforced by the system.

Best practices

  • Segment retries by plan size. Self-serve and contracted accounts should not share a schedule.
  • Move large accounts to invoice and ACH. Card billing on a six-figure contract is a churn risk you chose.
  • Collect a backup payment method at signup. It turns a hard decline into a non-event.
  • Keep the billing contact separate from the champion. Two fields, two people, both emailed on failure.
  • One owner model. RevOps builds the system, CS works the save, finance reports the number.
  • Exclude enterprise from automated cancellation. A human decides when a contracted account loses access.
  • Measure on rolling 30 to 45 day windows. Recoveries trail failures by weeks, so monthly snapshots lie.
  • Give AEs visibility on their book. A failed payment on an expansion target is a conversation, not a ticket.
  • Test the webhook monthly. Send a test failure through and confirm the CRM fields and task fire.
  • Write the runbook down. If one admin is the only person who knows the dunning logic, you have a single point of failure.

Common mistakes

  • Auto-cancelling at the end of retries.Costs: a customer who never chose to leave, plus a win-back cycle.
  • Dunning only the original card holder.Costs: emails to someone who left; the real buyer never hears about it.
  • No CRM visibility.Costs: the CSM learns at renewal, after months of MRR are gone.
  • One email per retry.Costs: spam complaints, unsubscribes and lower recovery.
  • Counting involuntary churn as voluntary.Costs: CS programs aimed at a billing problem, and a GRR story that is wrong.
  • Hard-cancelling at day 7 to 10.Costs: the roughly 4 in 10 recoveries that land after week one.
  • Editing live billing workflows without a test.Costs: a silent break that finance finds before RevOps does. See our notes on CRM change management.
06 · Interactive calculator

Failed-payment leak calculator

Put in your numbers to see how much closed-won revenue walks out each month, and what a 70 percent recovery path is worth.

How much are failed payments costing you?

Defaults show a 400K MRR B2B SaaS company. Change any value; results update as you type.

Share of auto-billed MRR that fails the first charge. Check your billing tool; 3 to 8% is a common range.
70% is what a full recovery path reaches (Churnkey 2026).
Failed MRR per month$0
Lost per month today$0
Involuntary churn rate0%-
Lost per month at target$0
ARR saved by a year of recoveries at target$0Monthly MRR saved x 12 months of saves x 12 to annualize
-

Benchmarks used for the grade: Recurly 2026 SaaS median involuntary churn of 1.06% per month (weak above 1.1%, strong below 0.5%). The calculator ignores win-back and expansion, so it understates the real prize.

07 · Take it with you

Failed payment recovery runbook + Claude skill

Copy the runbook into your wiki, fill in the blanks and assign every line an owner.

Free Claude skill

failed-payment-recovery-audit

  • Grades your recovery rate, involuntary churn rate and alert timing against the benchmarks on this page.
  • Scores the five-part recovery path (retries, CRM events, pre-dunning, owner task, weekly review) with evidence from your inputs.
  • Returns the revenue prize and a top-5 fix plan with the exact Stripe, HubSpot or Salesforce setting and an owner.

How to install

  1. Claude web or desktop: Settings > Capabilities, make sure code execution and file creation is on, then under Skills click Upload skill, choose the .zip and toggle it on.
  2. Claude Code: save the file as ~/.claude/skills/failed-payment-recovery-audit/SKILL.md, or in .claude/skills/ inside your repo.
  3. Then ask Claude: "Audit our failed payment recovery" and paste your retry settings and a past-due export.

Skills are available on Claude Pro, Max, Team and Enterprise plans. New to skills? Read how to use skills in Claude.

Preview SKILL.md
08 · FAQ

Involuntary churn FAQ

Direct answers to what operators ask most.

What is involuntary churn?

Involuntary churn is revenue lost when a customer's payment fails and is never recovered, such as an expired card, insufficient funds or a bank decline, rather than because the customer chose to cancel. It shows up as churn even though nobody decided to leave.

What percentage of SaaS churn is involuntary?

It depends on the data set. A 2026 Churnkey and Stripe analysis puts it at 22 percent of SaaS churn and 16 percent for B2B, while Recurly's 2026 SaaS medians (1.06 points of 3.22 percent monthly churn) imply about a third. Plan on roughly one in five to one in three churned customers being payment failures.

What is a good failed payment recovery rate?

Under 50 percent is weak and usually means default retries are doing all the work. 50 to 70 percent is acceptable. Over 70 percent is strong and typically requires deliberate retries, decline-specific dunning, CRM visibility and a human owner, based on Churnkey's 2026 data.

How many times should you retry a failed payment?

Stripe recommends 8 tries within 2 weeks as a default for Smart Retries, with windows from 1 week to 2 months. Retry soft declines on that kind of schedule, stop retrying hard declines like expired or stolen cards and send an update-card link instead, and never auto-cancel an annual or enterprise contract when retries end.

Should you send pre-dunning emails before a card expires?

Yes, but narrowly. Card updater services refresh many expiring cards automatically, and some practitioners see blanket pre-dunning prompt cancellations. Send update-your-card emails 30 and 7 days before expiry only to cards the updater did not refresh, and include the billing contact and the champion.

How do you get Stripe failed payments into HubSpot or Salesforce?

Listen to Stripe webhooks such as invoice.payment_failed, invoice.paid and customer.subscription.updated, and write payment status, failed amount, failed since, attempt count and next retry date to the company or account record. Use a data sync app or middleware for HubSpot, or the Stripe connector for Salesforce with a record-triggered flow on the Stripe Event object.

Who should own failed payment recovery?

Split it by job: RevOps builds and maintains the billing-to-CRM system, the account owner or CSM works the save, and finance reports the number. What fails is when all three can see a slice and nobody is named as the owner.

The JayOh take

Stop pouring harder. Fix the spill.

We see the same pattern in almost every retention audit: leadership asks for more at the top of the funnel while closed-won revenue drips out the bottom through failed payments nobody owns. The fix is rarely a new tool. It is two systems connected, a retry schedule chosen on purpose, five fields on the account record and one named owner. If your CS team is also wrestling with handoffs, our guide to the Closed Won to CS handoff and our RevOps for CS leaders page are the next reads.

Want a second set of eyes on your billing-to-CRM path? We will map where failed payments go today and what it would take to recover them.

Talk to JayOh about your recovery path