Builds By Luke
All plugins

WordPress Plugin · WooCommerce Subscriptions · v1.0.0 · Coming soon

Renewal Rescue

Every failed subscription renewal in one cockpit — and the retry schedule, finally editable without code.

  • WordPress 6.2+
  • PHP 7.4+
  • GPLv2+
  • Woo Subscriptions
  • Documented filters

Free core coming to the WordPress.org plugin directory. This page is the plugin’s official home.

Renewal Rescue for WooCommerce icon

Your subscription store has a retry system. Have you ever seen it?

When a renewal payment fails, WooCommerce Subscriptions quietly schedules retries — on a timetable hard-coded in 2016, editable only through a PHP filter, with no screen showing you what it is doing or what it saved. Failed renewals are where subscription revenue actually dies: cards expire, banks decline, and every exhausted retry is a customer who slips away unnoticed. Renewal Rescue is the cockpit for that system — the failures, the schedule, the at-risk customers, the recovered money — built on the documented filters, replacing nothing.

How it works

See the failures. Steer the retries.

Job one · The cockpit

Every failed renewal, what happens next, and what it is worth

WooCommerce Subscriptions retries failed payments on a schedule it has shipped, hard-coded, since 2016 — and gives you no screen to watch it. Renewal Rescue is that screen: every failed renewal, the retry that is coming and when, the subscriptions that exhausted every attempt, and the revenue you actually got back.

  • Upcoming retries with the customer, amount and timing — before they run.
  • At-risk subscriptions: every retry spent, human intervention required. Named, not buried.
  • Recovered-revenue tracking: what the retry system saved this month, in currency.
2 at risk

2 subscriptions exhausted every retry — needs a human

7 failed renewals this week · 5 recovered by retries · $412.00 recovered. Counted from real orders, not projected.

Upcoming retries

#5121 · dan••@…Retry 2 of 5 · in 9 hours $29.00 · card declined
#5087 · mia••@…Retry 4 of 5 · tomorrow 09:10 $119.00 · insufficient funds
#4998 · joe••@…All retries exhausted $59.00 · card expired — call them
#5140 · ana••@…Recovered on retry 1 $29.00 back
The cockpit — failures, retries, and the customers about to slip away. Example data shown.

Job two · The schedule editor

Reshape the retry schedule from a screen, not a code snippet

The retry rules — how many attempts, how far apart, which emails, which order status — have always been editable only through a PHP filter. Renewal Rescue puts the documented filter behind a validated editor: rows you add and drag, timings you set in hours or days, guardrails that stop a schedule that would misbehave. No custom schedule? WooCommerce’s exact defaults pass through untouched.

  • The stock 12h / 12h / 24h / 48h / 72h schedule shown honestly — and passed through byte-identical until you change it.
  • Custom rows validated hard: sub-hour gaps, 14-day-plus gaps and broken statuses are refused with reasons.
  • Built on the documented WooCommerce Subscriptions retry filters — not a fork, not a patch.

Retry schedule LIVE

Attempt 1 · T+12h No emails · order status: pending
Attempt 2 · T+24h Customer email · order status: pending
Attempt 3 · T+48h Customer + admin email · order status: on-hold
Attempt 4 · T+96h custom was 72h — moved to give the bank two extra business days

Stock until you say otherwise
No custom schedule means WooCommerce Subscriptions’ shipped defaults pass through untouched — verified byte-identical, not assumed.

The schedule editor — the 2016 hard-coded timetable, finally on a screen. Example data shown.

It steers, never replaces

Renewal Rescue drives WooCommerce Subscriptions’ own retry system through its documented filters. Retries still run exactly where they always ran — there is no second billing engine, and turning the plugin off restores stock behaviour instantly.

Verified against the real thing

The schedule contract was verified against the actual GPL retry classes and exercised end-to-end on a real WooCommerce install — including proof that with no custom schedule, the shipped defaults pass through untouched.

Money math you can audit

Recovered revenue counts one thing: renewal orders that failed, were retried, and then paid. No projections, no “estimated saved churn” — a number you could recompute from the orders screen by hand.

In the free build

Complete for running one store’s dunning.

Nothing below is limited, metered, or unlocked by payment.

  • Failed-renewal cockpit

    Every failed renewal with its retry position, customer, amount and next attempt — live, in one screen.

  • Retry schedule editor

    The full schedule as editable rows — count, spacing, emails, statuses — with hard validation and one-click return to stock.

  • At-risk list

    Subscriptions that exhausted every retry, flagged for a human, deduplicated so you are never told twice.

  • Recovered-revenue tracking

    What the retry system actually got back, counted from real orders.

  • Daily digest

    The failures, recoveries and at-risk subscriptions that need a human — named, with order links.

  • Site Health integration

    Retry-system health — including a stuck retry queue — surfaced in WordPress’s own screen.

  • WP-CLI with JSON

    The cockpit as data, for your fleet tooling.

  • Schedule passthrough proof

    No custom schedule means WooCommerce’s exact defaults — verified, not implied.

Free vs Pro

Pro is for squeezing the last failures back.

The free build gives you the cockpit and the editor. Pro adds the recovery levers: per-gateway schedules, business-hours timing, pre-dunning before cards expire, recovery emails, and the alert channels an agency needs.

Capability Free Pro
Failed-renewal cockpit with upcoming retries and at-risk list
Retry schedule editor with validation and stock passthrough
Recovered-revenue tracking + daily digest
Site Health integration, WP-CLI with JSON
Sites your licence covers One, complete 5 · unlimited on Agency
Per-gateway retry schedules
Retry timing window — attempts land inside business hours
Pre-dunning: card-expiry email before the renewal even runs
Second-attempt recovery email with a pay-now link
Slack & webhook alerts with high-value flags
REST endpoint + CSV export · 90-day retention

Pro · founder pricing

Pro

$99/yr

5 sites · for the freelancer running subscription stores

Agency

$249/yr

Unlimited sites · for the agency running client care plans

14-day trial, no card required. Annual, in US dollars. Pro is sold and licensed through Freemius, the merchant of record.

Questions people ask.

Doesn’t WooCommerce Subscriptions already retry failed payments?

Yes — that is exactly the point. It ships a competent retry system with no cockpit, no editor and, on many stores, not even switched on. The schedule has been hard-coded since 2016, changeable only through a PHP filter. Renewal Rescue is the missing UI for the system you already own.

Does it replace the WooCommerce Subscriptions retry system?

No, and deliberately so. It configures the existing system through its documented filters. Retries run exactly where they always ran; deactivate Renewal Rescue and stock behaviour returns instantly.

What happens if I never touch the schedule?

Nothing changes. Without a custom schedule, WooCommerce Subscriptions’ shipped defaults pass through untouched — this passthrough is explicitly tested, not assumed.

Can a bad schedule break my billing?

The editor refuses schedules that would misbehave: sub-hour spacing, gaps beyond 14 days, unknown order statuses, more rows than the retry system handles. Invalid rows are named with reasons, not silently corrected.

Do I need WooCommerce Subscriptions?

Yes — Renewal Rescue is a companion to WooCommerce Subscriptions (the official extension), which owns billing and retries. Renewal Rescue gives that system its missing screens.

What does uninstalling remove?

Its events table, options and schedules — and your retry schedule returns to WooCommerce Subscriptions’ shipped defaults.

How much did failed renewals cost you last quarter?

You probably can’t answer — that is the problem. Renewal Rescue puts a number on it, shows you every save the retry system made, and hands you the schedule that decides the rest.