Skip to Content
Menu
This question has been flagged
4 Replies
9335 Views

An unrealized foreign exchange gain (loss) occurs when a company measures the change of the value of assets over time.

I may purchase Inventory and, even though I don't see it, the value will go up (and down) over time with the fluctuations in exchange rates.

How does Odoo handle this?


Avatar
Discard

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.

Best Answer

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/forum/help-1/question/how-does-odoo-handle-realized-currency-gains-or-losses-167047

https://www.odoo.com/documentation/user/13.0/accounting/others/multicurrencies/how_it_works.html


 
Avatar
Discard

Hi Ray,
Is this answer still applies on Odoo 15, now I see there is a report of Unrealized Currency Gain / Losses.

So, my question is:
1. Does the computation on-the-fly on balance sheet still working on V15?
2. Does creation of adjsutment entry is a better way to manage this? What is the reason? (Since V13 is doing computation on-the-fly and V15 is generating adjustment entry)

1. Yes the computation of on-the-fly balance sheet is still working in Odoo 15. 2. The reason we have the Unrealized Currency Gain/Losses entry is so people can compute the gain or loss. Because of (1) although you can see the balances, you still need to compute what you would lose or gain at that moment.

Hi Randy,

From our experience with the conversion in the financial statement, you have to be super careful.

1- Odoo uses the currency of the company you are logged into to translate the financial statement. So if one subsidiary has the currency as EUR and the other USD, and a third one is GBP; your financial statement will convert to the currency of the company you are actively in.
2- The currency rate Odoo uses to convert the is ONE RATE for all, and it is based on the period you are using. So for example, if you want comparative statements for 12/31/2021, 2020 and 2019. Odoo will use the 12/31/2021 to translate all the statements. We actually had to go fix the code to generate our financial statements. Although the code executes, the logic is WRONG, functionally the report is wrong. The same applies to the trial balance, we will be fixing that one soon.
3- The retained earnings will not translate correctly, because of the closing entries (what rate to use?). this is the reason as well why we abandoned the consolidation module, as it is only useful for profit loss accounts. We unposted the retained earning, and adjusted the balance sheet report to calculate the net income and retained earnings on the fly without the needing to have close entries. It works FLAWLESSLY. It is actually they way Netsuite works, I liked that when we used Netsuite prior to converting to Odoo. There was no need to close.
4- Translation of fixed assets and corresponding depreciation and amortization, as well as Deferred revenue and prepaid expenses will not work. The financial statement translation does not take into consideration that use case. Again we fixed that in the code. GAAP and IRFS uses the acquisition date of the the asset / deferred Revenue/ Prepaid to translate the amortization. Else you will have some differences between functional (balance) and amount_currency.
5- Odoo uses the Balance not amount currency to translate financial statements. The Revaluation report and booking entries is partially fantastic, but limited to only AP and AR. Translating other accounts like banks etc. may be problematic, due to filtering logic. We fixed that as well in our environment.
6- Account Groups, Odoo 15 introduced enhancements to automatically assign the account group, which is brilliant, then they restricted it by company. So rendering the functionality useless in a multi-company environment. We fixed that as well.

We solved all these errors and offered to donate the code and tried to contribute so many times, but the Odoo team (although we are BIG FANS and Support them, refuse to take our feedback). I am happy to provide you with the code and logic and what you need to generate proper Balance sheet, Income statements and CASH FLOW and not use the consolidation APP. Also I more than happy to share with you the fixes for the FIXED assets and additional reports to deferred Revenue and Prepaid expense.

I am also MORE than happy to provide them to Odoo as well for FREE, if they still want to work with the community. We have a vested interest in making sure the system functionally works not simply the CODE executes well. Big fans, paying customers, and hopefully contributors!

Ray this is an open invitation, as I previously done before, to you and Odoo to connect with me directly. Time and time again we offered to help with no response. Let's make the financial reporting work correctly for everyone. Again, we are here to help. After we can simplify the banking complexity where we are forced to have 7 entires to make a bank transfer and make the bank reconciliation great again... SORRY I couldn't resist LOL ...

Hi Jad. We have tens of thousands of Customers who don't need the modifications you propose, that's why you don't see the kind of response you expect.

Hi Ray, respectfully again you are wrong. Dead wrong. Honestly your actions and tone the manner you answer posts is quite unacceptable. I will leave it here. This is s a blind side for Odoo and the team, an unfortunately you will loose customers because of that. Open ERP company is no longer open for feedback!

