Why Lifecycle Matters
The subscription lifecycle determines:- When customers are billed - Invoices generate based on lifecycle events
- What access customers have - Features unlock/lock based on status
- How changes are applied - Upgrades, downgrades, and cancellations follow specific rules
- What your revenue looks like - MRR, churn, and expansion metrics depend on lifecycle tracking
Lifecycle States
| Status | Description | Billing | Customer Access |
|---|---|---|---|
| Draft | Subscription created but not started | No billing | No access |
| Pending Approval | Awaiting internal approval (if enabled) | No billing | No access |
| Active | Customer is subscribed and being billed | Active billing | Full access |
| Canceled | Subscription ended | No future billing | Access revoked |
Creating a Subscription
- Navigate to Customers → select customer
- Click Add Subscription
- Select the plan
- Configure billing details:
- Start date (immediate or scheduled)
- Billing frequency
- Contract term (if applicable)
- Click Create
Activating a Subscription
A draft subscription must be activated to start billing:- Open the subscription
- Review the configuration
- Click Activate
- The customer’s billing cycle begins
- The first invoice is generated (if applicable)
- The
subscription.activatedwebhook fires
Plan Changes (Upgrades & Downgrades)
Upgrading a Customer
When a customer needs more features or capacity:- Open the subscription
- Click Change Plan
- Select the new (higher) plan
- Choose when the change takes effect:
- Immediately - Proration applies
- At renewal - No proration, changes at next billing cycle
- Review the proration preview
- Click Confirm
Proration Explained
When a customer upgrades mid-cycle, Alguna calculates the fair amount:| Scenario | Calculation |
|---|---|
| Day 15 of 30-day cycle | 15 days remaining |
| Old plan: $99/month | Credit: 15 × 49.50 |
| New plan: $199/month | Charge: 15 × 99.45 |
| Net charge | 49.50 = $49.95 |
Downgrading a Customer
When a customer moves to a lower plan:- Open the subscription
- Click Change Plan
- Select the new (lower) plan
- Choose timing:
- Immediately - Credit applied to balance
- At renewal - Recommended to avoid complexity
- Click Confirm
Adding or Removing Seats
For per-seat pricing models:- Open the subscription
- Click Update Quantity
- Enter the new seat count
- Choose when the change applies
- Review proration (for immediate changes)
- Click Confirm
| Change | Timing | Billing Impact |
|---|---|---|
| Add seats | Immediate | Prorated charge for remaining period |
| Add seats | At renewal | Full charge starts next cycle |
| Remove seats | Immediate | Credit to balance |
| Remove seats | At renewal | Lower charge next cycle |
Renewals
How Renewals Work
By default, subscriptions automatically renew at the end of each billing period:- Renewal date approaches
- Invoice generates (per your invoice timing settings)
- Payment collected (if auto-pay enabled)
- New period begins
Configuring Renewal Behavior
- Navigate to Settings → Subscriptions
- Configure defaults:
- Auto-renew - On/off by default
- Renewal notice - Days before renewal to notify customer
- Failed payment handling - Retry schedule
For Individual Subscriptions
- Open the subscription
- Click Edit → Contract Terms
- Toggle Auto-renew
- Set renewal term length (if different from initial)
Cancellations
Cancellation Options
| Type | When It Ends | Refund | Use Case |
|---|---|---|---|
| End of period | At next renewal | None | Standard cancellation |
| Immediate | Right now | Optional | Urgent situations |
| Scheduled date | Specific future date | None | Contract end dates |
Canceling from Dashboard
- Open the subscription
- Click Cancel Subscription
- Select cancellation type
- Add cancellation reason (for analytics)
- Choose refund option (if immediate)
- Click Confirm
What Happens After Cancellation
- End of period: Customer retains access until the period ends
- Immediate: Access revoked immediately
- Both trigger the
subscription.canceledwebhook when the cancellation takes effect
Lifecycle Webhooks
Alguna sends webhooks at key lifecycle moments so your systems stay synchronized:| Event | When It Fires |
|---|---|
subscription.activated | Subscription becomes active |
subscription.started | New billing period begins (including renewals) |
subscription.cancelation_scheduled | Customer scheduled a future cancellation |
subscription.canceled | Subscription ended |
invoice.issued | Invoice finalized and sent |
invoice.paid | Payment successful |
Best Practices
Schedule Downgrades
Schedule downgrades for period end to avoid credit complexity.
Capture Reasons
Always collect cancellation reasons for retention analysis.
Send Confirmations
Email customers when cancellations are scheduled with the effective date.
Retention Offers
Present offers during cancellation flow before it completes.
Next Steps
Proration
Deep dive into proration calculations.
Versioning
Learn about subscription versioning.