Friday, April 17, 2026
10 changes · master
New functionality added to Odoo
This update introduces a new report that calculates the percentage of Saudi employees within a company's workforce. This allows businesses to track their progress towards Saudization goals and comply with local regulations. The report provides valuable insights into workforce composition.
Original PR description
Add a wizard to compute the Saudization percentage, which is the ratio of Saudi employees to the total number of employees. task: 6102086
Enhancements to existing features
This update prepares Odoo's maintenance request system for a change in how user assignments are handled. It updates related reports and tests to work with the new Many2many structure for user selection, ensuring continued functionality. This migration improves the system's flexibility and future-proofing.
Original PR description
This commit updates dependent modules to support the field migration from 'user_id' to 'user_ids'. It ensures that reports and tests remain functional with the new Many2many structure. task-5960480
Resolved issues and error corrections
This update corrects an issue where empty strings were being used in selection fields, leading to potential errors. The team has standardized on using 'False' for clearing selection fields, ensuring data integrity and preventing unexpected behavior. This change primarily impacts payroll and IoT modules.
Original PR description
https://github.com/odoo/odoo/pull/255091 https://github.com/odoo/upgrade/pull/9745
Features or functions removed from Odoo
This update removes an unnecessary step in sharing helpdesk tickets through the forum. Previously, sharing a ticket triggered a message post, which is no longer required due to a change in the forum's structure. This simplifies the process and improves performance.
Original PR description
Purpose ======= Remove the `message_post` on the forum post when sharing a ticket in forum, because it no longer inherits from `mail.thread`. Task-3586524
Miscellaneous changes
This pull request contains a series of tests across multiple Point of Sale (POS) modules within Odoo Enterprise. The changes primarily focus on static assets (JavaScript and XML files) and associated test files, ensuring the functionality of order processing, preparation displays, and related features. These tests are a standard part of the development process to maintain the quality and stability of the POS system.
Original PR description
test
This update simplifies our testing process by replacing outdated tour tests with more efficient HOOT tests. Unnecessary tour tests focused on basic frontend functionality have been removed and replaced with Python tests for order creation flows, reducing test execution time and improving development efficiency. This change focuses on internal improvements to the testing framework.
Original PR description
*: pos_appointment, pos_discount, pos_enterprise_sms_whatsapp, pos_online_payment_self_order_preparation_display, pos_order_tracking_display, pos_planning, pos_restaurant_preparation_display, pos_sale_subscription In this commit: --- - Converted unnecessary tours (that only test basic frontend functionality without backend involvement) to HOOT tests. - Removed tours that are already covered by existing HOOT tests. - Replaced tours that are used only for order creation or preparation ticket flows with Python tests, avoiding the need to run tours. task-6089607 related-https://github.com/odoo/odoo/pull/259340
This update simplifies the configuration of LNA (Local Network Access) for printer models. By consolidating the IoT and ePOS checkboxes, the system now uses a single setting to control LNA, making it easier for clients to manage. Changes ensure consistency between printer settings and IoT Box records.
Original PR description
The printer model has two checkboxes: one for IoT and one for ePOS. LNA is already hard for clients to understand, we then simplify it by removing the IoT one from the printer model, to use the ePOS one for both. If we check `use_lna` for on a printer type "iot", it will check the checkbox on the IoT Box record. Also, if we check/uncheck `use_lna` on the IoT Box record, it will check/uncheck it on the corresponding printer model. Forward-Port-Of: odoo/enterprise#113542 see odoo/upgrade#9921
This update corrects a technical issue preventing Odoo from correctly identifying Swedish bank account numbers. The fix adds a necessary code tag to ensure the method is recognized as a model method, resolving a potential error when the bank account widget interacts with the system. This ensures accurate processing of Swedish financial data.
Original PR description
The override of `retrieve_account_type` was missing `@api.model`. (the same as Argentinian and Australian overrides) Since this method is called through RPC from the bank account widget, Odoo expected a model method signature. Without the decorator, the call could fail with a missing `acc_number` argument. Add the missing decorator so Swedish account number detection works properly. opw-6002770 Forward-Port-Of: odoo/enterprise#113841
This update fixes a minor issue with the phone dashboard where the revision ID was incorrectly set. The change ensures the dashboard accurately reflects the latest data by using the correct `START_REVISION` identifier. This prevents potential display inaccuracies in the dashboard.
Original PR description
`revisionId` should be `START_REVISION`. Commit f56e6431ea1e2f66610a833bd3d76107171a6e61 updates phone dashboard but with a wrong revisionId. Task: 0 Forward-Port-Of: odoo/enterprise#113983
This update resolves an issue where appraisers without direct access to the appraisal module couldn't add other appraisers. The fix ensures that appraisers can correctly manage the list of appraisers associated with an appraisal, improving workflow and collaboration. It corrects a logic error related to record comparisons.
Original PR description
When you are an appraiser but don't have access rights on appraisal module. You should be able to add other appraiser to the apprasial. This depends on the field 'is_manager', which is computed and triggered by the modification of appraisers. In the compute of this field we are comparing the m2m employee records and the employee_ids of the current user. This doesn't work in the context of an onchange because we have 'New' records with the origin_id, so we need to use the records ids for comparison which always works. Forward-Port-Of: odoo/enterprise#114042