Hi Jad, I apologize for any actions or tone in my post that have been unacceptable to you. I want only to explain the WHY from my position inside the company you don't work at. I both demo and implement Accounting constantly in my role - for very large, public, multi-company, multi-currency, global customers. The statistic I present to back up my outrageous claim is that today there are over 280,000 Odoo Online databases (where you can't extend the source code) databases with our Accounting App installed. Subtract those who accidentally installed it; those who installed it to try 10 Invoices and gave up; those who installed it only for the simple features; those who use it only as their secondary finance system; etc, etc - and you still get tens of thousands.

Hi Ray, thank you for the apology. I do understand Odoo scaled up and Congratulations on that. We are big fans since 2017 and have invested heavily and went through the growing pain. All what I am asking for is a proper venue to discuss and provide feedback to you.

Functionally the consolidation APP ONLY works for P&L in a multi-company and multi-currency environment. You can not generate a proper balance sheet or cashflow.

The financial reporting in Accounting, with minor tweaks can be extremely powerful, and automates the creation of financial statements. Since 2017 we have been promised consolidation to work, and it doesn't. So we invested and fixed it. If you don't want our input, fine. We are here to help and this is an absolutely open invitation. We tried filing tickets, committing code etc. with no luck. We are good, we have our environment generating proper accounting reports.

The majority of your users may be using single currency, then Odoo reporting will work brilliantly for them. Other than that, they will rely on excel or use reports generated with the wrong logic.

Bank reconciliation is another topic and we can take that off line completely.

Again, happy to help, happy to share and congrats on your success.

I am always interested in hearing about how I can share more information about how to use Odoo without tweaks to meet the needs of our Users. I am not as excited about hearing from the small numbers of Customers who have already decided that we need to make tweaks. I don't feel like I can change YOUR mindset. I post here so others reading can also read my perspective and make their own decisions.

Hi Ray, I totally appreciate that you are building a product, and if Henry ford listened to his customers, he would have built a faster horse! That said, the ask is not to implement our code, but rather be open to hearing from customers about missing functionality or possibly wrong functional outcome.

I do appreciate every product has a philosophy for design. But if a customer is telling you you are missing a wheel on a car, may be you should take a look.

With regards to the financial reporting:
1- The current accounting APP, caters for ONLY single currency. The multi currency is wrong as I articulated above.
2- The fixed assets, in some areas the app uses the balance, sometime uses amount currency and sometimes uses debit and credit. The reports in some cases would take the correct functional currency and applies the rate to it again.. that is a wrong behaviour. Also you are missing prepaid and deferred revenue reports.
3- The account reconciliation does not provide external accountants with a bank reconciliation report. Arguable, this is where you and I would have a disagreement about the number of transactions Odoo uses to make a transfer or process a payment, but I do appreciate in Odoo 14 you wanted to solve for Many2Many match, but the outcome has been a significant increase in the number of transactions and complexity. We can work with the flow, BUT the report is still not functional, and the actual reconciliation filter is wrong. as the user gets the same transactions you get in the first tab. Which is not what the documentation states.
4- Account groups, you used to allow account groups to be available in multicompany. Odoo 14 added an enhancement to have it automatically populate. GREAT, but you restricted it by company. The functional outcome of that in a multi-company environment is duplication of the same account group. If a user has 3 companies, then 3 times, 4 companies 4 times. This is where we as users and others have been giving you feedback on the complexity this adds. Also Odoo 14 and 15 use the display name with the range to create the report, rendering the financial statements cluttered. This is an area we have provided feedback to the team via tickets and code commits without any result. So we made the modifications in our environment.
5- Lastly, the consolidation APP for a multi-company and multi-currency environment will ONLY work for the P&L. It is almost impossible to get a balance sheet to properly calculate. This is not an edge case, this is the main product for the accounting APP. The ability to generate the financial statements. I am telling you, we have that fully functional in our environment with full financial reporting in seconds.

The ask, is not to blindly take our feedback, but to provide a true venue / path to receiving feedback. I know you mean well. Odoo is your product, we care about this product, we moved from Netsuite OneWorld to Odoo in 2017. Confidently I would tell you, Netsuite was the best financial reporting system I ever used since 1997, and I have used them all. EQUALLY I am telling you now, we got Odoo 15 financial reporting to that level. If you want to take advantage of that, more than happy to dedicate the time to walk you through that, the better the product is the better it is for us. If you don't want to. That is equally fine, and happy to help when you tag us. This has been and will continue to be an open invitation to you and anyone in the Odoo team.

Related Posts Replies Views Activity
1
Dec 22
5321
1
Oct 24
2337
1
Feb 23
6037
2
Apr 24
2233
1
Nov 24
64