Subscriptions
Commerce Free & Pro
The Subscriptions screen shows every member subscription across all plans. You can filter by status or plan, cancel or extend a subscription on behalf of a member, and export the list as CSV.
Overview#
Go to LMS Commerce > Subscriptions. Each row represents one member's subscription to one plan, with its current billing status, period dates, payment provider, and available admin actions.
The subscriptions list#


Columns#
- User - avatar, display name (links to the subscription detail), and email address.
- Plan - the membership plan name. Shows "Deleted plan" if the plan has been removed.
- Status - the current subscription state (see below).
- Period - the start and end dates of the current billing cycle.
- Provider - which payment gateway processed the subscription (Stripe, PayPal, or WooCommerce).
- Actions - available admin actions for this row.
Status values#
| Status label | Meaning |
|---|---|
| In trial | Free trial period is active; billing starts after the trial ends |
| Active | Subscription is paid and current |
| Payment failed | The most recent renewal charge failed; access continues for the grace period while the gateway retries |
| Ending soon | The subscriber has cancelled but access runs until the period end |
| Cancelled | Subscription was cancelled; access is revoked |
| Ended | The subscription expired at the end of a fixed period |
Filtering#
Use the Status and Plan dropdowns to narrow the list. Once a store bridge (Paid Memberships Pro, Restrict Content Pro or Easy Digital Downloads) is on, a Filter by who bills it dropdown also separates Learnomy's own billing from each store's, even before the first store membership arrives. Click Filter to apply.

The Export as CSV button downloads all subscriptions matching the current filter. The file streams directly as a CSV (not a JSON-encoded cell).
Row actions#
For Active, In trial, and Payment failed subscriptions:
- Extend - opens a date picker to move the period end forward. Use this to grant a goodwill extension. What it does to the renewal schedule depends on the gateway; see Extending a period.
- Cancel - cancels the subscription immediately. Access is revoked.
Cancelled and Ended subscriptions show no actions, with one exception:
- Mark as stopped - shown on a cancelled subscription when Stripe or PayPal never confirmed that billing stopped (the Billing not confirmed as stopped filter). Cancel the subscription in your Stripe or PayPal dashboard first, then click this and confirm. It does not contact Stripe or PayPal; it records that you handled it, writes an entry to the audit log, and removes the subscription from the Cancelled subscriptions may still be billing reminder.
Grace period for failed payments#
When a renewal payment fails, the subscription is marked Payment failed (past due) and the member keeps access for a grace period while the gateway retries the card. When the grace period runs out, the subscription is expired and access is revoked.
You set the length of that window in Learnomy Settings > Settings > Payments, in the Failed payments card:
| Field | What it is |
|---|---|
| Grace period | How many days a past-due member keeps access before it is revoked. Any whole number from 1 to 90; the default is 7 days, which is the behavior every site had before this became a setting. Turn the switch off to cut access as soon as the paid period ends. |
A member who cancels deliberately is not affected by this. They always keep access until the end of the period they paid for, with no grace on top.
Developers can override the value with the learnomy_subscription_grace_days filter.
The three things you will actually do#
Most of this screen is for reading. These are the actions worth knowing before you need them, because each one treats the member differently.
Cancel a subscription the member asked to end#
Open the subscription and click Cancel at period end. The member keeps access until the period they have already paid for runs out, and it does not renew after that. This is the polite cancel and the one to use for a normal request.
Cancel now revokes access immediately. Use it for fraud or a refund, not for someone who has paid until the end of the month.
Give someone extra time#
On the Subscriber and provider card, set a new period end and click Extend period. Use it to compensate for an outage, or to honour a promise made in support without issuing a refund.
Resume one that failed#
A subscription goes past due when a renewal payment fails. Once the member fixes their card, click Resume to restart billing and clear the cancel flag. Until you do, they sit in the grace period described above and lose access when it expires.
Subscription detail#
Click a subscriber's name in the list to open the full subscription detail page.
Subscription overview card#
Shows status badge, plan name, amount per billing interval, current period dates, trial end date (if applicable), and whether the subscription is set to cancel at period end.
Subscriber and provider card#
Shows the subscriber's name and email (linked to their student profile), the payment provider name, and the gateway's own subscription ID and price ID (for cross-referencing in Stripe or PayPal dashboards).
Extend period - a datetime input on this card lets you type a new period end time and click Extend period to apply it directly. See Extending a period for what this does to the gateway's renewal date.
Admin actions (header buttons)#
- Resume - available when the subscription is past-due or has cancel-at-period-end set. Resumes billing and clears the cancel flag.
- Cancel at period end - marks the subscription to not renew. The member keeps access until the current period ends.
- Cancel now - immediately revokes access.
- Mark as stopped - on a cancelled subscription whose billing Stripe or PayPal never confirmed stopped. The screen says so at the top. Same action as the list's row action above.
Payments history#
A table of every renewal and initial payment linked to this subscription, showing date, transaction type, amount, and status.
Change history#
Pro feature. Requires Learnomy Pro with the Membership Pro extension active.
Below the payments table, a Change history panel lists what has happened to this subscription that was not a payment. It exists so you can answer "why did my plan change", "when was I paused", or "who gave me this" from the screen the member is asking you about, instead of from the database.
Three columns, ordered by when each change was recorded rather than by the date shown, so a plan change scheduled for a future date sits with the day it was made:
| Column | Contents |
|---|---|
| Date | When the change took effect |
| Change | Plan changed, Paused, Resumed, Refunded, or Gift applied |
| Details | For a plan change, the plan it moved from and the plan it moved to. For a gift, the plan granted. Otherwise a dash. |
The panel shows up to the 50 most recent changes for this one subscription, and does not appear at all when nothing has happened to it yet - an empty "Change history" heading would read as a broken feature rather than a quiet one.
The member sees the same events for themselves under Billing history on their account billing page, so the two of you are reading the same record. See Certificates and Billing.
Payment retry attempts are not in this table. Those are dunning attempts, and today they are readable over the REST API only; see Subscription Lifecycle.
Extending a period#
Extend moves the current period end forward. What happens next depends on which gateway the subscription is billed through:
- WooCommerce - the subscription's next payment date in WooCommerce moves with it, so the two screens agree about when the customer is next charged. This is deliberately forward-only: if the new end date is earlier than the existing next payment, WooCommerce is left alone. An extension can never bring a charge forward by accident.
- Stripe and PayPal - unchanged. The extension moves the period end on the Learnomy record only; the gateway keeps its own renewal date. Adjust the schedule in the Stripe or PayPal dashboard if you need the charge to move too.
On WooCommerce the push is silent when the two records do not line up (no WooCommerce Subscriptions extension, no linked WooCommerce subscription, or a WooCommerce subscription that is mapped to a different Learnomy subscription, including another one belonging to the same member). The Learnomy period is extended either way, so the member never loses the access you granted them.
Memberships another store bills#
A membership can be granted by another store or membership plugin (WooCommerce, Easy Digital Downloads, a Zapier or Make recipe on the incoming webhook). Learnomy gives the access; the store takes the money.
- The list shows the store in the Provider column with its order number under it, for example WooCommerce, Order 1187. The subscription screen has a Billing row: Managed by WooCommerce · Order 1187.
- There is no amount or renewal date here, and it is not counted in revenue or MRR. Renewals, failed payments and refunds happen in the store.
- End access takes the membership and its courses away now. The store keeps billing until you cancel the order there; the confirm and the message after it say so. A late renewal of that same order does not bring the access back. A new order does.
- Extend and Cancel at period end are not offered: the store owns the dates.
- On their Manage membership page the member sees Billed by WooCommerce.
Payments, renewals and cancelling happen there. instead of a period, a next
payment and a Cancel button, so nobody cancels here while the store keeps
charging. When Learnomy knows the store's account page (WooCommerce does)
there is a Manage in WooCommerce button; other stores add theirs with the
learnomy_store_manage_urlfilter. Without a URL there is no button, never a dead one.
How customers manage their own subscription#
Members manage their subscriptions from Account > Manage membership at /account/membership/ (the first part follows your account page slug).

