You create an Invoice in SD (Sales and Distribution), system posts correct exchange rate in FI (Financials) but the exchange rate does not match in COPA (Controlling Profitability Analysis). This Wiki explains how system calculates exchange rate in COPA and how you should check this in system.
It is not clear how system determines a different exchange rate compared to SD and FI. It is expected that exchange rate remains same across SD, FI and COPA. However the exchange rate calculation works in a different way than in other modules. Hence minor exchange rate difference can be expected. For dealing with these minor differences Note 106094 can referred.
Explanation of system behavior
According to SAP Note 429517 system checks for the following pre-conditions before calculation of exchange rate in COPA -
- Condition category - Statistical / Non-Statistical
- Currency - Operating Concern Currency / Company Code Currency / Transaction Currency
- Exchange rate Date for translation in billing document - VBRK-KURRF DAT
Exchange Rate Determination
As explained above, system uses the above conditions to determine the exchange rates in COPA. As explained in SAP Note: 429517 there are different ways COPA calculates the exchange rate depending upon the currencies. For example -
Translation for statistical conditions and for follow-up posting of billing documents into the Profitability Analysis (KE4S) -
1. Determination of the value in operating concern currency
a) Transaction currency = operating concern currency
There is no translation. The value of the transaction currency is copied.
b) Transaction currency = company code currency <> operating concern
Translation from transaction currency into operating concern currency with exchange rate type 'M'.
c) Transaction currency <> company code currency = operating concern
If the exchange rate for translation into company code currency in the billing document (VBRK-KURRF) does not differ from the exchange rate of type 'M', the system translates transaction currency of type 'M' directly into the operating concern currency. Otherwise it translates with VBRK-KURRF into company code currency and then the just determined value will be taken over into operating concern currency.
d) Three different currencies
If the exchange rate for translation into company code currency in the billing document (VBRK-KURRF) does not differ from the exchange rate of type 'M', the system translates transaction currency of type 'M' directly into the operating concern currency. Otherwise it translates with VBRK-KURRF into company code currency and then from the just determined value with exchange rate type 'M' into operating concern currency.
2. Determination of the value in company code currency (provided the update of company code currency is activated in CO-PA)
a) Transaction currency = company code currency
There is no translation. The value of the transaction currency is copied.
b) Transaction currency < > company code currency
If no exchange rate was fixed on the billing document (VBRK-KURRF), the system translates from transaction currency with exchange rate type 'M' into company code currency. Otherwise it translates with VBRK-KURRF into company code currency.
System will use VBRK-KURRF_DAT in case of translation from SD condition but in case of valuation such as user exit or costing sheet will use posting date for translation of exchange rate. This is the standard behavior. To change this behavior implement SAP note 367132.
Exchange Rate Determination in Case of VPRS
In case the VPRS condition has condition control 'H' i.e. it comes from the goods issue then at the time the billing document is released to accounting SD sends the values in both transaction currency and company code currency to the accounting interface. So COPA simply takes over these values and there is no need to do any exchange rate calculation
In case the VPRS condition has condition control 'A' i.e. it comes from material valuation then at the time the billing document is released to accounting SD sends only the value in transaction currency to the accounting interface. So COPA has to convert to the company code currency using the relevant exchange rate.
If it is unclear why a particular condition control has been used then please check with your SD consultant regarding the VPRS condition customizing.
Exchange rate determination in case of KE27
A revaluation in KE27 uses for currency translation exchange rate type 'M' between operating concern currency and company code currency for line item in company code currency. This exchange rate is determined according to either posting date of original line items or current posting date of the revaluation. The posting date of the original line items will be considered if you have flagged periodic valuation in the selection screen. The exchange rate stored in the CO-PA line items being revaluated is not considered in any case.
In general you are able to take over the different ML currencies directly to CO-PA without the need for any conversion. If none of the currencies in the ML correspond to the CO-PA currencies, the system performs the translation on the basis of currency type 10. IF the ML has data available in both company code and operating concern currency COPA simply takes over the values without any conversion. If you want a different system behavior you need to implement the exit in note 1394183 - RKE_EXIT for accessing data of the material ledger.
Exchange rate determination in case of Assessment Cycles (KEU5)
On sender side (cost center) you have two relevant values:
1. The Controlling area currency value (WKGBTR)
2. The Object currency value (WOGBTR) which is in most cases is the value in company code currency.
If the WOGBTR is available and if it contains the company code currency depends on the fact if the CO-area contains more than one company codes and the 'all currencies'-flag of the controlling area is switched on (see transaction OKKP).
On the receiver side we have at least COPA ledger B0 (operating concern) in if customized also ledger 10 (company code currency).
During assessment to COPA we read WKGBTR and WOGBTR, do the calculation and credit the sender side without conversion with WKGBTR and WOGBTR separately. This is the logic coming through note 69532.
Independent from that we calculate on receiver side (COPA) always the values in COPA ledger B0 out of CO-area currency (WKGBTR).
The values for COPA ledger 10 we calculate out of WOGBTR if it is available (defined in OKKP), otherwise we calculate it out of WKGBTR.
We use the posting date as the date for the exchange rate calculation and the exchange rate type 'M'.
Exchange Rate Determination in Case of KE21N
When a COPA document is created with transaction KE21N, the leading ledger is always the operating concern currency.
we convert from operating concern currency to company code currency by inversing the original rate that was used. However since we store only 2 decimal places during the conversion there will be rounding differences. This is an issue specially when Company code and Document currency are same. Let's discuss this behavior with an example -
Sales Order - 1234
Document currency - CZK
Company Code Currency - CZK
Operating Concern currency - USD
Exchange rate - 20.391
Condition Value - 192390.15
When a COPA document is created with reference to Sales order 1234, the conversion takes place as below -
The condition value will be converted to USD from CZK using exchange rate /20.391
192390.15 / 20.391 = 9435.052228924526
However since only 2 decimal places are stored we store 9435.05 USD
When you convert back to CZK 9435.05 X 20.391 = 192390.10
If you do 9435.052228924526 x 20.391 = 192390.15
As mentioned above we convert from operating concern currency to company code currency by inversing the original rate that was use and since only 2 decimal places are considered, rounding differences are inevitable
This is standard system behavior and will not be changed.
To verify whether the exchange rate used is correct, transaction EWCT can be used. The date field in Transaction EWCT should contain the value VBRK-KURRF DAT as shown in the illustration below.
In this transaction the correct exchange rate available according to the exchange rate date can be found and compared to the exchange rate posted in COPA document. However we must consider that there can be minor difference due to the difference in the way exchange rate is calculated in SD, FI and COPA.
In COPA we always use the VBRK-KURRF DAT as the date for translation. Please note that you can compare COPA values with FI only if company code currency is activated because in that case we take the values directly from FI. For operating concern currency the values should not be compared with FI.