Currency can be set at three levels in Turnstile: the plan, the quote, and the subscription.
A plan has a default currency set in its billing details.
When you create a quote or subscription from a plan, you can override the plan's default currency for that individual quote or subscription.
Once a subscription is created, its currency is locked and cannot be changed.
All invoices generated from a subscription are billed in the same currency as the subscription. Currency cannot be mixed within a single subscription.
Currency and Stripe
If your account uses Stripe for invoicing or payment collection, Turnstile validates the currency on your quote or subscription against the currencies your linked Stripe account supports.
Stripe determines which currencies an account can settle in based on the account's home country and default currency. For example, a Stripe account with a USD default currency may be able to settle in USD and CAD, but not EUR.
Bill in a currency your Stripe account does not support
If you need to bill a customer in a currency that your primary Stripe account does not support, you can connect a second Stripe account configured for that currency and assign it to a separate billing entity.
To create an additional Stripe account and billing entity:
Create the additional Stripe account by going to Settings > Integrations and clicking into the Stripe settings.
Click Connect Stripe account to add a new Stripe account.
Once the new Stripe account is created and configured, go to Settings > Quoter settings and click Create new entity to create a new billing entity. Link it to the Stripe account that supports the currency you need.
When building your quote, select the new billing entity from the entity dropdown in the top right corner of the quote.
The quote will then be processed through the Stripe account associated with that billing entity, and the currency validation will apply to that account.