The page shows each active plan with:
- Plan name and status badge (Active, In trial, Payment failed, Ending soon)
- Current period start and end dates
- Next renewal date and next payment amount
- Which gateway they pay through ("Billed via")
Status banners appear for trial reminders, payment failures, and pending cancellations.

Member actions available on the page:
- Cancel subscription - sets cancel-at-period-end. The member keeps access until the period ends.
- Update payment method - opens the payment provider's hosted portal to update card details (Stripe and PayPal only).
- Resume subscription - shown when the subscription is set to cancel at period end; removes the cancel flag.
Pro feature. Plan switching (upgrading or downgrading between plans with prorated credit) is available in Learnomy Pro's Membership Pro extension.
The included courses for each plan are listed below the plan details so members can see what they have access to.
A payment history table (invoices) appears at the bottom of each plan section.
Tips#
- Cancelling from the admin side ("Cancel now") revokes access immediately, regardless of how much billing period remains. Use "Cancel at period end" for a graceful end.
- Extending a period moves the WooCommerce next payment date with it, but never earlier than it already was. On Stripe and PayPal the extension moves the Learnomy period end only, and the gateway's own renewal date is unchanged.
- A one-time (lifetime) membership has no period end and no renewal, so Extend has nothing to move on it.
- A subscription in "Payment failed" status keeps course access for the grace period set in Settings > Payments (7 days by default) while the gateway retries. If retries fail, the gateway transitions the subscription to cancelled, which Learnomy receives via webhook and updates the status here.
- The CSV export respects the active status and plan filter so you can export just past-due subscribers for a targeted follow-up.