Overview
Add-ons are optional products that customers can purchase alongside their base plan. They extend plan functionality with additional features, capacity, or services without requiring a plan upgrade.Add-on Structure
Core Fields
Unique identifier for the add-on (max 50 characters)
Display name of the add-on (max 255 characters)
Unique human-readable identifier for API lookups (max 255 characters)
Detailed description of what the add-on provides
Add-on type:
onetime: Can only be purchased once per subscriptionmultiple_instance: Can be purchased multiple times (e.g., additional user packs)
Custom key-value pairs (stored as JSONB in PostgreSQL)
Add-on status:
draft or publishedEnvironment Context
Like plans, add-ons are scoped to a tenant and environment:Tenant identifier
Environment identifier (production, staging, development)
Example Add-on
Add-on Types
- One-Time
- Multiple Instance
Single instance per subscription. Customer can only purchase once.Use Cases:
One-Time Add-on
- Premium support packages
- One-time setup services
- Exclusive feature access
- Custom integrations
- Cannot be added twice to the same subscription
- Typically toggles a feature or service on
- Pricing via single price entity
Add-on Pricing
Add-ons have their own prices, configured separately from plan prices.Pricing an Add-on
Create a price withentity_type: "ADDON":
Add-on Price
Add-on prices follow the same structure as plan prices. See Prices for full configuration options.
Multiple Pricing Options
Offer different billing periods for the same add-on:Common Add-on Patterns
Capacity Add-ons
Capacity Add-ons
Increase limits or quotas beyond the base plan.Pricing:
Storage Add-on
- $10/month per 100 GB pack
- Customer can buy multiple packs
- Track instances purchased
- Calculate total: base plan storage + (addon instances × 100 GB)
Feature Unlock Add-ons
Feature Unlock Add-ons
Enable premium features not included in the base plan.Pricing:
Advanced Analytics Add-on
- $49/month flat fee
- One-time purchase
- Check entitlements for add-on
- Enable features if add-on is active
Service Add-ons
Service Add-ons
Professional services or enhanced support.Pricing:
Onboarding Add-on
- $499 one-time charge
- Use
billing_cadence: "ONETIME"
One-Time Service Price
Usage Credit Packs
Usage Credit Packs
Prepaid bundles of usage credits.Pricing:
SMS Credit Pack
- $100 per pack (10,000 credits)
- One-time purchase, credits roll over
- Grant credits to customer wallet
- Deduct from wallet as usage occurs
Add-on Lifecycle
Add-ons and Entitlements
Add-ons can grant feature entitlements just like plans.Example: Storage Add-on
Base Plan Entitlement:- Base plan: 10 GB
- 2 instances of storage add-on: 2 × 100 GB = 200 GB
- Total: 210 GB
Best Practices
Clear Add-on Scope
Make it obvious what the add-on provides:
- “5 User Pack” (not “User Add-on”)
- “100 GB Storage” (not “Extra Space”)
- “Priority Support” (not “Premium Service”)
Match Billing Periods
Offer add-on billing periods that align with plan billing:
- If plan is monthly, offer monthly add-on
- If plan is annual, offer annual add-on pricing
- Avoid mismatched billing cycles
Use Metadata Wisely
Store business logic in metadata:
Type Selection
Choose type based on use case:
onetime: Features, services, unique capabilitiesmultiple_instance: Capacity, quotas, scalable resources
Add-ons inherit the subscription’s billing period. If a customer switches from monthly to annual billing, add-on charges adjust accordingly.
Example Configurations
Related Resources
Plans
Base plans that add-ons extend
Prices
Configure pricing for add-ons
Subscriptions
How add-ons are attached to subscriptions
Entitlements
Feature access granted by add-ons