Currency exchange (FX) rate management


This article details how the AppXite platform supports multi-tier currency conversion, enabling partners at each level to specify exchange rates.

In this article:

For example, Distributor can set a foreign exchange rate between Distributor and Seller. Seller on his level can also set the foreign exchange rate between Seller and Customer and have the ability to invoice the Customer in a different currency than the invoice provided by Distributor.

Currency conversion is applied to both: In-Price and Retail Price. If Distributor has configured prices based on In-Price while Seller has configured prices based on Retail price full currency conversion chain is done for both prices.

Starting point will always be contract currency between Vendor and direct bill partner. For example, if Distributor or Direct Seller has an agreement with Microsoft in SEK, the system will calculate the incoming invoice in SEK currency. In the next step, if Distributor or Direct Seller wants to invoice its partners in a different currency then they can specify the exchange rate under settings between SEK and any other currency and the system will use that rate for invoice calculation and display in catalog.


Support for any currency 

Currency exchange rate management includes the ability to use available currencies provided by provider, as an example:


In case a specific currency is required Custom source can be used:


In case the required currency is not available under Custom currency source it can be requested to AppXite support by sending email to


Update type

Update frequency

Section 1

In effect

Available currencies












Manual or API





Dynamic Currency Pricing Update

Dynamic price update for ECB and Currency Layer:

In case ECB or Currency Layer is used as a source for currency rate, it will update the price in catalog daily. This is useful functionality for partners who are exposed to substantial currency fluctuation and thus can hedge their exchange rate exposure. In case the partner requires a fixed rate for a month then Custom rate source should be used. Custom rate source is manually updated by partner and thus not subject to dynamic update.
Currency Layer rates are updated once daily at the start of the day, custom rates are immediately updated after editing on the UI, and ECB rates are updated once daily at 16:00 Central European Time.

Currency rate fixed term: 

In case the currency exchange rate is updated it will be applied to UI and invoice calculation. Currently, there is no possibility to lock in a set exchange rate for a fixed period. In case Custom Rate source will be updated it will be used for invoice calculation and price display in offer catalog.

Small discrepancies in invoices and shown prices for subscription:

With the launch of new functionality (currency exchange chain) there can be small discrepancies in invoices and displayed prices. For example:

Price in pricelists is 100 USD and there are no mark-ups applied in the chain. Vendor to Distributor contract currency is in USD, Distributor invoices Seller in ZAR and Seller invoices the customer in USD. In this case, invoice contract chain would be USD -> ZAR -> USD.

If currently price for subscription for Customer is 100 USD, then with new functionality price for subscription for customer is calculated from USD to ZAR and then again to USD. In such cases result can have small difference because of rounding e.g., 99.8 or 100.2 USD.

When currency exchange rate is not configured:

In case currency exchange rates are not configured, but invoice contract chain requires a currency conversion system will use Currency Layer foreign exchange rate as a default option.

Corrections from the past period:

If invoice contract currency is changed it will affect corrections. Corrections for invoiced amount from past period will now be calculated in the updated currency.

Currency Code in Seller onboarding form:

In Seller onboarding form partners have available field “Currency Code”. Updating this field does not change invoice contract currency. Seller will inherit invoice contract currency from the parent contract which is between vendor and direct bill partner.

Taking expired Pricing Plan if correct one is not found:

Platform requests latest pricing plan, in case there has been an error with pricing plan insert system logic is to take pricing plan from the last period where it exists. This is only as a fallback option in case there has been a bug with price insert.

Adding and deleting currency exchange rate configurations:

If you add currency exchange rate configuration it will affect prices in catalogue.

If you delete the exchange rate configuration, it will be applied until next day.

Calculation Scenarios


Example 1: Vendor (EUR) –> Distributor (USD) –> Seller 1 (USD) –> Customer A

As a distributor my default currency is EUR and I’m receiving invoice from the vendor in EUR, and I need to issue invoice to seller in USD, which then issues invoice to end customer in USD.

1. In distributor platform, go to: SETTINGS – Currency & Payments – Currency, and click add:


2. Choose currency, source (see section 3. of this article for list of different options), tick the checkbox if requirement is to enter rate manually and chosen source is ‘Custom’ and enter rate, and finally add surcharge if it needs to be added on top of set exchange rate in case reserve needs to be added to account for currency fluctuations or any other purpose.


Example 2: Vendor (EUR) –> Distributor (USD) –> Seller 1 (CAD) –> Customer B

As a distributor my default currency is EUR and I’m receiving invoice from the vendor in EUR, and I need to issue invoice to seller in USD, which then issues invoice to end customer in CAD.

What will be the price charged for 100 EUR of product to the end customer, assuming markup between distributor and seller is 5% and between seller and end customer 3%. And rate for currency pair EUR to USD is 1.01, and for USD to CAD is 1.35.

Vendor to Distributor: 100 EUR * 1.00 (exchange rate) * (1+0%) (markup) = 100 EUR

Distributor to Seller: 100 EUR * 1.01 (exchange rate) * (1+5%) (markup) = 106 USD

Seller to Customer: 106 USD * 1.35 (exchange rate) * (1+3%) (markup) = 147 CAD


Example 3: Vendor (EUR) –> Distributor (USD) –> Seller 1

Partner has purchased O365 licenses on 15.11.2022. Vendor is invoicing in EUR while Distributor is invoicing Seller in USD.

In first month, Distributor has not configured any exchange rate between USD and EUR currency. As such platform will use default exchange rate by Currency Layer. Exchange rate date will be 15.11.2022. corresponding to Charge Start Date.

On 17.11.2022. Distributor configures exchange rate in platform between USD and EUR currencies. During next month invoice calculation platform will use custom exchange rate source for invoice calculation.


Charge Start Date

Charge End Date



Office 365




Currency Layer

Office 365







What exchange rate is used for issuing invoices?

Currency rate date:

1. For usage-based subscriptions platform uses foreign exchange rate: Invoice date -1 day.
2. For license-based subscriptions platform uses foreign exchange rate: If charge start date > subscription start date = charge start date. Otherwise, subscription start date.
3. For legacy Vendor offers (SkyKick, Bittitan, Printix) with calculation based on billing engine platform uses foreign exchange rate based on charge start date + 1 day.

Can I use my own exchange rate source to automatically update rates?

Yes, your own exchange rate source can be connected by choosing ‘Custom’ source and connecting via API.

What exchange rate is used if no rate is setup on the platform?

If no exchange rate is setup is configured default foreign exchange rate is used provided by Currency Layer.

Known limitations

1. Please wait 2-3 seconds before saving the changes than click 'Save'. Portal will need that time to record all updates that have been made.


To explore more see Use Case


Was this article helpful?

0 out of 0 found this helpful

Add comment

Please sign in to leave a comment.