Friday, February 20, 2026
10 changes · master
Resolved issues and error corrections
This update resolves an issue where editing a value in a report would cause calculation errors. The fix ensures that report data is correctly processed when external values are modified, improving report accuracy and reliability. This impacts report generation and data consistency.
Original PR description
// Bug The following flow failed: 1) Create a report with 3 lines: - Line 1: using the "domain" engine - Line 2: using the "external" engine, with subformula="editable" - Line 3: an aggregation…
// Bug
The following flow failed:
1) Create a report with 3 lines:
- Line 1: using the "domain" engine
- Line 2: using the "external" engine, with subformula="editable"
- Line 3: an aggregation summing lines 1 and 2
2) Open the report, and edit the amount in line 2
===> Error message, stating Line 1 cannot be evaluated while evaluating Line 3's formula.
// Cause of the issue
When editing a manual value, to avoid recomputing the whole report uselessly, the client sends the column_groups_totals that were computed to render report back to the server. When modifying the external value, that data structure is used to get the results of all other expressions, and reevaluate the aggregations that depend on the modified external value. json is used to send the column_group_totals.
json conversion always forces the keys to be strings. In the past, this was no problem, since the column_group_totals' keys were column group keys, which were also strings server-side. However, https://github.com/odoo/enterprise/commit/ec3581cd759d8c4e03db9e08f6f95546e5724e1f now makes those key indices of a list, hence integers. So, when column_group_totals were sent from the client, they basically were ignored, since none of their keys matched any column group index, causing the bug.This update corrects a bug in the Indian payroll configuration, specifically preventing automatic payslip creation when new employees are generated. It also adjusts the default basic salary percentage to 50%, ensuring benefit updates only affect gross salary and employer costs, maintaining the employee's wage and payroll structure.
Original PR description
- Prevent automatic payslip creation when an employee is generated from an offer. - Fix the default Indian basic salary percentage to 50% instead of 60%. - Ensure benefit amounts are treated as additional employer payments and do not rebalance the employee’s wage or basic salary in the salary configurator. After this change, benefit updates only impact gross salary and employer cost, while the wage remain unchanged. task-[5501683](https://www.odoo.com/odoo/project/1251/tasks/5501683)
This update resolves an issue causing tour failures related to inconsistent state updates within the stock barcode module. The changes streamline tour execution, improve performance, and address a concurrency error, ensuring smoother and more reliable barcode scanning workflows. This enhances the user experience for inventory management.
Original PR description
Removes the `undeterministicTour_doNotCopy` from `stock_barcode` tours and fixes them to avoid the undeterministic error. This commit makes also minor changes like: - Removing useless `timeout`; - Using the new URL action path instead of old long action URL; - Creating records in batch when possible; - Renaming some tours to use the same name than the related python test; - Removing records created in specific test to use the records created in the setup instead. This PR also fixes a race condition which happened in `stock_barcode_mrp` `MainComponent` `saveFormView` .
This update fixes a bug in the Belgian payroll system that was causing incorrect calculations for meal vouchers and private car benefits on payslips. By assigning the correct work entry type, the system now accurately reflects these benefits, ensuring accurate reporting and compliance.
Original PR description
In this commit, we fixed the data of the existing Belgian structure types by setting the right work entry type as default_work_entry_type_id. Belgian's structure types should have the correct attendance work entry type to consider the meal vouchers and the private car in the benefits and payslip lines Before this change, the belgian payslips will have quantity 0 for meal vouchers and private car. After this change, the belgian payslips will have the correct quantity for both meal vouchers and private car. task-5946425
This update resolves an issue impacting the MRP Gantt view, specifically by reverting to a reliable view and introducing a new Work Center calendar. It also enhances the display of work orders and allows users to manage blocked workorders more effectively, improving overall planning efficiency.
Original PR description
- Use the old 'workcenter' gantt view rather than the 'production' (and remove it) - Create a new Work Center calendar - Add variant name in workorder display name - Add the falsy label to employee_assigned_ids (for Gantt view mainly) - Restore the possibility of not planning the 'blocked by' workorders - Reload after Plan in Gantt view task: 5946267
This update optimizes the recurring invoice process, resulting in faster performance and more reliable invoice generation. By streamlining data access and improving matching algorithms, the system now handles subscriptions more efficiently, reducing potential errors and improving overall user experience.
Original PR description
Before this commit, the recurring invoice process did extra searches, duplicated context handling, and used slower filtering logic. The parent line detection also rebuilt comparisons each time, which could lead to wrong matches or slow performance. After this commit, grouped subscriptions are merged more cleanly, context is applied once, closed orders are tracked with a set, and invoice lines are grouped by order for faster access. Parent line lookup now uses a precomputed map for quicker and safer matching. taskid-5265275
This update fixes a discrepancy in accounting calculations within the Point of Sale (POS) module for the Mexican tax reporting (l10n_mx_edi_pos) functionality. Previously, the POS was not correctly processing assets, leading to inaccurate amounts compared to calculations performed in Python. This change ensures consistent and accurate financial reporting.
Original PR description
Before this commit, the needed assets were not correctly loaded in the POS, which caused the amounts to be different from the ones computed in python. opw-5935191 Forward-Port-Of: odoo/enterprise#107657
This update addresses a potential issue where global invoices sent from the POS in Mexico could fail to send correctly, leading to duplicate documents being submitted to the SAT portal. Increasing the timeout for communication with the SW sapien system helps ensure these invoices are reliably processed, preventing errors and maintaining compliance. This resolves a reported problem impacting invoice accuracy.
Original PR description
**Fix:** Increase the read timeout for POST requests to SW sapien PAC. It may prevent timeout issue when sending a global invoice from the POS with a lot of POS orders that could lead to duplicated documents on the SAT portal when retrying to send the global invoice again. opw-5347962 Forward-Port-Of: odoo/enterprise#107735
This update adjusts how accents are handled in CFDI documents for Mexico, aligning with SAT regulations. Previously, all accents were removed, which was incorrect. Now, users can individually exempt partner records from accent sanitization, ensuring accurate data submission to the tax authority.
Original PR description
An improvement in September (PR #95207) began removing accents from legal names in CFDI documents, since we assume most customers did not include accents in their legal names. However, this change…
An improvement in September (PR #95207) began removing accents from legal names in CFDI documents, since we assume most customers did not include accents in their legal names. However, this change prevented all accents (save `ñ` and `Ñ`) from being sent to the SAT. The SAT does allow accents in legal names. Please refer to [Anexo 20 Guía de llenado de los comprobantes fiscales digitales por Internet](http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Anexo_20_Guia_de_llenado_CFDI.pdf), pg 17 for an example. Because of this, several PRs have been merged to prevent individual accents from being sanitized (PRs #96043, #106557, and #107859). This fix aims to remove these individual exemptions. Instead, individual `res.partner` records can be exempted from accent sanitization entirely through the field `l10n_mx_edi_sanitize_name`. This commit also adds a server action (visible in debug mode) to mass-exempt `res.partner` records from accent sanitization. [opw-5915515](https://www.odoo.com/odoo/project.task/5915515)
This update ensures Odoo's payroll system fully complies with Belgian ONSS (Organisatie voor Sociale Verzekeringen) regulations. It includes improvements to carbon emission calculations, ATN (BIK) car taxes, and employee data tracking, ultimately improving accuracy and adherence to local tax laws.