Anatomy of a Plan
Plans define what you’re selling and how much it costs. Each plan has:- Name & Description - What appears to customers
- Interval - Billing frequency (monthly, yearly, etc.)
- Prices - Amount in one or more currencies
- Features - What’s included (for display)
Create a Plan
string
required
Unique per tenant (e.g.
pro-monthly-inr). Encode the currency in the
code when you sell the same plan in several currencies.integer
required
Minor units of
currency — 499900 is ₹4,999.00.string
Optional HSN/SAC for GST — each invoice line for this plan is taxed at
this code’s rate; empty falls back to the tenant SAC.
Pricing Models
A plan always carries a flat recurring price (amount + currency).
Everything else — seats, tiers, metered usage — composes on top of it.
- Flat rate
- Per-seat
- Tiered / metered
- Hybrid
One fixed price per period. This is the plan itself:
amount is in minor units — 99900 is ₹999.00.Plan Intervals
For custom intervals, use
interval_count:
Trials
Trials are set per subscription, not on the plan — passtrial_days
when creating the subscription and it starts in trialing, converting to
active (and generating its first invoice) when the trial ends:
Trial-ending reminder emails go out automatically before expiry — see
Subscriptions → Free Trials.
List Plans
Retrieve plans with search and pagination:Filter Parameters
Multi-Currency Pricing
A plan’s flat price is one currency — sell the same tier in several currencies with per-currency plan codes, and let the smart router pick the gateway per currency:Archive a Plan
Archived plans can’t be used for new subscriptions but existing subscriptions continue unaffected:Plan Versioning Strategy
When you need to change pricing, you have two options:
The recommended approach is to create a new plan for each pricing change. This gives you a clear audit trail and avoids unexpected charge changes for existing customers.