Managing subscribers¶
Day-to-day subscription management happens across two surfaces: the merchant dashboard (business health at a glance) and the subscription detail page (per-subscriber actions). This guide covers both.
Prerequisites¶
- bc-subscriptions installed with at least one active subscription
- Admin user role with Dashboard view permission (default for all admin roles)
The dashboard¶
Open bc-subscriptions from your BC store admin. The dashboard is the default landing page.
KPIs¶
The top row shows four headline numbers, each with a 30-day delta:
| KPI | What it measures |
|---|---|
| Active subs | Subscriptions currently in active status; excludes paused and cancelled |
| MRR | Monthly-equivalent charge total across active subs (weekly plans × 4.33, annual plans ÷ 12) |
| Churn rate | Cancellations in the last 30 days ÷ active subs at the start of the period (gross, not net) |
| Trial → paid conversion | Trial subs that became paid in the period, out of all trials that ended in the period |
Hover any tile for the formula breakdown. The dashboard auto-refreshes every 5 minutes; the timestamp in the top-right shows when data was last fetched.
Finding a subscription¶
Click Subscriptions in the left nav. The list is paginated and shows: customer, plan, status, MRR, next charge date, and cycles completed. Apply filters — by status, plan, customer, or date range — to narrow results. The filtered URL is shareable.
Click any row to open the subscription detail page, which shows full state, charge history, payment method health, addresses, and the event timeline.
Lifecycle actions¶
Most lifecycle actions are available to subscribers via the customer portal. Merchants and support staff can also apply them from the subscription detail page in the admin (via the Actions dropdown).
Pause¶
Moves the subscription to paused status. No charges occur until the subscription resumes. Subscribers can choose a specific resume date or pause indefinitely.
Who can initiate: subscriber via portal; merchant/support via subscription detail.
Resume¶
Re-activates a paused subscription. If a resume date was set, the system resumes automatically on that date. Manual resume is available before that date if needed.
Who can initiate: subscriber via portal; merchant/support via subscription detail.
Skip next charge¶
Marks the upcoming charge as abandoned (reason: skipped) and advances next_charge_at by one interval. Subscribers have up to 24 hours before the originally scheduled charge date to undo a skip ("Unskip").
Who can initiate: subscriber via portal.
Swap product or variant¶
Changes the product or variant on the subscription from the next cycle forward. The subscriber sees a price preview before confirming. The swap is only available if the plan offers eligible alternates.
Who can initiate: subscriber via portal.
Reschedule next charge¶
Moves next_charge_at to a subscriber-chosen date (up to the plan's allowed window, e.g., +90 days). All future charges shift accordingly.
Who can initiate: subscriber via portal.
Change cadence / interval¶
Changes the billing interval (for example, monthly to every two months). The new interval applies from the next cycle onward and next_charge_at is recomputed.
Who can initiate: subscriber via portal.
Cancel¶
Ends the subscription. The cancel flow first captures a reason, then may offer an intervention (pause, discount, interval change) before presenting the final confirmation. If the subscriber declines all interventions and confirms, status moves to cancelled and all scheduled future charges are removed.
Cancelled subscriptions can be reactivated within 90 days (see Reactivate below). After 90 days, the subscriber must start a new subscription.
Who can initiate: subscriber via portal; merchant/support via subscription detail.
Reactivate¶
Returns a cancelled subscription (cancelled less than 90 days ago) to active status with a fresh next_charge_at set to now + one interval. If the original product or plan is no longer active, the subscriber is prompted to pick an alternate.
Who can initiate: subscriber via portal.
The exception queue¶
The exception queue surfaces subscriptions that automation tried to process and could not resolve on its own. Items are grouped by type and sorted by impact (MRR of affected subscription, days in queue).
What lands in the queue¶
| Exception type | Cause |
|---|---|
charge_failed_dunning |
Failed charges after dunning retries are exhausted (when your dunning final action is set to "route to exception queue") |
out_of_stock_at_renewal |
A product or variant was out of stock at renewal time |
reconciliation_drift |
Detected drift between subscription state and BC order/charge records |
processor_pm_invalidated |
Payment method on file was invalidated by the processor |
chargeback_received |
A chargeback was filed against a subscription charge |
Each item shows: exception type, affected subscriber, affected plan, estimated MRR impact, age, and a proposed remediation.
Resolving an exception¶
- Open the exception queue from Dashboard or navigate to Exceptions in the left nav.
- Review the exception detail — expand a row to see context and the proposed remediation.
- Click Mark resolved and add a note. The item leaves the queue and the resolution is logged to the subscription's event timeline.
If you need to take a lifecycle action (pause, cancel, force charge) as part of resolution, click the subscriber link to open the subscription detail page.
Current state (as of 2026-05-19): The exception queue list view is live. The interactive one-click resolve / pause / cancel / escalate buttons are in progress (Hive #832). Until those land, resolve from the subscription detail page.
CS tools¶
Support and ops staff have additional tools in the subscription detail page and the global admin nav.
Manual subscription creation¶
Use the global + New subscription button to create a subscription for a customer directly in the admin — for phone orders, recovered carts, or comped accounts. The wizard walks through: customer selection, plan, payment method, start date, and anchor. You can optionally charge cycle 0 immediately or start without an upfront charge. Manually created subscriptions behave identically to storefront-created subscriptions; the event log records source: manual and the acting support user.
Customer lookup from BC admin¶
When viewing a customer in BC admin, a Subscriptions panel (App Extension) lists all their subscriptions with deep-links into the bc-subscriptions admin.
Impersonate subscriber (view-only)¶
Click View as subscriber on a subscription detail page to see the subscriber portal exactly as the subscriber sees it. Impersonation is read-only; all actions are logged with your admin user ID.
Force charge / force refund¶
From the subscription detail Actions dropdown:
- Force charge now — enqueues an immediate charge outside the normal schedule. Requires confirmation and records an audit note.
- Force refund — calls the processor immediately with the amount and reason you specify.
Add a note¶
Attach an internal note to any subscription from the subscription detail page. Notes are timestamped and attributed to your admin user. They are visible to other support staff in the detail view; they are not visible to the subscriber.
Related¶
- Merchant dashboard — deeper coverage of KPIs and the recent activity stream
- Dunning + retries — most
charge_failed_dunningexception queue entries originate here - Subscriber portal — what subscribers see when they take lifecycle actions
- Charge scheduling — how
next_charge_atis computed when you reschedule or skip - Notifications & integrations — configure exception queue email digests