Skip to main content

Multi Currency Accounting in ERPNext

Transacting in two different currencies is known as Multi Currency Accounting.

In ERPNext, you can record accounting entries in multiple currencies, and the system maintains balances based on the respective account currency.

For example, if you maintain a foreign currency bank account, transactions will be recorded in that currency and the balance will also be displayed in the same currency.

Bank accounts in foreign currency can be used for:

  • Foreign branches of your company
  • Foreign Customers (Debtors)
  • Foreign Suppliers (Creditors)

1. Setup

1.1 Set Currency in Chart of Accounts

To start multi-currency accounting, you must assign a currency at the Account level.

You can define currency while creating accounts in the Chart of Accounts.

Each account can have its own accounting currency in ERPNext.

1.2 Update Existing Account Currency

You can also modify currency for existing accounts by opening the Account record and updating the currency field.

1.3 Currency for Customer / Supplier

For parties, you can define billing currency in the Customer/Supplier record.

If the party currency differs from company currency:

  • You must set a default Receivable/Payable account in that currency

Party currency must align with the account currency to ensure correct transaction flow.

1.4 After Setup

Once currency is configured in accounts and parties:

  • You can start transactions in the configured currencies
  • The system enforces correct currency selection during transactions

If a party account currency differs from company currency, ERPNext restricts incorrect transactions to prevent accounting mismatches.

Note:

  • Ensure correct account is selected in the “Debit To” field
  • Once transactions are posted, currency changes are not allowed

2. Exchange Rates

ERPNext uses the Currency Exchange master to manage exchange rates.

To learn more, visit:
Currency Exchange

For foreign currency transactions, ERPNext follows this order:

  1. Checks Currency Exchange records created by user
  2. Fetches market rate from Frankfurter API
  3. Uses exchangerate.host (from version 13.10.0)
  4. If all fail, manual entry is required

If “Allow Stale Exchange Rate” is disabled, system will ignore manually stored exchange rates.

3. Transactions

3.1 Sales Invoice

In Sales Invoice:

  • Invoice currency depends on Customer currency setup
  • Receivable account currency must match Customer currency

Outstanding and advance amounts are always shown in Customer’s account currency.

Payments are handled through Payment Entry.

3.2 Purchase Invoice

In Purchase Invoice:

  • Entries follow Supplier currency
  • Outstanding and advance amounts are shown in Supplier currency

3.3 Journal Entry

Journal Entry supports multi-currency transactions using a “Multi Currency” checkbox.

  • Allows selection of accounts with different currencies
  • Exchange rate is fetched automatically
  • Debit/Credit is entered in account currency

Company currency values are automatically calculated from account currency using exchange rates.

4. Reports

4.1 General Ledger

General Ledger displays amounts in party currency when filtered by foreign currency accounts.

4.2 Accounts Receivable / Payable

These reports show values in party/account currency for better clarity in multi-currency scenarios.

5. Key Highlights

Multi Currency Accounting ensures accurate financial tracking across different currencies while maintaining proper ledger consistency in ERPNext.

6. Related Topics

Rating: 0 / 5 (0 votes)