Dunning & Account Recovery

Intelligently retry failed charges, downgrade accounts, and handle disputes automatically, minimizing churn

Stripe integration that manages the lifecycle of failed charges—retry, downgrade to free/lower tier, or cancel—based on customer value and failure pattern.

When a Stripe subscription payment fails, Nora catches the event and starts a recovery sequence. It reads the customer's lifetime value (LTV) and failure reason. It retries the payment three times over ten days using a backoff schedule. If the charge still fails, Nora checks the LTV. For high-value accounts, it sends an email offering a downgrade to a lower tier instead of canceling. For low-value accounts, it cancels the subscription after the third failure.

The finance manager no longer tracks declined cards or manually adjusts subscription states in Stripe. They review a weekly log of recovered revenue, downgraded accounts, and churned users in their chat channel. They step in only for special cases, such as when a high-value customer disputes a charge or requests a custom payment plan.

Runs real-time as payments fail, on retry schedule using Stripe, run by your Finance Manager.

How it works

  1. Detect failed payment — Nora monitors Stripe for failed payment events. It extracts the customer ID, subscription details, and failure reason. It then calculates the customer lifetime value to determine the appropriate recovery path.
  2. Execute retry schedule — Over the next ten days, Nora triggers three payment retries at three, five, and seven-day intervals. It logs each attempt and outcome on the customer record in Stripe.
  3. Evaluate customer value — If the final retry fails, Nora checks the LTV threshold. Low-value accounts are marked for cancellation. Medium-value accounts are paused to allow the customer time to update their billing details.
  4. Propose account downgrade — For high-value customers, Nora drafts and sends an email explaining the payment failure. It includes a link to a Stripe Checkout Session for a lower-priced subscription tier to keep the account active.
  5. Apply subscription changes — If the customer accepts the downgrade, Nora updates the subscription in Stripe to the new price. If they ignore it, Nora cancels the subscription after a set grace period.
  6. Handle explicit cancellations — If a customer explicitly replies to cancel or disputes the charge, Nora immediately halts the dunning process. It cancels the subscription and alerts the finance manager in their chat channel.

What this replaces

A finance or support team member exports a list of failed Stripe payments daily. They open each customer record, check billing history, and manually trigger a retry. If it fails again, they email the customer. After a week of no response, they log back into Stripe, locate the subscription, and manually click cancel or change the pricing plan.

Rough estimate rather than a measured figure: about 45 minutes a day, on the basis of 15 failed payments requiring 3 minutes each to review, retry, or email.

What it needs to run

Accounts and plans

Access it asks for

What Nora reads

What Nora writes

When it goes wrong

Who this is for

Worth it if

Not worth it if

A worked example

A B2B software company processes 2,000 monthly subscriptions. They tell Nora to retry payments three times, pause accounts under $1,000 LTV, and offer a $49/mo downgrade to accounts over $1,000 LTV that fail the final retry.

Payment for invoice in_1N4b failed (insufficient_funds). Customer cus_8XyZ has an LTV of $4,200.
Action: Initiated 10-day retry schedule.
- Retry 1 (Day 3): Failed.
- Retry 2 (Day 5): Failed.
- Retry 3 (Day 7): Failed.
Action: Sent downgrade proposal email to billing@acmecorp.com offering the $49/mo Basic Tier.
Result: Customer accepted via Checkout Session cs_live_a1b2. Subscription sub_9A2b updated to new price. Recovered account.

Frequently asked questions

How do I change the LTV thresholds or retry schedule?

You tell Nora in your chat channel what you want changed. If you want to increase the high-value threshold from $500 to $1,000, or change the retry intervals from three days to two, you type that request in plain English. Nora updates its operating instructions immediately.

What happens if a customer disputes a charge while in the dunning process?

Nora reads the dispute event from Stripe. It immediately halts any further payment retries or downgrade emails for that customer, pauses the subscription, and notifies you in your channel so you can submit evidence or accept the dispute manually.

Will Nora email customers who have already told us they want to cancel?

No. If a customer has an explicit cancellation request logged, or their subscription is already marked to cancel at the end of the billing period, Nora skips the dunning process entirely and lets the subscription lapse.

Does Nora process the actual credit card data?

No. Nora only interacts with the Stripe API using customer and payment intent IDs. It triggers Stripe to retry the stored payment method. Nora never sees, reads, or stores the raw credit card numbers.

Connects to

Related automations

Start a 2-week free trial · Browse all automations