Subscription license
A subscription license grants access for a defined term—monthly, annual, or custom. Access ends when the term expires without renewal. Subscriptions are online-first so billing, revocation, and compliance stay aligned with server state.
Renewal term
Duration or explicit expiry date at issue.
Renewal UX
Warn before expiry; renew after payment.
Online-first
Server reflects payment and revocation.
Business model
Subscription is the default for SaaS and recurring revenue: customer pays per period; vendor delivers continuous service and feature updates.
- Monthly / annual SaaS — tiered plans via entitlement sets (Basic, Pro, Enterprise).
- Seat-based SaaS — combine with max activations per subscriber.
- Maintenance subscription — updates/support while perpetual use right continues elsewhere.
- Usage + subscription — optional feature usage telemetry on top of time term.
Benefits
- For vendors — predictable recurring revenue; instant revoke on churn; analytics on active subscribers.
- For customers — lower entry cost; cancel at term end.
- For finance — expiry dates map to invoice cycles; extend via billing or dashboard after payment.
Logic of use
Subscription stores expiry (from duration at create or explicit date). Online validation checks server: expired, revoked, or past-due subscriptions fail even if local file still exists. Renew by extending expiry—customer app sees new term on next validate.
Pair renewals with Webhooks or billing integration so payment success automatically extends the license row.
Example lifecycle
Customer subscribes Jan 1. Operator issues Subscription, 365 days, entitlement “Pro”. App validates online monthly. Dec 15: renewal email. Jan 1 payment succeeds → webhook extends expiry +365 days. If payment fails → expiry Jan 1 → app shows renew screen.
Customer cancels mid-term with no grace. Support revokes license from Overview. Next online validation fails even before calendar expiry.
Lifecycle stages
- Issue — type Subscription + term.
- Active — within subscription window.
- Expiring soon — renewal campaigns.
- Renew — extend expiry after payment.
- Expired — term ended without renewal.
- Revoked — forced stop (fraud, chargeback).
Dashboard workflow
- Create wizard → Subscription → duration or expiry in step 2.
- Monitor Activations/Sessions for seat enforcement.
- Edit expiry for manual renewals; Analytics for subscriber health.
