Skip to content

Handle foreign-currency payments and differences

Quick summary: Match the original currency amount and let the configured accounting process handle exchange differences.


Open the Accounting dashboard in Odoo

Your Odoo address

Enter the base address of your Odoo instance. It will be stored only in this browser.

The documentation does not receive your address, username, or password.

  1. Open the invoice or bill and verify its currency, date, original amount, and remaining amount. The company-currency value uses the applicable rate.
  2. Import the actual bank transaction into the correct journal. Check its currency and amount, including any separately identified fee.
  3. Match the existing payment or invoice through bank reconciliation. Do not replace the original invoice amount with the bank’s converted amount.
  4. Review any exchange-difference entry generated by reconciliation. Check the remaining open amount, especially for partial payments.
  5. If a fee remains, assign only the documented fee to an approved account. Ask accounting to investigate unexplained differences.

A change in exchange rate is different from a short payment. For example, full settlement of a USD invoice can have a different EUR value on the payment date while leaving no USD debt. An unpaid USD balance remains an outstanding obligation.

Exchange-gain/loss accounts and currency-rate sources require accounting configuration. Period-end revaluation of open items is a separate accounting task; it does not mean those invoices have been paid. Do not change rates on old documents to eliminate a difference.

See Odoo 19 — Multi-currency system.