Skip to content
RevenueLeak

Expired cards recurring billing and how to stop the loss

Every card on file has an expiry date, and every expiry date is a renewal that will fail unless something happens first. That makes expired cards the most predictable source of involuntary churn in recurring billing. This guide explains what happens when a card expires, what network updater services cover and what they miss, how to build a pre-expiry sequence, and how to measure the revenue at risk each month.

Open wallet with payment cards on a table

Why card expiry is a revenue problem and not a support problem

A subscription renews on a schedule. A card stops working on a schedule too. When the two meet, the renewal is declined, and in many billing setups the subscription moves to past due, then to cancelled, without the customer ever deciding to leave. The customer often does not notice until access stops, and by then some of them have already moved on.

Because the expiry month is stored with the card, this churn is visible months before it happens. Unlike a sudden decline for insufficient funds, there is nothing to guess. You can list today every subscription whose card lapses before its next renewal and act on that list.

  • The loss is predictable, so it can be prevented rather than recovered.
  • The affected customers usually want to keep paying, so the request is easy.
  • The fix costs one short email and a card update page, not a discount.

What happens when a renewal hits an expired card

When the billing system charges a card past its expiry date, the issuer declines it, usually with an expired card decline code. Retrying that card is pointless, because the card will not become valid again. Some billing setups retry anyway, several times, which delays the real fix and adds declines to the merchant's record with the card network.

The right sequence after an expired card decline is short. Stop retrying the old card. Send the customer a request for a new card at once, with a link that opens a payment update page directly. Keep access for a grace period that matches your dunning window. Retry only after a new card is on file.

StepTimingAction
Decline with expired card codeRenewal dayStop retries on the old card
First requestSame dayEmail with a card update link
ReminderThree to five days laterEmail plus an in-app notice
Final noticeBefore the grace period endsClear date when access changes
New card addedAny timeCharge the open invoice at once

Our failed payment recovery page explains how decline codes drive this choice for every type of failure, not only expiry.

What account updater services do, and what they miss

Card networks run updater services that pass new card details to merchants when an issuer reissues a card. When the bank sends a customer a new card with a new expiry date, or a new number after a replacement, the updated details can reach your billing system before the next charge. Many payment processors use these services automatically for cards stored for recurring billing.

That helps, but it is not complete. Coverage depends on the issuer taking part, on the card type and on the region. Some issuers do not send updates at all. Some cards are closed rather than reissued, so there is nothing to update. Some customers change banks entirely. Debit cards and prepaid cards are often outside the program.

  • Updated card details arrive only if the issuer reports them.
  • A closed account produces no update, only a future decline.
  • A customer who switched banks has a new card the network does not link to the old one.
  • Updates can arrive late, after the renewal already failed.

The practical rule is to treat updater services as a first layer and never as the whole fix. After updates are applied, any card still showing an expiry date before the next renewal is a card that needs a request from you.

How to list the cards that will expire before renewal

The list is a simple join between cards and subscriptions. For each active subscription, take the default payment method, read its expiry month and year, and compare the last day of that month with the next renewal date. If the card expires first, the subscription is at risk.

Group the results into three windows, cards that expire within 30 days, within 60 days and within 90 days. The 30 day window needs a request now. The 60 and 90 day windows tell you how much is coming, so you can plan the sequence and see whether updater services cleared part of it before you write to anyone.

Yearly plans need extra care. A yearly subscription renews once, so a card that expires in month four will not cause a problem until month twelve, but by then the customer may have forgotten which card they used. For yearly plans, compare the expiry date with the renewal date directly and send the request about 30 days before renewal, not before expiry.

  • Read the default payment method, not every card ever saved.
  • Compare the end of the expiry month with the next renewal date.
  • Value each subscription at its monthly recurring revenue.
  • Sort by value, so the largest accounts get the first request.

A pre-expiry sequence that customers act on

A pre-expiry email works because nothing has failed yet. The tone is helpful, not urgent, and the customer has time. Keep the message to a few lines: the product name, the last four digits of the card, the month it expires, and one button to add a new card.

  • First email about 30 days before the card lapses or before a yearly renewal.
  • Reminder about seven days before, only if no new card was added.
  • In-app notice for users who log in often, shown until the card is updated.
  • After expiry, the regular dunning sequence takes over if the renewal fails.

The card update link is the part most teams get wrong. If the button leads to a login screen, then a settings menu, then a billing tab, many customers stop halfway. A signed link that opens a payment update page for that one subscription, valid for a limited time, removes those steps. The customer adds a card and the page confirms which subscription it now pays for.

Do not attach a discount to a card update request. The customer is not leaving, so a discount only teaches them that letting a card expire earns money off. Our card updater page shows how RevenueLeak detects expiring cards and sends these emails after you switch the rule on.

Measuring the revenue at risk each month

For example, take a subscription business with 2,000 active subscriptions at an average of 80 USD of monthly recurring revenue each. Cards typically last a few years, so in any given month a small share of cards on file reach their expiry date. The round numbers below are illustrative only.

InputAmount
Active subscriptions2,000
Average monthly recurring revenue80 USD
Cards expiring before next renewal this month50
Of those, updated by the network20
Still at risk after updates30
Monthly recurring revenue at risk2,400 USD

If nothing is done, those 30 renewals fail. Some customers will notice and add a card during dunning, others will not. Every subscription lost this way removes its revenue from every future month, so a monthly gap of 2,400 USD at risk adds up quickly over a year. A pre-expiry sequence moves most of these updates to before the renewal date, where they cost nothing to collect.

Track three numbers every month. The value at risk after network updates. The share of at-risk subscriptions where the customer added a new card before renewal. The value lost to cards that expired and were never replaced. The last number is pure involuntary churn and belongs in the split described in our guide to churn reduction strategies.

Mistakes that turn expiry into churn

  • Retrying an expired card several times. It will not succeed, and each decline wastes part of the dunning window.
  • Sending the first request only after the renewal fails. By then the customer has a failed payment notice instead of a friendly reminder.
  • Hiding the card form behind a login. A signed link to a payment update page is shorter and safer.
  • Cancelling at once after a decline. A grace period with access gives the customer time to act.
  • Ignoring yearly plans. One missed yearly renewal is twelve months of revenue.
  • Counting a subscription as healthy because updater services exist. Check the expiry date after updates, not before.
  • Writing in the tone of a collections notice. The customer is not in debt, their card simply reached its date.

Notes for common billing systems

Each billing system stores expiry dates and handles updater data in its own way. On Stripe, Paddle, Chargebee and Recurly the expiry month and year are stored on the payment method and can be read through the official API with read-only access. On Shopify subscription apps and WooCommerce Subscriptions, the payment details live with the payment gateway the store uses, so expiry data depends on what the gateway exposes. In all cases the logic is the same: read the expiry date, compare it with the next renewal, and send a request before the two meet.

If you use the built-in retry and email features of your billing system, keep them on. A pre-expiry sequence works alongside them, because it acts before the renewal, while built-in dunning acts after it. A dunning software layer can then handle the cases where the renewal still fails.

See which cards will cost you revenue next month

RevenueLeak connects read-only to your billing system and lists every subscription whose card expires in the next 30, 60 and 90 days, valued in dollars per month and ranked by size. Pre-expiry emails and the payment update page run only after you switch the rule on, and card updater emails count inside your plan's monthly email limit.