NAV was one of the first ERP systems to fully implement a multi-currency system. Transactions can start in one currency and finish in another. For example, we can create the order in US dollars and accept payment for the invoice in Euros or Bitcoin or Yen. For this reason, where there are money values, they are generally stored in the local currency (referenced as LCY), as defined in setup. There is a set of currency conversion tools built into the applications, and there are standard (by practice) code structures to support and utilize those tools. Two examples of code segments from the Sales Line table illustrating the handling of money fields are as follows:
In both cases, there's a function call to ROUND and use of the currency-specific Currency. "Amount Rounding Precision" control value as shown in the following code snippet screenshot:
As we can see, before creating...