Currency data types are used to define fields that contain numeric amounts. By default the Salesforce platform allows the selection of an organization wide currency to be used throughout the application. The platform also supports the use of multiple currencies within the same organization.
Implementing multiple currency functionality requires an appropriate level of planning and preparation. These documentation references will serve as a jumping off point when planning a multiple currency implementation:
Managing Multiple Currencies and Implications of Enabling Multiple Currencies
How does multiple currency support impact AdvoLogix?
This article is applicable to AdvoLogix 1.49, October 2015 and later.
When an organization has been setup to accommodate the use of multiple currencies, each object with a currency field will have a currency selector available at the record level. By default, a currency picklist can be added to the page layout for selection of one of the currencies enabled at the organization level, on a record-by-record basis. Users may specify their default currency under User Settings. Unless otherwise noted, the User's specified currency is selected as the default currency for new records.
How are Matters impacted by multiple currency support?
Matters have several financial fields that utilize the currency data type. Each Matter record will be assigned it's own currency type via the currency picklist. The currency chosen for the Matter will dictate the currency value of all fields on the Matter object.
It is important to note there are two read-only currency aggregate fields on the Matter which are used to summarize Time and Expense amounts related to the Matter. Please note these aggregate fields are calculated differently due to the different relationship for Time than Expense.
The Time Amount aggregate is calculated (via trigger) when a Time record is added, edited or deleted. If your Time is using a different currency than the Matter currency (which is discouraged) a conversion to the Matter's currency will take place using current conversion rates.
Expenses are Master Detail relationship with the Matter and therefor use a standard Salesforce roll-up field labeled Expense Amount. If intra-matter currency conversions are required (not suggested) the standard platform roll-up rules will apply.
NOTE: It is important to note assigning a currency at the Matter level only applies to the fields on the Matter object itself. Related records will have their own currency selector, as do all objects with currency fields. It is strongly recommended to keep related records in the same currency as the Matter.
How are Time entries impacted by multiple currency support?
Time entries are significantly impacted due to the use of default Rates and the currency associated with the default or selected Rate. When a new Time entry is completed, the default currency is chosen as follows:
- The Time record will default to the same Currency as the associated default Rate. See rate defaulting examples below.
- When a default Rate is not available, the Time entry will default to the same Currency as the Matter.
- When editing a Time record, selecting a Rate from the Rate lookup will default the Time entry to the Currency of the selected Rate.
How are default Rates impacted?
In regard to multi-currency, Rate defaulting is modestly different by adding one additional level of defaulting; Timekeeper/Currency. In this case, the default Currency is derived from the Matter and when forming a unique relationship with the Timekeeper, create an opportunity for an additional Rate default level, illustrated below.
The existing precedent with the new Timekeeper/Currency default Rate:
- One Matter, One Timekeeper, One Default Rate
- One Matter, One Default Rate
- One Timekeeper, One Currency, One Default Rate
- One Timekeeper, One Default Rate
How are other areas impacted by multiple currency support?
Other areas of the application are also influenced by currency selection and include:
- Expenses: Currency is assigned at the record level.
- Budgets: Currency is assigned at the record level.
- Billing Preview: Appropriate currencies are displayed unless mixed currencies have been used across multiple Matters for the same Account. in this case, the Account level total is not displayed.
Considerations for Multiple Currency Implementation
Enabling multiple currencies should only be done when requirements strictly dictate the use of maintaining data in multiple financial perspectives. For instance consider using a centralized rate for all currency tracking when possible and use your accounting application to manage the financial aspects of your currency related data.
As per the Salesforce platform guidelines, once enabled, Multiple Currency support cannot be turned off.
In most cases, managing multiple currency organizations will require an ongoing maintenance regimen for currency exchange rates.
It is strongly advised to use a single currency within all records related to a specific Matter.