WooCommerce

WooCommerce Subscriptions Turns a Product Into a Recurring Charge. It Stops There.

WooCommerce Subscriptions is a paid official extension that adds a subscription product type: pick a billing interval, and it generates a renewal order and charges a stored payment method automatically on schedule, moving the subscription through a defined set of statuses as payments succeed or fail. It doesn't decide what the rest of your business does once one of those statuses changes, and that's the gap we build automation into.

How WooCommerce Subscriptions actually works

A subscription product behaves like any other WooCommerce product with a billing schedule attached: weekly, monthly, annually, or a custom interval, plus an optional free trial or signup fee. Once purchased, it generates a parent subscription and a renewal order each billing cycle, charging whatever payment method the gateway tokenized at the original purchase, no card re-entry required.

The subscription itself moves through statuses as its billing history changes: active while payments are current, on-hold when a renewal charge fails, pending-cancellation if it's set to end at the close of the current period rather than immediately, and expired or cancelled once it's actually over. A customer can switch between subscription plans too, upgrading or downgrading, with WooCommerce Subscriptions handling the proration math for the switch automatically.

A separate official extension, WooCommerce Memberships, ties access, to specific content, products, or discounts, to either a one-time purchase or a subscription. The two extensions work together but aren't the same product: Subscriptions handles the recurring charge, Memberships handles what access that purchase grants.

Where a subscription status change needs more than WooCommerce builds in

A failed renewal moving a subscription to on-hold is a status change inside WooCommerce. Whether that should revoke a customer's access somewhere outside WooCommerce's own Memberships scope, like a separate app or portal, flag the account for someone on your team, or trigger a specific win-back email in your own voice, isn't something the extension decides for you. Most businesses either build that manually or don't catch it consistently at all.

Usage-based pricing is also outside what Subscriptions handles on its own; it's built for a flat recurring charge, not a number that varies by usage each cycle. If part of what a customer owes depends on something tracked elsewhere, seats used, orders placed, that figure has to be pushed into the subscription before the next renewal runs correctly, which is custom work layered on top.

And there's no built-in recurring-revenue reporting across your whole subscriber base. WooCommerce shows you individual subscriptions and renewal orders, not a monthly recurring revenue figure or a churn trend, which usually ends up being its own export-and-calculate routine unless something's built to generate that number directly.

What we build on top of WooCommerce Subscriptions

Access that follows the subscription status automatically

A subscription moving to on-hold or cancelled revokes access in a separate app, portal, or CRM record the moment it happens, instead of a person checking the subscriptions list to see who's actually still current.

Recurring revenue numbers that don't start with an export

Active subscriptions, renewals, and cancellations roll up into an actual MRR and churn figure on a schedule, calculated from the real data instead of a spreadsheet someone rebuilds from an export every month.

What happens in your business when a subscription status changes?

A failed renewal, a cancellation, a downgrade: tell us what's supposed to happen next and who's currently doing it by hand, and we'll scope what automating it would take.

Let's talk

Running WooCommerce Subscriptions and still tracking renewals by hand?

The extension handles the charge and the status correctly on its own. Whatever your business is supposed to do once that status changes, revoke access, flag an account, update a revenue number, is a decision you're making, and it doesn't have to be a person making it every time. Subscriptions are just this page's example; n-frames builds the same kind of follow-up automation for whatever tool in your stack fires a status change that someone's still catching manually.

Let's talk

Frequently Asked Questions

Is WooCommerce Subscriptions free?+
No, it's a paid official extension, not part of core WooCommerce. Pricing is an annual license through WooCommerce.com, separate from the free core plugin and separate from whatever payment gateway fees you're already paying on each charge.
What happens when a WooCommerce subscription payment fails?+
The subscription moves to on-hold, and WooCommerce Subscriptions can be configured to retry the charge automatically on a schedule you set. If the retries run out without a successful charge, the subscription moves to cancelled or expired depending on how it's configured, and nothing outside WooCommerce changes unless something's built to act on that status.
Can customers switch between subscription plans in WooCommerce?+
Yes, if the subscription product is set up to allow switching. WooCommerce Subscriptions calculates the proration automatically when a customer upgrades or downgrades mid-cycle, crediting or charging the difference rather than requiring a brand-new subscription from scratch.
What's the difference between WooCommerce Subscriptions and Memberships?+
Subscriptions handles the recurring charge itself: the billing schedule, renewal orders, and payment retries. Memberships handles what access a purchase, one-time or subscription, actually grants: specific content, products, or discounted pricing. They're separate extensions designed to work together, not two names for the same feature.

Let's talk

Tell us the one thing your team does manually that eats up time. We read every message and reply within a day.