How to Handle Foreign Exchange Rate in Odoo Purchase
Updated: Jul 2
For any accounting transactions, if the foreign currency is involved, exchange rate will be required to convert the foreign currency to the company's currency.
A typical exchange rate would be USD to MYR. Any fluctuate of the exchange rate would be capture as the exchange gain or loss, in between creation of invoice (recognition of revenue) and payment.
In Odoo, there are 2 options to handle the exchange rate conversion.
a) Auto Exchange Rate
Odoo allow you to configure to auto fetch the exchange rate from European Central Bank and other external sources.
Having said that, this option is not viable for many businesses in Malaysia, as some will follow the exchange rate set by the Malaysia bank.
Some companies may have to follow the exchange rate given by third party (not bank), such as in the Logistics industry.
It is not uncommon for some companies to mark up the exchange rate to buffer for any payment transaction cost.
b) Manual Exchange Rate
In the standard Odoo, the manual currency rate has to be set up daily and it is not that convenient. There are a few modules in the Odoo app store that can complement the manual exchange rate scenario.
Vendor Bill and Make Payment in Foreign Currency
The same steps will be apply to customer invoice
Exchange rate should be allow to set up with validity date. This gives the Management a control over the exchange rate and prevent the wrong input.
During the invoice creation, if the USD (foreign currency) is selected, exchange rate should be populated from the exchange rate setting or enter manually. Amount currency will stored the amount in the foreign currency.
Upon validated the invoice, the journal entry will be posted in company currency, after conversion.
During the payment, if the USD-MYR exchange rate is drop to 4.0,
payment in USD is converted to company currency, MYR.
In the reconciled journal items, exchange gain is posted.