2018

Dealing with foreign currencies in OpenERP (1 / 3)

When trying to setup OpenERP in China, I came across the specificity of Foreign Exchange Valuation method that forces the company to revaluate all their accounts in foreign currency at month-end rate.

Shanghai Elico Limited - 上海寰享网络科技有限公司, Eric Caudal

We will try to understand how to set up this legal constraint into OpenERP's accounting frame.

First of all, we need to understand how OpenERP do evaluate accounting moves in foreign currency. I will first explain in here how to simply set up OpenERP so you can deal with foreign currency (EUR in my case) in your accounting (in RMB). What are the concept that we will study in this topic: - Currencies - Account Journals - Accounts - How to input an invoice in foreign currency - How to input a move in foreign currency - How to pay an invoice in foreign Currency

Currencies:

Currencies are defined in Accounting / Configuration / Miscellaneous You have all kind of currencies but I really advise to inactivate all the ones you don't daily use
  
Just be careful of the following: 
- Rounding factor: can affect your digits in accounting. 
- In my example, Euro is set to 1 and CNY to 9,1 but you can perfectly have CNY set to 1 and EUR to 0,1099 
- Add rates, do not change the current one: indeed you need an history for your transactions... 
- There is a module that allows you to update your rates based on Central Bank information (currency_rate_update). Check several setup as not all are working in China.

Accounts

 
You will have to create dedicated accounts in currencies for the following concept
- Customer AR accounts (including any payment in advance  or bad debts account, etc) 
- Suppliers AP accounts 
- Currency bank account Most important field here is the currency and the the way you calculate the exchange rate (at date or on average). 
Once you input a currency in the account setup, chosen currency will be filled in all transactions at the decided rate.

Account Journals

 
For foreign currencies you have to set up your journals, mainly for bank accounts that are exclusively in foreign currency. Most important setup to remind is to force the currency in the dedicated field. That implies that all your accounting entries will contain both domestic value in the main field (Dr/Cr) and the equivalent foreign currency amount along with the currency.
 
Another important detail is the journal view (choose the multi-currency one) which will allow you to enter and view foreign currency amount in the entry screen. If the journal view does not show the currency during journal entry, you can adapt the journal view in Accounting/configuration/Financial Accounting/Journals/Journal Views. In this screen you can add new columns such as currency or currency amount. A nice feature of the web client is that you can drag and drop the columns and they automatically sort themselves out.

How to input an invoice in foreign currency?

 
At invoice entry, you have to specify the following information: - Currency - AR account in currency if needed - Sales journal do not need to be in currency but it is possible if you want to clearly separate your business in foreign currency Besides, you can easily convert an invoice into another currency by clicking in "Change" button

How to input an accounting move in foreign currency?

 
During the accounting move entry, you will have to input the amount in domestic currency in the credit or debit field (eg: 900 RMB) and the corresponding amount in foreign currency (eg 100 EUR) along with the currency.

How to pay an invoice in foreign currency?

To pay the invoice, you have several options: 
- you can open the invoice and click on button "Payment" (it appears at the bottom of the screen once the invoice is validated) 
- You can go to accounts/customers/Customer 
Payment (or the equivalent in supplier) and choose the invoice you want to pay Paying an invoice in foreign currency is not complicated: it all depends on the journal (and the currency associated) you choose. If the journal is in RMB, system will automatically convert all amounts in RMB, etc.