Currency Conversion with Prescribed Exchange Rates
In some countries you are obliged to use the exchange rates published by the national bank for legal or VAT reporting when the transactional amounts are in foreign currencies.
However, often you use a central data provider for the exchange rates, such as Bloomberg or Reuters, and these rates may not be exactly the same rates as the national bank uses.
In SAP S/4HANA Cloud, there are specific configuration settings you can make to ensure that in some company codes the exchange rates provided by the national bank are used for calculating the value in the company code currency.
I will show you how to set this up on S/4HANA Cloud with an example.
In our example we assume that we want to ensure that the exchange rate used in a Hungarian company will be the exchange rate published by the Hungarian National Bank (Magyar Nemzeti Bank).
There are several configuration settings we need to look at:
- We need a new exchange rate type that can be used instead of the standard rate “M” and look at the settings for reference currency and inverted rates
- We need to assign the new exchange rate type to all the exchange rate pairs where we want to use the new rate type
- We need to change the default exchange rate type used in the currency type for the calculation of the Group Currency
Let us start with the new exchange rate type:
We need to create a new exchange rate type and understand its settings. To do this, go to the Manage Your Solution app and go to Configure Your Solution → Finance → General Settings → Currencies → Check Exchange Rate Types (ID: 102349).
Create a new exchange rate type as shown here:
Here we have created a new exchange rate type for the rates from the Hungarian National Bank called ZH.
There are two important fields in this screen we need to understand:
Reference Currency: To limit the number of combinations of exchange rates, you have to maintain a reference currency and then you only need to maintain the exchange rates against this currency. All other combinations of exchange rates needed can then be calculated using the reference currency.
For example, let us assume that your reference currency is USD. You then want to translate 100.00 GBP into the local currency for a subsidiary which is using EUR. The exchange rate table contains the following entries:
These values give the following (simulated) exchange rate:
Important: If the reference currency is set, then this is used over any maintained direct rates!
Inverted Rates: This indicator shows that if an exchange rate entry is missing in the system for the required translation from one currency into another, the inverted exchange rate relationship will be used.
For example, if an entry is missing for the translation of USD into GBP in the system, then the inverse rate entered for the translation of GBP into USD will be used for that exchange rates type.
Next we need to assign the exchange rate type to the exchange rate pairs where we need the system to use the national exchange rate.
To do this, go to the Manage Your Solution app and go to Configure Your Solution → Finance → General Settings → Currencies → Define Standard Quotation for Exchange Rates (ID: 102611)
Now the system will use “ZH” rate type instead of “M” when converting from EUR to HUF and from GBP to HUF.
It is important that you haven’t used a reference currency for the exchange rate type “M”, because then this will be used instead of the alternative exchange rate type.
Finally, we need to be sure that the group currency amount is correctly calculated in case we have a transaction where the transaction currency is the same as the group currency. This is only relevant if you calculate the group currency from the company code currency. If you calculate the group currency directly from the transaction currency, please skip this step.
For example, if your group currency is USD and you have an invoice for 100 USD, which will then be converted to 25,000 HUF for the company code currency, then you also want that the group currency amount should be 100 USD.
You would need to define the currency type for the company code to use the newly created exchange rate type.
As you can see from the screenshot above, it has been defined that the source currency for the group currency (30) is the company code currency (10) and the exchange rate that should be used to convert from the company code currency to the group currency should not be “M” but “ZH”.
You do this in the Manage Your Solution app and go to Configure Your Solution → Finance → General Settings → Currencies → Define Currency Settings for Ledgers and Company Codes (ID: 103379).
You do this in Manage Your Solution app and go to Configure Your Solution → Finance → General Settings → Currencies → Check Exchange Rate Types (ID: 102349)
Previously, when we defined ZH, we also set the Inverse Rate checkbox. This means that you should only maintain the rates to HUF and not the rates from HUF to the other currency rate types. This means that you only maintain that the rate from USD to HUF is 250 (as direct quotation) and not that the rate from HUF to USD is 250 as indirect quotation (= 0.004). By not maintaining the rates from HUF to USD but letting the system calculate the rates, you ensure the use of the inverse exchange rate to the rate that was used when calculating the company code currency value.
Now we have set up the system to use an alternative exchange rate type. Let us look at an example and how the amounts are calculated.
Let us assume that we have the following exchange rates in the system:
|Exchange Rate Type||Date||From||To||Rate|
|M||May, 1, 20YY||USD||HUF||251 (Direct quote)|
|M||May, 1, 20YY||HUF||USD||251 (Indirect quote)|
|ZH||May, 1, 20YY||USD||HUF||250 (Direct quote)|
We now post a journal entry for 100 USD and the following calculations will take place:
As you can see, the system has used to alternative exchange rate type we configured for the calculation of the company code currency and group currency amounts during the posting of the journal entry.