- Admin → Subscribers (
/admin/subscribers) — customer-oriented view with subscription status and history. - Admin → Payments (
/admin/payments) — payment provider management, advanced analytics, and revenue charts.
Subscribers list
The subscribers list shows every customer account (role!= admin) with their latest subscription record joined in a single row. The page paginates at 20 per page.
Summary statistics
At the top of the page, summary cards show:| Metric | Description |
|---|---|
| Total customers | All non-admin users |
| Customers with subscriptions | Users who have an active, trialing, or past_due subscription |
| Customers without subscriptions | Users on no paid plan |
| Active subscribers | Subscriptions with status active |
| Cancelled subscribers | Subscriptions with status canceled |
| Trial subscribers | Subscriptions with status trialing |
| Free users | Active subscriptions on a plan with price 0 |
| Paid users | Active/trialing/past-due subscriptions on a paid plan |
| Total revenue | Sum of amount across active/trialing/past-due subscriptions |
| Monthly revenue | Revenue from monthly billing-cycle subscriptions |
| Yearly revenue | Revenue from yearly billing-cycle subscriptions |
| Plans breakdown | Per-plan subscriber counts |
Filtering
| Filter | Options |
|---|---|
| Search | User name or email |
| Status | active, canceled, incomplete, trialing, past_due, unpaid, no_subscription |
| Plan | Any active pricing plan |
| Billing cycle | monthly or yearly |
| Date from / Date to | User registration date range |
Subscription details
Click any row to open the subscriber detail view (/admin/subscribers/{user}), which shows:
- Active subscription: plan name, status, billing cycle, amount, current period start/end, external provider ID
- Payment provider name
- Full subscription history for the user (all past subscriptions ordered by date)
Cancelling a subscription
Click Cancel subscription
A dialog asks whether to cancel immediately or at the end of the billing period.
Optionally add a reason
Enter an optional cancellation reason (max 500 characters). This is stored in the subscription’s
metadata.admin_cancellation field along with the cancelling admin’s email and a timestamp.Immediate cancellation ends the subscription right now. End-of-period cancellation lets the customer use the plan until
current_period_end.Exporting subscriber data
Click Export CSV on the subscribers list. The export applies any active filters (status, plan, search) and streams a CSV file with the following columns:subscribers_export_YYYY-MM-DD_HH-mm-ss.csv.
Payment analytics
Navigate to Admin → Payments → Analytics (/admin/payments/analytics) for detailed financial metrics.
Date range
The analytics page defaults to the current calendar month. Use the date range picker to select any custom period.Analytics sections
The page combines data fromPaymentAnalyticsService:
- Dashboard analytics — Overview metrics for the selected period.
- Advanced revenue analytics — MRR, ARR, and revenue trends.
- Detailed usage analytics — Usage record breakdowns.
- Customer lifetime value — CLV calculations per customer cohort.
Revenue chart
A time-series chart shows daily revenue and new subscriptions. Use the period selector (7d, 30d, 90d, 1y) to zoom in or out. Missing days are filled with zero values so the chart line is continuous.
Exporting analytics
Click Export CSV on the analytics page to download a CSV of all overview and revenue metrics for the selected date range. The file is namedpayment_analytics_YYYY-MM-DD_to_YYYY-MM-DD.csv.
Payment providers
Navigate to Admin → Payments → Providers (/admin/payments/providers) to manage the payment gateways available on your instance.
The system supports multiple providers simultaneously. Only one provider can be marked as default at a time — when a new provider is set as default, the previous default is automatically cleared.
Provider fields
| Field | Description |
|---|---|
| Name | Internal identifier (unique, immutable after creation) |
| Display name | Human-readable label shown in the UI |
| Config | Provider-specific configuration object (API keys, webhooks, etc.) |
| Active | Whether the provider is available for new subscriptions |
| Default | Whether this provider is used for new subscriptions by default |
| Sort order | Display order in provider lists |
Syncing plans to providers
After creating or updating pricing plans, use Admin → Payments → Sync plans to push plan data to all active payment gateways. See Pricing plans for gateway-specific sync details.Recent subscriptions
The main payments dashboard (/admin/payments) shows the 10 most recently created subscriptions with user name, plan, provider, status, amount, and date.