Your subscriptions are not all going to renew. Milo tells you which ones.
Every subscription store has a number it cannot see: how many active subscribers will fail to renew when their next payment falls due. Not because of churn, or expired cards, or a decision the customer made. Because of something mundane that went wrong months earlier and left no trace. A card that was never fully […]
By Rémi Corson · August 7, 2026 · 3 min read
Every subscription store has a number it cannot see: how many active subscribers will fail to renew when their next payment falls due.
Not because of churn, or expired cards, or a decision the customer made. Because of something mundane that went wrong months earlier and left no trace. A card that was never fully saved. A migration that brought the subscription across but not the payment token. A checkout completed with a payment method that cannot be charged again.
These subscriptions look perfect until the day they are meant to bill. The status says active. The next payment date sits neatly in the future. And nothing anywhere says the charge cannot succeed.
Milo Subscriptions ships a Health Check that finds them, in the free core, with no add-on required.
What it looks for
The Health Check runs nightly and scans every live subscription for the states that predict a failure rather than report one:
No renewal source on file. The subscription is set to renew automatically and has nothing stored to charge. This is the one that costs the most, because it passes every other check you might run. A free plan or a manual-invoice subscription legitimately has nothing stored, so those are left alone.
An expired or unusable payment method. The card is there and no longer works. Milo validates stored methods against the gateway in a separate throttled pass, so this is a real answer from your processor rather than a guess from an expiry date.
A missed renewal. The next payment date has passed and no renewal order was created. Something stopped the schedule.
A missing schedule. No next payment date and no end date. The subscription has lost track of when it should bill.
Manual when it could be automatic. The subscription is set to manual renewal, but the gateway supports recurring payments and a card is on file. That is revenue you are asking customers to remember to send you.
Finding the problem is half the job
A list of broken subscriptions is only useful if you can do something about it.
Every category comes with a fix you can apply from the same screen. A missing schedule gets recalculated. A missed renewal gets processed. A subscription that could auto-renew gets switched over. And the two cases where the customer holds the answer, an unusable card or no card at all, send a re-authorization email that walks them through storing a new one.
For stores at scale, the re-authorization flow runs as a throttled campaign across a whole cohort, so you can recover a migrated base without hand-holding each subscriber.
Built for migrations, because that is where it hurts most
Moving a subscription base between platforms is where these problems cluster. Payment data is the hardest part to bring across, and the failure mode is delayed: everything reports success, and the truth arrives one billing cycle later.
Milo’s migrator imports from WooCommerce Subscriptions, WP Swings, YITH, Sublium and Flexible Subscriptions, and the Health Check is what you run afterwards to confirm the base can actually bill. Alongside it, stores using the official WooCommerce Stripe gateway get a dedicated mandate health screen through the Milo Stripe Bridge add-on, which classifies every Stripe subscription by whether its saved method carries a valid off-session mandate.
If you are evaluating a migration, that pairing is worth more than any feature list. A verification report that says “1,500 subscriptions migrated successfully” is not the same as “1,500 subscriptions can take their next payment”, and only the second one pays your invoices.
Where to find it
Subscriptions, then Health Check, in your WordPress admin. It scans nightly on its own and you can run it on demand at any time.
It is part of the free core plugin. Milo Subscriptions is a free WooCommerce subscriptions plugin with recurring billing, trials, sign-up fees, plan switching, a customer self-service portal, and a standalone mode that works without WooCommerce at all.
Try the engine, it costs nothing
Free on WordPress.org, and one percent only when you get paid.