Plans and Prices
Once you have defined your Product
and the Billable Metrics
you want to charge for, the next step is to set the actual cost. This is done through Plans
and Prices
.
Plans
A Plan
acts as a rate card for a specific Product
. It groups together a set of Prices
, where each Price
defines the cost for a specific Billable Metric
belonging to that Product
.
- Association: A
Plan
is always associated with exactly oneProduct
. - Purpose:
Plans
are used to createSubscriptions
forCustomers
. ASubscription
essentially links aCustomer
to aPlan
, defining the rates they will pay for using the associatedProduct
. - Flexibility: You can create multiple
Plans
for a singleProduct
to offer different pricing tiers or customized deals.
Tiered Plans: For a self-service product, you might create Starter
, Growth
, and Enterprise
Plans
, each with different Prices
(or included quantities) for the same Billable Metrics
.
Sales-Led Deals: For enterprise customers, you might create a unique Plan
per customer, reflecting negotiated Prices
.
Plan Properties
When creating a Plan
, you define several key properties:
The ID of the Product
this Plan
applies to.
The internal name for the Plan
(e.g., “Pro Tier”, “Customer X Custom Plan”).
The name of the Plan
as it should appear on customer invoices and statements (e.g., “Professional Plan”).
A brief description of the Plan
, often shown during checkout.
How often usage is aggregated and statements/invoices are generated (e.g., monthly
, yearly
).
Note: Payments for usage are still real-time via Wallets.
The currency for all Prices
within this Plan
. Currently only USD
is supported.
A list of Price
object IDs associated with this Plan
. Each Price
must correspond to a Billable Metric
from the Plan
’s Product
. A Billable Metric
cannot be listed more than once in a single Plan
.
Prices
A Price
object defines the cost per unit of a specific Billable Metric
within the context of a Plan
.
- Association: A
Price
links aBillable Metric
to a specific pricing structure. - Context:
Prices
only exist within aPlan
.
Price Properties
The ID of the Billable Metric
this Price
applies to.
The pricing model used (e.g., standard
, dynamic
, volume
). See details below.
How this pricing component should appear as a line item on invoices (e.g., “API Calls”, “Compute Time”).
An object containing the specific parameters for the chosen model
. See details below.
Pricing Models
Sulu supports several pricing models to cater to different business needs.
Model: standard
A fixed price per unit of the Billable Metric
.
Properties:
The fixed cost per unit of the associated Billable Metric
in the Plan
’s currency (e.g., “0.001” for $0.001).
Example: $0.01 per API request.
Model: standard
A fixed price per unit of the Billable Metric
.
Properties:
The fixed cost per unit of the associated Billable Metric
in the Plan
’s currency (e.g., “0.001” for $0.001).
Example: $0.01 per API request.
Model: dynamic
The price for a usage event is determined at the time the usage is reported, rather than being fixed in the Plan
.
Properties:
The maximum price that can be charged per unit in a single Usage Event
.
The minimum price that can be charged per unit in a single Usage Event
.
How it works: When reporting a Usage Event
for a Billable Metric
priced with the dynamic
model, you must include the price
field within the event’s properties
array. This price will be charged for that specific event, provided it falls within the minPrice
and maxPrice
defined here. See Usage Events for details.
Example: Charging for compute time based on the spot price of an instance at the time of execution.
Model: volume
The price per unit changes based on the total quantity consumed within the current billing period.
Properties:
The default price per unit to apply if the volume function doesn’t specify one (e.g., for the first unit).
An object defining the parameters for the specific volume function family used.
Volume Function Families
The parameters
object structure depends on the chosen function family.
With Products
, Billable Metrics
, Plans
, and Prices
defined, you are ready to onboard users. Learn how in Customers and Subscriptions.