Support for Multiple Currencies Overview
OIPA provides extensive multi-currency support in a single instance of the system, including:
- Currency Entry / Display – the ability to allow users to input monetary values in different currency denominations.
- Currency Formatting – the ability for the system to support various formatting and rounding rules based on a currency.
- Currency Conversion – the ability for the system to convert money from one currency denomination to another, and track the conversion details.
Support for Multiple Currencies
Currency Entry describes the ability for the system to accept entry of monetary values in different currency denominations. What currencies are enabled depends solely on the configuration of the system. The configurable elements include:
- The currency designation for a given field – a field on a screen may be assigned a single currency or a list of acceptable currencies with a default currency.
- The default currency for a product – when no currency is configured for a field, or monetary data is displayed on any screen, the default currency that is configured for the current product will be used to display the currency.
- The default currency for a company – when a screen does not pertain to a particular product, the default currency that is configured for the company the product belongs to will be applied when displaying monetary data.
- The system-wide default currency - when a screen does not pertain to a particular plan or company, the default currency that is configured for the application will be applied when displaying monetary data.
Currency Formatting
OIPA formats monetary amounts that are displayed in the application. There are two completely separate pieces of the functionality: number formatting and currency rounding.
Number Formatting refers to how the number appears to the end user, irrespective of the currency. The way the number appears to the end user is determined by the logged-in user's locale. The locale determines the grouping character, decimal point character, and negative inflection of a number.
Currency Rounding is the process of rounding a number before it is displayed to the user, used in processing, or accepted as input by the user. The rounding rules for a currency are configured in the database as part of the configuration of the OIPA application.
Currency Conversion
Currency conversion is the process of converting a number of units of one currency denomination to another. For example, converting 100,000 USD (U.S. Dollars) to Japanese yen will require a conversion. The conversion that takes place is based on foreign exchange rates. A foreign exchange transaction is the exchange of money from one currency to another. The foreign exchange rate is a price; the number of units of one nation's currency that must be surrendered in order to acquire one unit of another nation's currency.
The currency conversion in OIPA happens in two places: money movement and configured math. The condition of moving money from one currency to another is automatically detected during transaction processing, so the currency conversion happens automatically. Whenever a currency is converted, there is a cost incurred in converting the money. This currency conversion cost is captured by the system when the conversion takes place.
Configured math supports the ability to convert from one currency to another as a simple formula, and there is no tracking of the currency conversion details that take place in math. When the currency conversion happens, the application will look up the exchange rates for the currencies using the latest exchange rates.
OIPA stores information on currencies, exchange rates, and rules that different market makers use to convert currencies.