Daily updates from Odoo
Tuesday, August 19, 2025
4 changes · saas-18.4
Enhancements to existing features
Email processing now avoids loading large unnecessary message data when handling mail records. This reduces memory pressure and lowers the risk of out-of-memory failures, especially when processing large email volumes.
Original PR description
Modifications are made around read, filtered, list comprehension. The read function usually does not prefetech fields other than stated. But in this case, since the fields are related fields from…
Modifications are made around read, filtered, list comprehension. The read function usually does not prefetech fields other than stated. But in this case, since the fields are related fields from another model, The fields of the other model are prefeteched. This includes the body which can be very big in size and cause an out of memory error. Filtered does not need other fields and keeps them unnecessarily in cache. List comprehension where it has a reference to specific field inside the model also triggers the prefetecher. Benchmark: | |Number of queries| SQL time| Python time|| |-------|----------------------------|----------------|---------------|-| |with prefetch| 82| 1.887 | 7.898| Out of memory| |Without prefetch| 120| 0.385 | 5.973| | The benchmark with the prefetch was done locally with increasing the memory limit. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#211075 Forward-Port-Of: odoo/odoo#183893
This update adds automated test coverage for employee-related point-of-sale workflows, including cashier display, login, payments, cash movements, and order handling. It helps reduce the risk of regressions in staff-managed POS operations without changing day-to-day functionality for users.
Original PR description
This commit introduces HOOT test coverage for the pos_hr module: - Added tests for primary model :patched pos.order - Added tests for patched pos_store.js. - Added component tests for Navbar, CashPopup, PaymentScreen, LoginScreen task-4945630 Forward-Port-Of: odoo/odoo#221492
Belgian Annual Accounts exports from the General Ledger now generate an XML file instead of a fixed-format TXT file. This better matches official formatting needs and supports richer details such as account codes, debit and credit values, multilingual descriptions, and metadata for downstream processing.
Original PR description
The previous Annual Accounts export in the General Ledger generated a TXT file with a fixed column order, which did not meet the structural or formatting requirements for downstream usage. This commit replaces the TXT export with an XML export conforming to the official format, including fields such as account code, debit, credit, multilingual descriptions, and metadata. task-5005345 Forward-Port-Of: odoo/enterprise#92454 Forward-Port-Of: odoo/enterprise#92071
Danish companies can now prepare and send VAT report data from Odoo to the government reporting services. The flow retrieves required filing dates, submits a draft VAT return, and provides access to receipt and payment information after approval on skat.dk.
Original PR description
The Danish government has set up a system enabling users of accounting software to send their tax reports to the government directly from the accounting software. To do this, there are 3 different…
The Danish government has set up a system enabling users of accounting software to send their tax reports to the government directly from the accounting software. To do this, there are 3 different web services: - VirksomhedKalenderHent: This web service returns the dates on which the legal entity must submit its VAT returns. These dates are required to submit VAT returns. - ModtagMomsangivelseForeloebig: This web service submits a draft VAT return to skat.dk with all the fields to be filled in. The web service returns a deep link to skat.dk, where the legal entity can access and approve the submitted VAT declaration. - MomsangivelseKvitteringHent: This web service provides a receipt for the VAT return, given that the legal entity has approved it. This service also includes information on how to pay any outstanding balance. These three web services use SOAP and encryption to function. What we decided to do was to take the SOAP envelopes of the requests and create them by hand and send them to the government portals. task: 3326971 Iap: https://github.com/odoo/iap-apps/pull/1090 Forward-Port-Of: odoo/enterprise#92402 Forward-Port-Of: odoo/enterprise#72094