How Microsoft Dynamics NAV converts foreign currency to the local base currency

This article discusses how Microsoft Dynamics NAV converts foreign currency (FCY) to the local base currency (LCY).

Applies to:   Microsoft Dynamics NAV
Original KB number:   914182

Microsoft Business Solutions-Navision 4.0 and Microsoft Navision 4.0 are now part of Microsoft Dynamics NAV 4.0. All references to Microsoft Business Solutions-Navision or to Microsoft Navision 4.0 pertain to Microsoft Dynamics NAV.

More information

When you post foreign-currency-related transactions in Microsoft Dynamics NAV, some rounding errors occur.

For example, consider the following scenarios.

Scenario 1

  1. You use General Journal to create a transaction with customer 01121212.
  2. You set the transaction exchange rate at 3.8005 LCY to the FCY.
  3. You set the transaction amount at 20,250.00 (FCY).

The conversion calculated amount (LCY) for this transaction is 76,960.12. However, if you make the calculation manually, you arrive at a value of 76,960.125. You then round this value up and arrive at a final value of 76,960.13.

Scenario 2

  1. You use General Journal to create a transaction with customer 01121212.
  2. You set the transaction exchange rate at 2.0252 LCY to the FCY.
  3. You set the transaction amount at 5.00 (FCY).

The conversion calculated amount (LCY) for this transaction is 10.126. Microsoft Dynamics NAV correctly rounds this amount to 10.13.

When you examine these two scenarios, you see that the direction of the rounding is not necessarily either up or down.

The Appln. Rounding Precision field can be made visible from the General Ledger Setup menu. This field considers the common rules of decimal rounding. According to these rules, if the user wants to round to two digits, and if there are three decimal digit figures, the direction of the rounding depends on what the third decimal digit is. If the decimal digit is greater than or equal to 5, the decimal will be rounded up. Otherwise, the decimal will be rounded down.

Important

You cannot specify a rounding type for the Appln. Rounding Precision field. For example, you cannot specify a rounding type of nearest, up, or down. Microsoft Dynamics NAV was designed in this manner because it was decided that the system should not forcibly apply any rounding principles for transactions that are posted from the subledger.

To illustrate how the currency factor is determined in table 330 and to illustrate how rounding occurs in the Appln. Rounding Precision field, consider again the scenarios that were mentioned earlier.

Note

The following calculation method is adopted when the Fix Exchange Amount option is set to Currency.

Scenario 1

Amount (LCY) = Amount (FCY) / (Exchange Rate/Relational Exchange Rate)
Amount (LCY) = 20,250 (FCY) / (1 / 3.8005) = 76,960.1249999

By default, the Appln. Rounding Precision field setup of 0.01 is used, and the system calculates the amount in local currency as 76,960.12. This result occurs because the third decimal character is less than 5. There is no rounding type involved. Only the common principles of decimal rounding are used.

Scenario 2

Amount (LCY) = Amount (FCY) / (Exchange Rate / Relational Exchange Rate)
Amount (LCY) = 5 (FCY) / (1 / 2.0252) = 10.12600000

By using the Appln. Rounding Precision field setup of 0.01, the system calculates the amount in local currency as 10.13. This result occurs because the third decimal character is greater than 5. There is no rounding type involved. Only the common principles of decimal rounding are used.

Note

If the Fix Exchange Amount option is set to Both, the following calculation method is adopted.

Amount (LCY) = (Amount (FCY) / Exchange Rate) x Relational Exchange Rate
Amount (LCY) = (20,250 (FCY) / 1) x 3.8005 = 76,960.125

By using the Appln. Rounding Precision field setup of 0.01, the system calculates the amount in local currency as 76,960.13. This result occurs because the third decimal character is greater than 5. There is no rounding type involved. Only the common principles of decimal rounding are used.

Sometimes, the calculated LCY figure has to be truncated to two decimal places. In this case, the amount (LCY) in the first example is calculated as 76,960.124999999999935584. By using the Appln. Amount Precision field setup of 0.01, the system calculates the amount in local currency as 76,960.12.