Automagically.
If you hold Assets or Liabilities (and sometimes Income) in other currencies, you might need to report (or measure) the changes in value of these amounts of value over time, due to currency fluctuations.
Take the case of a Global Company that purchases Inventory in two locations and uses two Companies to model this. AmCo and the EuCo both purchase the equivalent of $USD 10,000 of Products. For EuCo this equates to € $8,969 (with rounding of 32 euro cents).
The (partial – Equity is left out since it has no value in this example) Balance Sheet at 1/15 now looks like this (left $USD, right €) :
Now let’s pause the operations of the Company (we don’t pay for this Inventory, we don’t sell any) and look at the impact of unrealized gains (losses) on the value of that Inventory.
The example will be from the perspective of the $ USD – how will the value of the $10.000.89 worth of Inventory change over time?
By the end of January, the exchange rate changed from 1.115 to 1.1096, meaning Inventory worth $10,000.89 *could* be worth $9,951.073 if sold at full market value. This example of a loss (on paper) is what people mean by an unrealized currency loss.
Let’s look at the partial Balance Sheet at 1/31:
Notice that NOTHING has changed value in the real world – just “on paper”. The $10,000 in US Inventory held by AmCo is still “worth” $USD 10,000 (if sold there at full price) and the € 8,969 in European Inventory help by EuCo is still “worth” € 8,969 (if sold there at full price).
Odoo automagically updated the Balance Sheet based on the currency exchange rates that were automatically updated (or manually entered).
By the middle of February, the exchange rate changed from 1.1096 to 1.0831, meaning Inventory worth $10,000.89, later *potentially* worth $9,951.73 *could* be now worth $9,714.28 if sold at market value. This example of a loss (on paper) is what people mean by an unrealized currency loss.
Let’s look at the partial Balance Sheet now at 2/15:
You can see that Odoo “just works” by updating the Balance Sheet over time. There are no Journal Entries booked.
Think of what is happening as "revaluating on the fly" without you needing to manage it.
The impact of this change in your Balance Sheet does have the potential to affect your Profit and Loss statement - some, but not all, companies need to account for unrealized gains (losses).
Please also see:
https://www.odoo.com/documentation/user/13.0/accounting/others/multicurrencies/how_it_works.html
I would like to bump this question as i have it too.
Hello ray .. thanks for your explanation . i am working on odoo 13 enterprise and i am using multi currency but when i change the exchange rate balance sheet did not update according to the new rate ..why ???
thanks..
The example I have given is when the balance sheet is made up of two different GL's from two different companies with two different currencies. There is no revaluation of a single GL in a single company with a single base currency. We capture realized gains or losses when payments are posted against receivables and payables, since everything is recorded in the base currency with the "as of that date" equivalent in the secondary currency, allowing us to know whether the difference between that same amount of base currency "as of another date" is a loss or a gain.
@Hyperview
We have Odoo 16 currently in a multi-company environment and we are starting to realise some issues with multi currency. Have you updated your code to address changes within Odoo versions and are you willing to share this? I have an internal dev team and we would love to have a look at the changes you have mentioned to help improve the issues we are seeing with multi currency and how realised and unrealised gains/losses are shown.