SaaS subscription billing for tenants. The whole surface is inert until you enable Stripe and add keys — nothing charges anyone before then. Keys live in the PBX settings store; the secret key is never shown back here once saved.
Stripe configuration
Webhook endpoint to register in Stripe: https://voip.novaretelecom.com/api/stripe/webhook — events: checkout.session.completed, customer.subscription.*.
Plan → Stripe price IDs
Plan-limit enforcement (calls)
Controls whether per-tenant concurrent-call caps and suspended-tenant blocking apply to live calls. Default OFF. Set Log first to watch [PLAN-LIMIT:log] lines (“would block”) without affecting calls; only switch to Enforce after a live-call test, since it rejects calls with 486 Busy.
Self-service signup
Default OFF. When ON, a public signup that confirms its email (single-use link, 24h) auto-creates a trial tenant + starter extension and emails the client their credentials — no staff step. Leave OFF to keep every signup a manual review on the Signups page.
Tenants
#
Tenant
Plan
Status
Exts
Subscription
Renews
Actions
“Checkout link” creates a Stripe-hosted subscription checkout for the tenant’s plan; “Portal” opens Stripe’s manage/cancel page (both need Stripe enabled + a price ID). “Suspend/Activate” gates the tenant’s calls when enforcement is on; “Trial” sets the trial end date.
Usage this month
Outbound calls + minutes per tenant — the foundation for overage billing once plan allowances and Stripe are live.
Tenant
Plan
Calls
Minutes
Plan pricing
Set the monthly price, included minutes, and per-minute overage for each plan. Drives the statements below; once Stripe is live these feed real invoices.
Plan
Monthly $
Included min
Overage ¢/min
Active
Statements
Current-month charge per tenant = plan price + overage on minutes beyond the plan allowance. Past months auto-save on the 1st; you can also save the current month now.
Tenant
Plan
Minutes
Overage min
Plan $
Overage $
Total $
Saved statement history
Month
Tenant
Plan
Minutes
Total $
Generated
Welcome email
Send yourself a sample of the client welcome email (dummy credentials) to review the template before enabling client sends on the Signups page.