When You Need Multi-Currency
If you sell to international customers, buy from foreign suppliers, or have bank accounts in different currencies, you need multi-currency accounting. Odoo handles: automatic exchange rate updates, unrealized gains/losses, exchange difference journal entries, and multi-currency financial reports.
Setup Steps
1. Enable Multi-Currency
# Settings → Accounting → Currencies → Enable Multi-Currency
# This reveals currency options throughout Odoo2. Activate Currencies
# Accounting → Configuration → Currencies
# Activate the currencies you use:
# USD (US Dollar) — already active
# EUR (Euro)
# GBP (British Pound)
# INR (Indian Rupee)
# AED (UAE Dirham)
# etc.
# For each currency, set:
# - Active: Yes
# - Current rate (or auto-update)3. Configure Exchange Rate Provider
# Settings → Accounting → Currencies → Exchange Rate Provider
# Options:
# - European Central Bank (ECB) — free, daily updates
# - Federal Reserve — free, daily
# - Bank of Canada — free, daily
# - Custom — enter rates manually
# Auto-update interval: Daily recommended
# Enable: "Automatic Currency Rate" scheduled action4. Exchange Difference Accounts
# Accounting → Configuration → Settings → Default Accounts
# Set:
# - Exchange Gain Account: 760000 (Currency Exchange Gains)
# - Exchange Loss Account: 660000 (Currency Exchange Losses)
# These accounts receive the difference when exchange rates change
# between invoice date and payment dateHow Multi-Currency Works
Customer Invoice in Foreign Currency
# Scenario: US company invoices European customer in EUR
# Invoice date: March 1
# Amount: €10,000
# Exchange rate: 1 EUR = 1.08 USD
# Recorded: $10,800 (at March 1 rate)
# Payment date: March 15
# Exchange rate: 1 EUR = 1.10 USD
# Received: $11,000 (at March 15 rate)
# Exchange difference: $200 gain
# Journal entry:
# Dr. Bank (USD) $11,000
# Cr. Accounts Receivable $10,800
# Cr. Exchange Gain $200Vendor Bill in Foreign Currency
# Scenario: US company receives bill from Indian vendor in INR
# Bill date: March 1
# Amount: ₹500,000
# Rate: 1 USD = 83 INR → $6,024
# Payment date: March 20
# Rate: 1 USD = 82 INR → $6,098
# Exchange difference: $74 loss
# Journal entry:
# Dr. Accounts Payable $6,024
# Dr. Exchange Loss $74
# Cr. Bank (USD) $6,098Foreign Currency Bank Accounts
# Create a bank account for each currency:
# Accounting → Configuration → Bank Accounts
# Bank Account: HSBC EUR Account
# Currency: EUR
# Journal: Bank EUR
# This allows:
# - Receiving EUR payments to EUR account (no conversion)
# - Paying EUR bills from EUR account
# - EUR bank reconciliation
# - EUR balance reportingUnrealized Gains/Losses
# At month-end, open AR/AP in foreign currency is revalued:
# Outstanding €10,000 invoice at month-end rate
# vs rate when invoice was posted
# → unrealized gain or loss
# Run revaluation:
# Accounting → Periodic Processing → Currency Revaluation
# Creates adjustment journal entries for unrealized differencesMulti-Currency Reporting
- P&L: All transactions converted to company currency
- Balance Sheet: Foreign currency balances revalued at period-end rate
- Aged Receivable/Payable: Shows amounts in both original and company currency
- General Ledger: Each entry shows original currency + company currency
- Cash Flow: Per-currency cash position
Common Issues
| Issue | Fix |
|---|---|
| Wrong exchange rate on invoice | Rate is taken from the invoice date. To change: edit the date or set rate manually on the invoice. |
| Exchange rate not updating | Check 'Automatic Currency Rate' scheduled action is active and the provider is configured. |
| Payment not matching invoice amount | Exchange rate changed between invoice and payment. The difference is posted to exchange gain/loss accounts. |
| Foreign currency bank balance wrong | Run currency revaluation at month-end. Check that the bank journal has the correct currency. |
DeployMonkey
DeployMonkey's AI agent configures multi-currency — activating currencies, setting up exchange rate providers, exchange difference accounts, and foreign currency bank accounts. International businesses get started fast.