Multi-Currency Accounting
The purpose of this lesson is to help you understand the mechanics of multi-currency accounting.Prerequisites
- This pages assumes you have a working knowledge of the Accounting discussions.
- Make sure your Accounting Schema is set up correctly when creating your Client.
Multi-Currency Document Introduction
Multi-Currency Schema Introduction
Multi-Currency - Default Currency
Multi-Currency - Using the GL (Fact_Acct) as A Data Cube
Multi-Currency - Currency Type Information
The purpose of this section is to describe the 'Currency Type' field you see on documents.- When you create currency conversion rates, you must specific a Currency Type or Currency Conversion Type.
- The options of multiple Currency Types, gives you the ability to create different Currency Rate records that apply to different tasks.
- Example: you might choose to have all normal documents use 'Spot' and your end-of-month consolidation entries use 'Period End'
- There is virtually no business logic tied to any specific Currency Type. The biggest logic dependency is to the 'Default' Currency Type (the record flagged as isDefault = Y). By default, iDempiere flags 'spot' as default.
- To see the code examples:
Open the MConversionType class in your source code IDE (Eclipse),
Right click on the class name and find references to this class. - All the above really means is that it does not matter which Currency Type you use; however, your businesses/operating rules need to be consistent to ensure the system produces accurate results. Said another way, you do not want someone accidentally entering an invoice with a 'period end' currency conversion when your operating manual says to use 'spot' for invoices since the 'period end' and 'spot' rates are probably different.
Multi-Currency - Live Discussion Introducing the Topic
Uploading Currency Rates (Conversion Rates)
Here are some guidelines when uploading currency rates:- Be careful what date range you use for imported rates. I recommend you only set the dates for the intended period (from: 1/1/20017 to:1/31/2017). If you import a date range that (1) is in the past and (2) overlaps with a previous import, you will most likely cause data contamination. An example of data contamination is with the bank statement. A change in rates will change how much money the bank statement pulls from the Bank In Transit account - thus causing you to either grow or shrink money.
- Always use the star (*) organization. Do not upload rates to a specific organization. You will experience inter-company balance issues if the org conversation rates do not equal.
- Always upload your rates from a spreadsheet like this one. Do not enter them by hand. You will make a mistake.
- In the first tab/worksheet, you define some core conversions. Note that this sheet guarantees that all round trips through multiple currencies always resolve back to the same value. Said another way, you cannot grow or shrink money.
- You can ignore the second tab. It calculates all the permutations.
- The third tab eliminates all the '---' where no currency was listed.
- Export the third sheet as a CSV and import via CSV directly into the Currency Rate window.
- NOTE: this sheet uses USD as the core currency in column B. You can swap out USD with any currency of your choice. The changes will propagate through to the third tab/worksheet automatically.
- I recommend that you make the currency conversion rate fields 'not updatable'. This prevents users from changing the rates after they have been uploaded.