Plan overview
A plan defines how your products are priced and billed. It groups pricing, billing cadence, feature access, commitments, and invoicing rules. Plans often reflect your pricing page, but can also model custom or enterprise agreements. To bill a customer, a plan must be assigned to a subscription.Plan structure
- Dashboard
- API
A plan defines:
- The features customers can access
- The prices they pay
- How and when they are invoiced
- Basic informations
- Plan
name - Plan
code - Plan
description - Taxes applied at the plan level
- Plan
- Plan model
- Billing
interval(monthly, yearly, etc.) - Base amount and currency (subscription fee)
- Whether the subscription fee is billed
in advanceorin arrears - Trial period (in days), applied to the subscription fees
- Billing
- Fixed charges (add-ons)
- Charge
model - Pricing
propertiesdefined by the charge model - Whether the fixed charge is billed
in advanceorin arrears - Taxes applied to the fixed charge (overriding plan-level taxes if needed)
- Charge
- Usage-based charges (billable metrics)
- Charge
model - Pricing
propertiesdefined by the charge model - Optional spending minimum
- Whether usage charge is billed
in advanceorin arrears - Taxes applied to the charge (overriding plan-level taxes if needed)
- Charge
- Minimum commitment
- A minimum amount applied across all invoices generated by the plan within a billing period.
- Entitlements
- Feature access and additional metadata attached to the plan.
- Progressive billing
- Automatically triggers invoices when cumulative usage reaches predefined thresholds.
Editing Plans
A plan can be fully edited as long as it is not linked to any active subscription. Once a plan is assigned to a customer, some changes are still allowed. You can still update prices, add or remove charges, and adjust charge settings. However, core properties become locked, such as: billing interval, advance vs arrears configuration, proration rules. Some updates may trigger invoice issuance and will impact all subscriptions using the plan. If a plan is linked to overridden subscriptions, you can choose whether changes should apply to them. When updating a plan via the API, usecascade_updates: true to propagate updates to overridden subscriptions.
To update plans already linked to customers, you must either:
- Remove all active subscriptions, or
- Create a new plan and migrate subscriptions