Multiple currency support in FinDock

One of the advanced features in Salesforce is multiple currency handling. If enabled, this feature cannot be deactivated - one of the Salesforce considerations you should address before taking multiple currencies into use. When the multiple currencies feature is enabled in your org, the CurrencyISOCode field is added to money-related objects. Generally speaking, FinDock handles multiple currency support under the hood. There is nothing you need to do in your FinDock configuration when you enable multiple currencies. However, if you are using FinDock for NPSP, we recommend reading this FAQ from Salesforce for nonprofits. If the multiple currency feature is enabled in your org, the CurrencyISOCode field is configurable whenever FinDock automatically creates or updates records. The following is a brief summary of key aspects of multiple currency support in FinDock.

Impacts on reconciliation

Bank statement processing takes currency into account. Transactions are created in the currency of the supplied CAMT file. Each CAMT file is by definition single-currency (defined in header). Guided Matching now compares currencies of installments and transactions. If the currencies don’t match, the transaction is not matched. On creation of installments and payments, the currency is inserted by ProcessingHub or Guided Matching based on the currency of the matched transaction.


If you are using Manual Review, we recommend adding the CurrencyISOCode field to your layout.

Impacts on Payment Schedule

The basic rule for payment schedules is that all installments linked to the payment schedule should have the same currency. Installments with a currency other than the currency supported by the payment processor fail, and the payment schedule is rejected. Error messages on the payment schedule and affected installments provide further information. Payments created via the Payment Schedule will be set in the currency supported by the payment processor. For a list of supported payment processors and currencies, see the table below.

Gift AidGBP
Swiss (LSV & CDD)CHF

Impacts on Nonprofit Success Pack

Multiple currency supports adds a new mapping rule to the Field Mapper. FinDock for NPSP syncs the CurrencyISOCode field between Installment and Opportunity bidirectionally.

Impacts on FinDock Standalone

If you are using FinDock as your source (standalone configuration), all installments under a recurring payment automatically get the same currency. If no value is provided for CurrencyISOCode in a given payment process, both one- time and recurring payments use the org default currency.

Multi-currency with PSPs

If you are using multiple currencies in your org, FinDock can support currencies in the Payment API integration with the PSPs that also support multiple currencies. For API calls without CurrencyIsoCode, the default company currency is used. For API calls with the CurrencyIsoCode attribute: the currency is validated before the payment is processed. If the currency is active in the org, the payment is processed. If currency is inactive, the API call is rejected. If multiple currencies are not supported, the FinDock PSP extension uses the currency defined by the org company settings (Currency Local setting).

Known limitations

If you have enabled multiple currencies in your org, FinDock supports this feature with the following limitations:

  • FinDock payments in a different currency than the related installment are not supported. FinDock only supports installment currency = payment currency.
  • Multi-currency support for bank statement files is currently only available for CAMT.053 and CAMT.054.
  • Currently FinDock supports the following PSPs with multiple currency API requests (NOTE: webhook response must have the same currency as request)
    • Adyen
    • Axerve
    • PayPal
    • SIX Saferpay
    • Stripe