Skip to content

How to Set Up Multi-Currency Accounting in Odoo 19

DeployMonkey Team · March 24, 2026 8 min read

Overview

Multi-currency accounting in Odoo 19 handles transactions in foreign currencies, automatic exchange rate updates, exchange difference journal entries, and period-end revaluation. When you invoice in EUR but your company currency is USD, Odoo tracks amounts in both currencies and manages the conversion.

Prerequisites

  • Odoo 19 with Accounting module installed
  • Accounting Manager access

Step 1: Enable Multi-Currency

Navigate to Accounting > Configuration > Settings. Under the Currencies section, enable Multi-Currencies. Click Save.

Step 2: Activate Required Currencies

Go to Accounting > Configuration > Currencies. Activate the currencies you transact in by toggling the Active flag. Common currencies like USD, EUR, GBP, JPY, and INR are pre-loaded but may be inactive.

Step 3: Configure Exchange Rate Provider

Under Accounting > Configuration > Settings > Currencies, select the Exchange Rate Provider:

  • European Central Bank (ECB) — Free, supports major currencies
  • Federal Reserve — USD-based rates
  • Bank of Canada — CAD-based rates
  • Custom Provider — Define your own rate source

Set the Interval for automatic updates: Daily (recommended), Weekly, or Monthly. The scheduled action fetches rates automatically. Click Save.

Step 4: Understand Currency on Transactions

When creating invoices or bills in a foreign currency:

  • Select the currency on the journal entry or invoice
  • Odoo converts amounts to your company currency using the exchange rate on the transaction date
  • Each account.move.line stores both the foreign amount (amount_currency) and the company currency amount (debit/credit)

Step 5: Handle Exchange Differences

Exchange rate differences arise when payment and invoice dates have different rates. Odoo handles this automatically:

  • When reconciling a payment with an invoice in a different rate, Odoo creates an Exchange Difference journal entry
  • The entry posts to the exchange gain or loss accounts configured in your chart of accounts
  • Gains go to the Exchange Gain account, losses to the Exchange Loss account

Configure these accounts under Accounting > Configuration > Settings in the currency section.

Step 6: Period-End Currency Revaluation

At month-end or year-end, open receivables and payables in foreign currencies must be revalued at the current exchange rate:

  1. Go to Accounting > Accounting > Journal Entries
  2. Use the revaluation feature to generate entries that adjust outstanding balances to current rates
  3. These entries reflect unrealized exchange gains or losses on the balance sheet

Step 7: Multi-Currency Bank Accounts

For bank accounts held in foreign currencies:

  1. Create a Bank journal with the foreign currency set
  2. All transactions in this journal are denominated in the foreign currency
  3. Bank reconciliation handles both foreign and company currency amounts
  4. The bank balance shows in the foreign currency on the dashboard

Step 8: Manual Rate Override

If you need to use a specific exchange rate for a transaction (e.g., a contractually agreed rate):

  1. On the invoice or journal entry, look for the currency rate component
  2. Manually set the exchange rate for that specific transaction
  3. This overrides the automatic rate from the rate provider

Best Practices

  • Update exchange rates daily to minimize conversion discrepancies
  • Reconcile foreign currency bank accounts at least weekly
  • Perform currency revaluation at every period close (monthly minimum)
  • Keep the exchange gain/loss accounts separate from operating accounts for clean P&L reporting
  • Monitor your total foreign currency exposure regularly for risk management