How Add-ons Work
- You define a Credit Pool on a plan — this sets the tenant’s base allocation for a resource.
- You create an Add-on that maps to the same
pool_key. - You assign the add-on to one or more plans.
- Tenants on those plans can purchase the add-on to get extra credits in that pool.
Add-on Fields
Credit Expiry Types
Pricing
Each add-on has per-currency pricing stored inaddon_pricing. A tenant can only purchase an add-on in the same currency as their subscription. Set up at least one price per currency you support.
Plan Assignment
An add-on is not visible to tenants until it is assigned to their plan. This lets you offer different upsell catalogs per pricing tier — for example, the Starter plan can only buy “Small Token Packs” while the Pro plan can access “Large Token Packs” too.Soft Deletion
Deleting an add-on with active purchases triggers a soft-delete (is_active = false). The add-on disappears from the purchase catalog but existing credit grants remain valid. Hard deletion happens only if there are no active purchase records.
Admin Grants
Admins can grant add-on credits to a tenant without charging them. This is useful for:- Compensating for a service issue
- Running promotions
- Onboarding credits
amount_charged = 0 and appear in the purchase history alongside paid purchases.