Add charges in custom currency
1
Open the plan
Product catalog → Plans → select a plan (e.g. Pro).
2
Add charges
In the Charges card click Add charge. Choose Fixed for a fixed amount per period (e.g. 15 credits/month) or Usage to charge by usage, and click Continue.
3
Select the price unit
In Price unit, select your price unit (e.g. Credits (CRD)). Currency then follows the unit’s base currency. Leave Price unit on None (currency) to price in a standard currency such as USD or INR.
4
Set the charge
Set Display name for the charge (e.g. feature name), then enter the amount in the custom unit; the field reads Amount (CRD). Click Create charge.


Use custom currency in plans and prices
You can add charges from the dashboard (see above) or create prices via the API below. In both cases you choose your Price Unit and enter amounts in that unit; Flexprice converts to base currency for billing.API
1
Set the price to use your unit
In the create-price request (
POST /v1/prices), set price_unit_type to CUSTOM and include price_unit_config.2
Set price_unit and amount or tiers
In price_unit_config set price_unit (your unit’s code, e.g.
CRD). For a fixed amount use amount; for tiered pricing use price_unit_tiers only (not the top-level tiers field).FIXED), billing_cadence (e.g. RECURRING), and invoice_cadence (e.g. ADVANCE or ARREAR). Below shows the custom-pricing–relevant fields:
conversion_rate = "0.01", 100 CRD = 1.00 USD. Flexprice stores both the custom amount and the base-currency amount and uses base currency for billing.
Billing models
For more on fields and endpoints, see the API Reference and Price Unit.
Create Wallet using custom pricing unit
For a wallet that uses a custom price unit, Flexprice does not perform any conversion at wallet creation: it uses the price unit’s conversion rate as-is. If you pass conversion_rate in the create-wallet API request, it is ignored when price_unit is provided; the price unit’s conversion rate is always used. The wallet’s currency and conversion rate come only from the selected price unit. The dashboard’s Create wallet dialog offers standard currencies only, so a wallet in a custom price unit is created through the API. API: To create a wallet in custom currency via the API, include price_unit (the unit’s code, e.g.fpc or CRD) in the request body. Flexprice sets the wallet’s currency to the price unit’s base currency and its conversion rate from the price unit. The price unit must be Active; otherwise the request fails validation.
Summary
- Create a price unit first with a conversion rate to base currency, and ensure it’s Active: search for Price Units in Search everything (⌘K), then click New price unit.
- Use it in a plan: open the plan → Charges card → Add charge → Fixed or Usage → Continue → Price unit → select your unit → enter the amount in your unit → Create charge.
- Use it in a wallet: create the wallet through the API with price_unit set to the unit’s code, since the dashboard’s Create wallet dialog offers standard currencies only. Balance is always shown in base currency and credits only, irrespective of whether the wallet was created with fiat currency or a price unit.

