Multi-Currency Support
Certain business use cases require support for multiple currencies. Administrators can enable multiple currencies in their Salesforce orgs.
Note
Be aware of the following implications:
-
Once multi-currency support is enabled for an organization, it cannot be disabled.
-
Even though you have enabled multiple currencies, JustOn recommends to use one currency per account, that is, to use the account currency for all operations and records related to an account.
For some functions, Salesforce and JustOn operate with plain values without regard to currencies. In these cases, simply combining values of different currencies without conversion would produce wrong records.
For details, see Manage Multiple Currencies in the Salesforce Help.
Enabling Multi-Currency Support
Currency Conversion
With multiple currencies enabled, you can create invoices and other records in your organization's default currency as well as in foreign currencies. By default, any converted amounts in your organization rely on the conversion rates as defined with your active currencies. Conversion rates must be set and updated manually. Changing the exchange rate automatically updates converted amounts on all records.
Salesforce allows to use dated exchange rates by enabling advanced currency management. Dated exchange rates set a conversion rate for a specific date range. For details, see About Advanced Currency Management and Edit Dated Exchange Rates in the Salesforce Help.
Since conversion rates are subject to change in the course of time, JustOn Billing & Invoice Management stores the conversion rate upon invoice generation in the field Conversion Rate
. Doing so allows for creating reports or formulas for custom fields based on the saved value.
JustOn Billing & Invoice Management selects the conversion rate from the Salesforce currency management by the date of the invoice upon finalization. After the invoice is set Open
, changes are no longer allowed, and the conversion rate on the invoice is fixed. That is, once the value is stored, it does not change any more, even if the organization wide conversion rates has changed since.
Payment Matching With Multiple Currencies
Currencies of imported payment entries may differ from the currencies of their matching records. When converting payment entries to balances, JustOn transfers the corresponding amounts.
The following payment entry fields hold the conversion-related data:
Field Label | Description |
---|---|
Payment Amount | The amount for the payment balance. If the currency is different from the match currency, the amount is converted using the exchange rate of the booking date. |
Currency | The currency of this payment entry. |
Foreign Amount | If the foreign currency fields are set and have the same currency as the match, they are used instead of the Payment Amount . |
Foreign Currency Code | The foreign currency code. |
Foreign Conversion Rate | The conversion rate for converting the payment amount to the foreign amount. Is copied to the Conversion Rate field on the balance. |
After JustOn has converted the payment entry to a balance, the amount and currency information is kept in the following fields on the balance:
Field Label | Description |
---|---|
Amount | Shows the balance sum. |
Currency | The currency of this balance. |
Original Amount | The original amount of the payment entry before the conversion. |
Original Currency Code | The original currency code. |
Conversion Rate | The conversion rate. |
Depending on the use case and the original data, the information is transferred or, respectively, converted as described below.
One currency, no conversion
If the payment entry and the balance use the same currency, no conversion takes place.
Payment Entry Source Field | Balance Target Field |
---|---|
Payment Amount | Amount |
Currency | Currency |
Two currencies, payment entry includes all data
If the payment entry includes all information, no conversion takes place. JustOn only populates the balance fields with the given source data.
Payment Entry Source Field | Balance Target Field | Notes |
---|---|---|
Payment Amount | Original Amount | |
Currency | Original Currency Code | |
Foreign Amount | Amount | |
Foreign Currency Code | Currency | |
Foreign Conversion Rate | Conversion Rate | If there is no conversion rate given, JustOn calculates it based on the given payment amount and foreign amount. |
Two currencies, payment entry includes one amount and currency
If the payment entry includes only an amount and currency, JustOn converts the amount to the target currency using the conversion rate determined by the system (see Manage Multiple Currencies | Salesforce Help).
Payment Entry Source Field | Balance Target Field | Notes |
---|---|---|
Amount | Calculated based on the payment amount using the conversion rate determined by the system. | |
Currency | ||
Payment Amount | Original Amount | |
Currency | Original Currency Code | |
Conversion Rate | Determined by the system, based on the given payment entry currency and the balance currency. |
Decimal Places for a Currency
With multiple currencies enabled, you can specify the number of decimal places (number of digits to the right of decimal point) for each currency. Consequently, JustOn takes the number of decimal places used for a specific currency from the relevant currency configuration, copying it to the field Decimal Places
of the invoice line item. This value is then used to round amounts in certain formulas when calculating the invoice line item price, taxes, etc.
JustOn falls back to two decimal places if multiple currencies are not enabled, no currency set up for an invoice, or if the field Decimal Places
is not (yet) set for an invoice line item.
To avoid inconsistencies, make sure to not change the value of the invoice line item field Decimal Places
manually, because other parts of the business logic (not immediately related to the invoice line item price calculation) also use the decimal places configuration.
Be aware of the following limitations:
-
Currently, JustOn supports only 0, 1 or 2 decimal places.
If you specify more than 2 decimal places, JustOn automatically limits their number to 2 to prevent errors.
-
The following features currently ignore the decimal places configuration:
- Installments
- Booking data creation and recognition rules
- Discount calculation
Info
With the decimal places configuration from the currency setup, the previous decimal places fallback as configured for a field is no longer available for PDF rendering.
For example, the price shown in the transaction table is now rendered with the number of decimal places as specified by the multi-currency configuration. Previously, it was rendered with 5 decimal places as a fallback, because the transaction price field is set up to use 5 decimal places. As a workaround, you can specify the number of decimal places for the transaction table in the corresponding JSON configuration of the template, like, for example {"Transaction__c":{"Price__c":5}}
.