跳至内容
Odoo 菜单
  • 登录
  • 免费试用
  • 应用程序
    财务
    • 会计
    • 发票
    • 费用
    • 电子表格 (BI)
    • 文档
    • 电子签名
    销售
    • 客户关系管理
    • 销售
    • POS 销售点管理-零售
    • POS 销售点管理 - 餐厅
    • 订阅
    • 租赁
    网站
    • 网站设计
    • 电子商务
    • 博客
    • 论坛
    • 在线客服
    • 在线学习
    供应链
    • 库存
    • 制造
    • 产品生命周期
    • 采购
    • 维护保养
    • 品控
    人力资源
    • 员工
    • 招聘
    • 休假
    • 评价
    • 内部推荐
    • 车队
    营销
    • 社媒营销
    • 电邮营销
    • 短信营销
    • 近期活动
    • 营销自动化
    • 网上调查
    服务
    • 项目管理
    • 工时单
    • 现场服务
    • 服务台
    • 排期
    • 预约
    生产力
    • 讨论
    • 批核
    • IoT物联网
    • VoIP
    • 知识库
    • WhatsApp
    第三方应用软件 Odoo 定制 Odoo云端平台
  • 行业
    零售
    • 书店
    • 服装店
    • 家具店
    • 食品杂货店
    • 五金店
    • 玩具店
    餐饮与酒店服务
    • 酒吧及酒馆
    • 餐厅
    • 快餐
    • 民宿
    • 饮品分销商
    • 酒店
    房地产
    • 房地产代理
    • 建筑师事务所
    • 建造业
    • 地产管理
    • 园艺
    • 业主协会
    咨询
    • 会计师事务所
    • Odoo合作伙伴
    • 市场推广公司
    • 律师事务所
    • 人才招聘
    • 审核 & 认证
    制造
    • 纺织
    • 金属
    • 家具
    • 食品
    • 啤酒厂
    • 企业礼品
    保健与健身
    • 体育俱乐部
    • 眼镜店
    • 健身中心
    • 健康从业者
    • 药房
    • 发型屋
    商贸服务
    • 维修人员
    • IT 硬件及支持
    • 太阳能系统
    • 鞋匠
    • 清洁服务
    • 暖通空调服务
    其他
    • 非营利组织
    • 环境机构
    • 广告牌租赁
    • 摄影服务
    • 自行车租赁
    • 软件经销商
    浏览所有行业
  • 社区
    学习
    • 教学视频
    • 文档
    • 认证
    • 培训
    • 博客
    • 播客
    赋能教育
    • 教育计划
    • Scale Up! 商业游戏
    • 参观Odoo
    获取软件
    • 下载
    • 版本对比
    • 发布
    合作
    • Github
    • 论坛
    • 近期活动
    • 翻译
    • 成为合作伙伴
    • 合作伙伴服务
    • 注册您的会计事务所
    获取服务
    • 寻找合作伙伴
    • 查找会计服务
    • 预约顾问咨询
    • 安装及推行服务
    • 客户参考
    • 支持
    • 升级
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    获取演示
  • 定价
  • 技术支持

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • 客户关系管理
  • e-Commerce
  • 会计
  • 库存
  • PoS
  • 项目
  • MRP
All apps
只限注册用戶才可与社群互动。
所有帖文 人 徽章
标签 (查看所有)
odoo accounting v14 pos v15
关于此论坛区
只限注册用戶才可与社群互动。
所有帖文 人 徽章
标签 (查看所有)
odoo accounting v14 pos v15
关于此论坛区
帮助

How does Odoo handle unrealized currency gains or losses?

订阅

此帖文有活动时,接收通知

此问题已终结
currencygain/lossunrealized
2 回复
13590 查看
形象
Community Question

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?


0
形象
丢弃
Andre Bal

I would like to bump this question as i have it too. 

Yara Alkhouri

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..

Ray Carnes (ray)

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.

AMV1

@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.  

Hyperview

@AMV1

Happy to help. The code we made was to solve issues in Odoo 15. For several reasons:

