Friday, February 20, 2026
6 changes · master
Resolved issues and error corrections
This update fixes a technical issue that previously caused errors when closing a Point of Sale (POS) session if the partner's address (street or postal code) was missing. Now, the system gracefully handles these empty address fields, ensuring a smoother POS session closure and preventing disruptions to order processing. This improves the reliability of the German POS certification process.
Original PR description
Before this commit, if a POS order was created with a partner that had an empty street or postal code, the system would raise an error when closing the POS session. opw-5897334 Forward-Port-Of: odoo/enterprise#106300
This update removes an unnecessary step in the HR payroll process, streamlining operations and improving performance. Additionally, the commit addresses minor formatting issues identified by a code quality tool, ensuring consistent and maintainable code. This change focuses on internal efficiency within the HR payroll module.
Original PR description
Before this commit, a useless call to `generate_work_entries` was made since the result needs to be assigned to a variable in order to be used. This commit also fixes the 2 ruff formatting warnings in the file (useless import + ambiguous variable name)
This update resolves a bug where the minimum wage warning wasn't displayed correctly for employees without assigned jobs in the Belgian payroll system. The fix removed a redundant condition within the payroll calculation, ensuring the warning appears as expected when a low salary is set for employees lacking a job assignment. This ensures accurate payroll reporting for Belgian companies.
Original PR description
Steps to reproduce: - Open an employee on the Employees app for a Belgian company - On the payroll tab, set the salary to lower than the minimum wage for an employee that has no job - The warning will not show unless the employee has a job set to him Cause of the bug: - Condition inside _compute_l10n_be_is_below_scale function returned false if an employee had no job Fix done: - Removed unneccessary condition task-5424012
This update resolves an issue where test runs were repeatedly generating unnecessary assets, slowing down the testing process. By adding a specific asset bundle to the test generation list, we've eliminated this redundancy and significantly improved test performance. This change ensures tests run more efficiently and reliably.
Original PR description
During tests runs, lazy loaded assets are generated on the fly, and eventually multiple hundred of times (i.e. +/- 150 times on runbot). This commit adds the `web_studio.studio_assets` bundle to the pregeneration list to avoid regenerating during tests runs. Forward-Port-Of: odoo/enterprise#107147
This update clarifies the visibility of specific fields within the Belgian payroll and fleet modules. Previously, generic fields were consolidated across all countries, but this change restores the original design, keeping all BE-specific fiscal logic within the Belgian module. This ensures accurate reporting and compliance for our Belgian clients.
Original PR description
This branch only hides BE-specific fields in l10n_be_hr_payroll_fleet (they remain defined/used there and are invisible for non‑BE companies). On master (19.3) those generic fields (can_be_requested, default_car_value) were refactored into hr_payroll_fleet so payroll+fleet consumers across all countries can use them; BE fiscal logic stays in l10n_be_hr_payroll_fleet task-5906656 Forward-Port-Of: odoo/enterprise#107620 Forward-Port-Of: odoo/enterprise#106456
This update fixes a technical issue in the account return process where incorrect check codes were being processed. The fix ensures that only the intended checks are executed, preventing potential errors and maintaining accurate reporting. While previously shielded by a safeguard, this change reinforces the system's reliability.
Original PR description
the check codes to ignore was wrongly defined, leading to contain records instead of 'code', plus having the exact opposite of what it was supposed to contains, i.e. codes that aren't supposed to be run at the current state of the return. However, it didn't have any impact functionally because it was "protected" by the function _should_run_checks(), which might disapear in the future. Forward-Port-Of: odoo/enterprise#107158