Skip to Content
Product Information
Author's profile photo Joyce Liu

How does SAP Business One handle Exchange Rate Differences

Exchange rate difference is usually arising from handling foreign currency business transactions. Due to the fluctuation of currency exchange rates the exchange gains or losses occur.

A typical scenario an exchange gain or loss is taken place when a foreign currency invoice is entered in at one rate and paid at another rate. SAP Business One creates automatic postings for the realized exchange rate differences.

In order to illustrate this process, SAP Business One Version 9.3 PL13 with UK localization database is used.


Define the Exchange Rate Method

Select Direct to display the exchange rate according to the Local Currency (LC), that is 1 unit FC = x units LC.

Select Indirect to display the exchange rate according to the Foreign Currency (FC), that is 1 unit LC = x units FC.

You cannot change the exchange rate calculation method after creating journal entries.

Define Foreign Currency Exchange Rate

Ensure the foreign currencies have been defined under Administration >Setup >Financials >Currencies beforehand.

Assign Accounts for Realized Exchange Rate Differences

Assign the default G/L accounts to which the realized exchange gains or losses are posted under GL Account Determination. It is possible to assign the accounts as per different business processes: Sales, Purchasing and General.

Currency Implications

When creating a new Business Partner (BP) or G/L Account, there are 3 Currency options available:

  • Local Currency (LC)
  • Foreign Currency (FC)
  • All Currency (AC)

The Exchange rate difference is concerned when FC or AC is selected.

Scenario 1

Create a Business Partner with a specified FC, say EUR

Add an AR invoice with this BP:

Add an Incoming payment to pay the AR invoice in full:

For a FC BP, the reconciliation currency is always the specified FC. In this case, the invoice is fully paid so the reconciled FC amount is 263.56 EUR, the payment exchange rate is 1.1288,   the invoice exchange rate is 1.1249, with Indirect method the exchange rate difference is 263.56/1.1288- 263.56/1.1249=-0.81.

As for the same amount of FC, the converted LC amount in the collected payment is less than that in the invoice receivable, the difference of 0.81 is recorded on LC Debit as Realized exchange loss in the associated Journal Entry:

If clearing the AR invoice via manual reconciliation:

In this case we will first add a manual Journal Entry to register the payment amount (at this point it may be not clear which invoice the payment is based on):

Then go to BP Internal Reconciliation to reconcile the AR Invoice with the manual Journal Entry:

After reconciling successfully, go to Manage Previous Internal Reconciliations to check the corresponding reconciliation record:

Note if you cancel this manual reconciliation, the JR transaction will be reversed automatically.

Scenario 2

Create a BP with All Currencies:

Add an AR Invoice with this BP:

Add an Incoming payment to pay this AR invoice in full:

Automatic exchange rate difference is generated in the associated Journal Entry:

If manually reconciling the AR Invoice with a manual Journal Entry:

Except the Incoming/Outgoing Payment and Internal Reconciliation modules, the automatic exchange rate difference can also be generated from Bank Statement Processing and Payment Wizard modules.


Exchange Rate Difference report

Many companies will periodically maintain the open foreign items (e.g. receivables, payables, bank accounts etc. which recorded in foreign currencies) to ensure the fluctuation in exchange rates are reflected in their financial statements at period end. Through this step the Foreign currency transaction values will be converted into Local currency amount according to the up-to-date exchange rate and then compared with the original amount in Local currency in order to determine the unrealized exchange rate gains or losses.

SAP Business One provides you with Exchange Rate Difference report to achieve this purpose.

On the report selection criteria, you can select the Business Partners or G/L Accounts which need to be reevaluated. The exchange rates defined on the Execution Date are used as the up-to-date exchange rates. You also need to specify the G/L Accounts to which the unrealized exchange gains or losses are posted: ‘AR’ is for Customer accounts, ‘AP’ is for Vendor accounts, and ‘G/L’ for G/L accounts.

Normally, the exchange rate differences journals created at period end will be reversed at the first day of the next period.

For more illustration on the Exchange Rate Difference report refer to another blog:


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Dario Moutinho
      Dario Moutinho

      Hi Joyce,

      This was a great explanation.

      One question, if the database local and system currency differ does that mean you need to run the "Conversion Differences" utility first before running the "Exchange Rates Differences" utility?



      Author's profile photo Joyce Liu
      Joyce Liu
      Blog Post Author

      Hi Dário, 

      Good question.

      Conversion difference is relevant for companies whose defined system currency is different from the local currency. The Conversion Differences report translates the local currency into system currency by using exchange rate at the Execution date, and compares the result with the system currency value of the original transaction, to identify the conversion differences.

      It is suggested to run Exchange Rate Difference report first to have the updated balance in local currency before running the Conversion Difference report.

      By the way the journal entry generated from Exchange Rate Difference report also contain postings to system currency, so if you run both reports on the same day, there should no difference on the result no matter which report is run first.

      Hope it clarifies.