the consolidation APP is useless
the answer Ray provided we were never able to replicate or setup. 
the financial reporting, and report generator used a function to translate the balance sheet and income statement based on the latest currency rate! Which Does NOT with GAAP or IFRS 
Our fix handled multiple aspects:

Fixed the missing dates in the exchange tables. Most of central banks will be missing Weekend, and with UTC cutoff it becomes an issue, especially if the Corn job is scheduled in your timezone, that conflicts with the timezone of the central bank you are using to populate the tables. 
We added on the account a concept of (Historical, Acquisition, closing rate). 
Historical, basically translate the transaction based on the transaction date. 
Acquisition: Check the Asset and deferred revenue schedule Acquisition date and use that date to translate all the booked entries. To eliminate currency fluctuation in Revenue and Fixed assets based on exchange rate. Also known as GAP. The key here is enforce the discipline the every asset and deferred revenue has corresponding schedules and entries. 
We also modified the Account_asset module to populate the relevant information to provide (deferred revenue, Prepaid expense and fixed assets reporting in Odoo 15).
Closing: Use the reporting date rate (this applies to monetary assets, revaluing your bank accounts based on the currency balance if it is different than company balance i.e USD account in Canadian entity)
We modified the Account groups to be multi-company. After months trying to convince Odoo team that is requirement. This drives streamline hierarchy in the chart of accounts and automated reporting. 
Lastly we modified the reports in Odoo 15 to build the hierarchy we and unrealized gain/loss from translation and use account groups from the point above.
Odoo 16 changed the reporting structure and Subscription model. Odoo broke the historical audit trail for sales orders and removed the subscription object, as such we remained on Odoo 15 and currently assessing should we develop code and modules or move back to Netsuite. If we do end up investing to support Odoo16 and 18, I will share the code with you. 

As we are exhausted from releases that breaks features, from complicated bank reconciliation. We have been advocates since 2017, and unfortunately ... I will leave it at that! 

Hit me up later this week on linkedin and reference this discussion. Happy to help you solve this issue. 

形象
Ray Carnes (ray)
最佳答案

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


 
1
形象
丢弃
Randy Raharjo

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)

Ray Carnes (ray)

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.

Hyperview

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 ...

Ray Carnes (ray)

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.

Hyperview

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!

Ray Carnes (ray)

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.

Hyperview

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.

Ray Carnes (ray)

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.

Hyperview

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.

喜欢讨论吗?不要只阅读,加入进来!

立即创建账户,享受专属功能,与我们的精彩社区互动!

注册
相关帖文 回复 查看 活动
What options do I have to revalue foreign currency holdings? 已解决
currency foreign gain/loss unrealized revalue
形象
形象
1
12月 22
7847
V14: Not able to post Adjustment Entry in Unrealized Currency Gains/Losses report 已解决
currency unrealized v14
形象
形象
1
10月 24
4559
How does Odoo handle realized currency gains or losses? 已解决
currency gain/loss realized
形象
形象
1
2月 23
8505
How to generate balance bank unrealized Currency Gains or Losses in odoo 15
currency unrealized v15 foreing
形象
形象
形象
2
4月 24
4606
For unrealized gains, what is the logic behind having a reversal date for bank accounts when the balance is already certain? 已解决
currency entry unrealized gains losses
形象
形象
1
11月 24
2537
社区
  • 教学视频
  • 文档
  • 论坛
开源
  • 下载
  • Github
  • Runbot
  • 翻译
服务
  • Odoo.sh 托管
  • 支持
  • 升级
  • 自定义开发服务
  • 教育
  • 查找会计服务
  • 寻找合作伙伴
  • 成为合作伙伴
关于我们
  • 我们的公司
  • 品牌资产
  • 联系我们
  • 招聘
  • 近期活动
  • 播客
  • 博客
  • 客户
  • 法律 • 隐私
  • 安全
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo致力于为企业管理提供高效智能的开源解决方案,是全球业内高速成长的软件服务商之一,逾七百五十万用户选择Odoo进行数字化升级。通过一系列全业务链覆盖、高度集成、简单易用的商业应用,助力企业实现信息化改革、降本增效并释放公司增长潜力。

Odoo独特的价值在于是一款非常容易使用又完全集成的应用。

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now