Overview
Products and plans are the building blocks of your pricing model in Frontier. Products represent individual capabilities or resources that you charge for, while plans are logical groupings of products offered at specific prices and intervals.Products
A product is an item being sold by the platform and has a corresponding reference in the billing engine (Stripe). Products can contain multiple features and have various pricing options.Product Structure
Product Behaviors
Frontier offers three types of product behaviors that control how products are billed and consumed:1. Basic Behavior
The default behavior for standard products with no special billing logic.2. Credits Behavior
For products that offer virtual credits. When purchased, credits are automatically added to the organization’s account.When a product with
credits behavior is purchased, the credit_amount specified in the config is automatically credited to the customer’s account.3. Per Seat Behavior
For seat-based pricing where organizations are charged based on the number of users. Frontier automatically handles proration when users are added or removed.Behavior Configuration
Theconfig object provides granular control over product behavior:
| Field | Used With | Description |
|---|---|---|
credit_amount | credits | Amount of virtual credits awarded when product is purchased |
seat_limit | per_seat | Maximum number of users/seats allowed |
min_quantity | All | Minimum quantity that must be purchased |
max_quantity | All | Maximum quantity that can be purchased |
Creating a Product
Products are typically created through YAML configuration or via the API:Features
Features are individual functionalities that a product offers. They are platform-specific concepts and don’t have corresponding Stripe entities. Features enable granular control over product capabilities.Feature Structure
Defining Features
Features can be defined independently or as part of a product:When a customer purchases a product, they automatically get access to all features associated with that product. Use entitlement checks to verify feature access.
Prices
Prices define how much a product costs and at what interval it’s billed. Each product can have multiple prices for different intervals and currencies.Price Intervals
day- Daily billingweek- Weekly billingmonth- Monthly billingyear- Yearly billing
Price Structure
Billing Schemes
Flat Pricing
Standard per-unit pricing:Tiered Pricing
Pricing that changes based on quantity:graduated: Price changes incrementally as quantity increases through tiersvolume: Price determined by the total quantity, applies to all units
Usage Types
licensed: Standard licensed products (default)metered: Usage-based products where charges are calculated based on reported usage
Plans
Plans are logical collections of products offered together. They don’t have corresponding Stripe entities but help organize your pricing structure.Plan Structure
Creating Plans
Plans bundle multiple products together:on_start_credits automatically awards virtual credits when a customer subscribes to the plan. These credits can be used for pay-as-you-go features.Complete Example
Here’s a comprehensive example showing products, features, and plans working together:Best Practices
Plan Your Product Hierarchy
Start by defining your features, then group them into products, and finally bundle products into plans.
Choose Appropriate Behaviors
Use
basic for standard products, credits for pay-as-you-go models, and per_seat for user-based pricing.Set Reasonable Limits
Configure
seat_limit, min_quantity, and max_quantity to prevent abuse and guide customer choices.Offer Multiple Intervals
Provide both monthly and yearly pricing options to give customers flexibility.
Next Steps
Subscriptions
Learn how customers subscribe to plans
Entitlements
Check feature access for customers
Credits
Implement virtual credits system
Customers
Manage billing accounts