WooCommerce subscriptions not renewing automatically? Do not press “Process renewal now” until you know what failed. That action can charge a saved payment method for an automatic subscription. A store can also have subscriptions set to manual renewal on purpose, so a manual label alone is not proof of a fault.
The useful first question is not “How do I force every renewal?” It is “Which part of this one subscription’s renewal path stopped?” Work from one affected subscription and its expected payment date. Keep customer details and payment tokens out of screenshots or support messages.
Start with one subscription, not a store-wide switch
In WooCommerce > Subscriptions, open an affected subscription and note its status, next payment date, payment method and whether it uses automatic or manual renewal. Compare that with the related renewal orders and their statuses. Then check whether the customer intentionally selected manual renewal, whether your store allows it, and whether the gateway supports recurring payments for this subscription.
WooCommerce explains that manual renewals require the customer to pay each interval, while automatic renewals use a supported gateway and saved payment method. A manual subscription may be working as configured, even when an owner expected automatic billing. Do not change that arrangement without checking what the customer agreed to.
| What you see | Check next | Do not assume |
|---|---|---|
| Manual renewal, invoice pending | Customer choice, store settings and invoice delivery | That a scheduler failed or the customer consented to auto-charge |
| Automatic renewal, failed order | Gateway response, payment method and retry state | That no order was created |
| Payment date passed, no renewal order | Scheduled action and subscription health | That it is safe to run every overdue payment at once |
| Paid renewal order, subscription still on hold | Payment callback, order notes and subscription status | That charging again is the repair |
This is a triage aid, not a diagnosis of your live store. The same customer-facing symptom can have different causes, and the response changes when money has already moved.
Use the Subscriptions Health Check as a review queue
WooCommerce’s Subscriptions Health Check is available at WooCommerce > Status > Subscriptions on stores using a supported WooCommerce Subscriptions version. It separates subscriptions on manual renewal that may support automatic billing from subscriptions with missing or overdue renewals. Treat those tabs as leads to investigate, not a list of payments to process automatically.
For a manual-renewal subscription, the tool can offer to switch billing mode when a usable saved method supports automatic renewal. That switch affects future renewals; it is not the same as collecting a missed payment now. Before confirming, check whether manual renewal was chosen by the customer or required by the payment method. If it was intentional, leave it alone.
The missing-renewals tab is more consequential. WooCommerce says its Process renewal now action can charge a saved payment method for an automatic renewal, or send an invoice for a manual renewal. Review the proposed action, amount, previous renewal orders and customer communications before proceeding. If there is any uncertainty about a duplicate charge or authorization, stop and escalate to the store’s payment owner.
Find where the renewal stopped
If a renewal order never appeared, inspect WooCommerce > Status > Scheduled Actions for the affected subscription and its scheduled payment action. WooCommerce documents that failed cron or Action Scheduler work can prevent renewal orders from being created. Record the action’s status, due time and redacted error. A pending action and a failed action call for different investigation. Do not delete queued actions, disable unrelated plugins or run them repeatedly on a live order-taking store.
If a renewal order exists but payment failed, look at that order’s notes and the gateway’s relevant log. Check whether the saved payment method is still usable and whether the gateway supports automatic subscription payments. An expired card, detached token, declined payment, gateway callback problem and genuine manual renewal are not interchangeable. WooCommerce’s common issues guide describes these paths. Do not paste a token, full customer record or API key into a support ticket.
If the gateway shows payment succeeded but WooCommerce still says pending or on hold, do not ask the customer to pay again as a first step. Compare the gateway transaction, renewal order and subscription notes, then investigate the missing confirmation or status transition. Our payment-confirmation guide covers that separate failure path.
A safe test before a live repair
Take a current backup and identify the exact subscription, order and next expected event. For a code, gateway or scheduling change, use an isolated staging environment with test payment methods and outgoing customer messages disabled. Do not copy live payment secrets into an uncontrolled test site. A staging pass is useful, but it does not authorize a real customer charge.
| Path to verify | Evidence of a pass | Stop condition |
|---|---|---|
| Scheduled renewal | One expected renewal order appears for the test subscription | Duplicate orders or an action stuck after the due time |
| Gateway test | One test transaction maps to the correct order and subscription | Unexpected live mode, amount or payment method |
| Customer message | Invoice or receipt matches the actual billing mode | A demand to pay again after a confirmed payment |
| Next cycle | Status and next payment date reflect the intended state | Missing date, skipped cycle or unapproved auto-renewal |
Document who will decide on any overdue live charge, how customers will be informed, and how a duplicate would be handled. Do not infer that switching a renewal setting retroactively reconciles orders, refunds or customer consent. For a real incident, reconcile the affected cohort one subscription at a time before considering a bulk action.
When Webless help makes sense
If the subscription is intentionally manual and invoices reach the customer, there may be nothing to repair. If several subscriptions share a failed scheduled action, a gateway update changed token handling, or paid orders are not updating subscriptions, the problem spans more than a setting. It deserves a scoped investigation with payment and customer-communication safeguards.
Webless can examine the renewal order, scheduler, gateway callback and any custom subscription logic, then propose a reversible fix and a test plan. That is a fit for WordPress development; maintenance can help keep updates and checks under control, but it is not a blanket promise to process or recover every missed payment. Send a redacted example and the business impact, not credentials.
Questions store owners ask
Does “manual renewal” mean WooCommerce is broken?
No. Manual renewal can reflect the customer’s choice, your store settings or a payment method that does not support automatic recurring charges. Confirm the reason on the individual subscription before changing it.
Will the Health Check repair overdue subscriptions automatically?
No. It identifies subscriptions to review and provides actions for an administrator to confirm. The missing-renewal action may charge or send an invoice depending on billing mode, so treat it as a payment action, not a harmless health check.
Should I retry a payment when the order says pending?
Only after checking whether the gateway already took payment and whether another renewal order exists. A second attempt can create a duplicate charge. Preserve the evidence and escalate when the order and gateway disagree.