Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Currency Conversion updates #992

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 39 additions & 12 deletions docs/meshstack.billing-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -510,28 +510,55 @@ let example

## Currency Conversion

In order to simplify multi-cloud governance, the best practice is to have a single chargeback currency. meshStack simplifies the chargeback process with it's automatic currency conversion capability. Regardless of the original currency from cloud providers (e.g. AWS in USD) chargeback statements will be converted to a single currency. Please be aware that by now we are supporting conversion of different currencies such as USD, CNY, TWD, CAD, INR to **Euro** only.
In order to simplify multi-cloud governance, the best practice is to have a single chargeback currency. meshStack simplifies the chargeback process with it's automatic currency conversion capability. Regardless of the original currency from cloud providers (e.g. AWS in USD) chargeback statements will be converted to a single currency.

You have two options to enable currency conversion for chargebacks and usage reports:
>Note: Currently, currency conversion supports various currencies (USD, CNY, TWD, CAD, INR, etc.) but converts **to Euro only**.

1. **Default converter** fetches rates from [frankfurter.app](https://www.frankfurter.app/), which publishes exchange rates from the European Central Bank. To enable the default converter, simply activate the toggle in the Financial Tab on the Settings page
2. If your organization has its own rates, you can utilize your **Own converter**, which sends rates to meshStack via API. Simply turn off the toggle button in the Financial Tab of the Settings page and reach out to our support team [email protected]. We will support you in connecting your own converter to meshStack.
### How to Set Up Currency Conversion

For chargebacking, we use the daily exchange rate from the day your statement is finalized, regardless of whether you're using your own converter or the default one. For example, your chargeback finalization day is March 31st, and the USD to Euro rate on that day is 0.93, then all March chargeback statements in USD will be converted and finalized at this rate.

> Please be aware that activating the default converter or adding your own will only impact future data. Past finalized chargeback statements and usage reports won't be retroactively converted to the single currency. So, if you want to enable currency conversion for the current month, make sure to connect or activate it before finalizing chargebacks for that month.
Navigate to the Financials tab of the Settings Page in the Admin area to choose currency conversion type for chargebacks and usage reports:

If your meshStack is hosted in a private environment and has permissions to make external requests, you can activate the default converter using the toggle button on the Settings page, as mentioned earlier. If external requests are restricted, you have the option to enable meshStack to communicate with the Frankfurter API through Firewall rules. Alternatively, if no conversion is desired for chargebacks, you can choose not to apply any conversion by simply turning off toggle button in the Financial tab of the Settings page.
**meshStack Default Exchange Rates**
- Fetches rates from [frankfurter.app](https://www.frankfurter.app/), using exchange rates from the European Central Bank.
- **To enable**:
- Go to the Financials tab and select **meshStack default exchange rates**.
- If meshStack is hosted privately, ensure it can make external requests (configure firewall rules if needed).
- If external access is restricted and configuration is not done in meshStack, **currency conversion will not apply**.

**Custom API Exchange Rates**
- Organizations can use their own rates via API.
- **To enable**:
- Go to the Financials tab and select **Custom API Exchange Rates**.
- Contact **[email protected]** early to set this up before chargeback finalization.
- If no rates are provided by the finalization date and the currency converter is turned on, **meshStack default exchange rates** will apply for that month.
PolinaSadykova marked this conversation as resolved.
Show resolved Hide resolved
PolinaSadykova marked this conversation as resolved.
Show resolved Hide resolved

### Multi-Currency

If you decide not to use currency conversion and prefer to have multiple currencies in chargeback statements, simply disable the toggle on the Financial Tab in the Settings page.
For chargeback, we use the daily exchange rate from the day your statement is finalized, regardless of whether you're using your own converter or the default one. For example, if your chargeback finalization day is March 31st, and the USD to Euro rate on that day is 0.93, then all March chargeback statements in USD will be converted and finalized at this rate.

The following product functionalitities do currently not support multi-currency scenarios:

- **Detailed Tenant Usage Report**: Detailed tenant usage reports (available for OpenShift, OpenStack, Cloud Foundry and OSB Services) offer additional detail on a Tenant Usage Report. However, the net amount aggregation assumes all line items are in EUR. This can create confusion if the underlying Tenant Usage Report uses different or multiple currencies.
- **Payment Methods**: Amounts specified on payment methods are currently only in EUR.
### Key Points: Currency Converter Usage & Limitations

When you choose the currency converter type and **turn it ON** then you will have all your open chargebacks and usage reports converter to euro. if you choose your own API exchange rate

By default, the currency converter is **off**, meaning all chargebacks and usage reports are in their original cloud provider currency.
If you turn on the currency converter and later decide to turn it off, all future chargebacks, as well as past finalized chargebacks, will revert to being displayed in their original currency.

**Limitation**
PolinaSadykova marked this conversation as resolved.
Show resolved Hide resolved
1. **Future-only impact**:
Currency conversion only applies to data after activation. Past finalized chargebacks and usage reports remain in their original currency.
2. **Euro-only conversion**:
Currently, conversion supports **only to Euro** but we plan to support other currencies in the future.
3. **Payment Methods**:
Payment method amounts are currently limited to EUR, but we plan to support additional currencies in the future.
4. **Prices for Platforms and Building Blocks**
Currently, prices can only be set in EUR, but we plan to support other currencies in the future.
5. **Known Issue with Timing**:
If a tenant has costs in a month **before activation** and no further costs are recorded afterward, those costs will remain in the original currency.
- **Example**: Tenant incurs USD costs on March 7. The converter is turned ON on March 10 and no additional costs occur for this tenant before the finalization date. Tenant ABC’s costs stay in USD.
6. **Known Issue Detailed Tenant Usage Report**:
Detailed tenant usage reports (available for OpenShift, OpenStack, Cloud Foundry, and OSB Services) provide additional insights, but even with currency conversion enabled, they continue to display the original currency from the provider.

PolinaSadykova marked this conversation as resolved.
Show resolved Hide resolved



Expand Down
Loading