- No conversion logic on your side: price, meter, and report in your own unit. Flexprice converts once, at invoicing.
- Unchanged settlement: invoices are denominated in fiat, so payment providers, accounting exports, and ledger integrations are unaffected.
- Defined once, used everywhere: a currency is configured in one place and available to prices, subscriptions, wallets, addons, and coupons.
Custom currency and pricing units address different problems. A pricing unit applies to a single price and is converted when that price is created. A custom currency is defined once and applies to every entity created in it, including subscriptions and wallets.
Configure
Define the currencies you need for your environment in thecustom_currency_config setting. See Settings for the full schema and validation rules.
Conversion factors
A conversion factor states how much fiat one unit of your currency is worth."usd": "0.10", one credit is worth $0.10, so 150 credits invoice as $15.00.
What to make sure
Give every custom currency a factor for the same fiat currencies. If one currency defines
inr and another does not, the configuration is rejected.- Currency codes are immutable. Prices, subscriptions, and wallets store the code as their currency. Supplying a different code adds a currency rather than renaming the existing one.
- A subscription bills in one currency. A plan can carry charges in both a custom currency and fiat. A subscription bills only the charges matching its own currency.
- Names and symbols are safe to change. They are read at display time and are not stored on any entity.
Invoicing
Invoices are denominated in thedefault_fiat_currency you configure. The amounts in your currency are retained on the invoice and on each line item, so both are available on the API response and in the dashboard.

