Daily updates from Odoo
Thursday, June 11, 2026
20 changes · master
New functionality added to Odoo
This update introduces a new feature to calculate and process the Belgian ONSS cotisation 863, a mandatory contribution for employees. The change utilizes predefined rates from a configuration file and integrates this functionality into the existing payroll processing system (dmfa).
Original PR description
add ONSS cotisation (input rule) and using Rates defined in "NOSSContributionRate_2026_1.xml" and add it to dmfa Task Id: 6259645
This update adds a new filter to the salary rule search view, allowing users to specifically search for rules related to the Joint Committee (JC). This enhancement improves the ability to locate and manage salary rules based on this important committee, streamlining HR processes.
Original PR description
This PR expected to Add Joint Committe field on search salary search view, with creteria: `JC is not set or JC contains %search%) && excluded JC does not contain %search%` task:6285374
Enhancements to existing features
This update improves the Odoo website generator by adding a necessary attribute ('data-ws-preserve') for correctly parsing Odoo 2.0 to Odoo 2.5. This change ensures accurate website generation and compatibility with older Odoo versions, streamlining the process for users.
Original PR description
This version change reflects the addition of the data-ws-preserve attributes which is required for the odoo2odoo parsing.
This update simplifies the selection of employee types within Odoo's Belgian payroll module. The 'Worker' employee type is now the second option after 'Employee' in the employee type list, making it easier for users to find and select. This change streamlines the payroll setup process for businesses operating in Belgium.
Original PR description
Update sequence order for employee type in Belgium, move worker as the second options after employee in employee type, makes users easier to find it task:6280177
This update simplifies the way salary rules are displayed in the system. By moving key information to the front and offering a visibility toggle, users can now more quickly find and utilize the necessary rules, particularly when managing expense reports or flexpense tasks. This change improves efficiency and reduces the time spent searching for relevant data.
Original PR description
This PR expected to - Change Pay Structure Visibility as visible by default, move before categories - Change Categories visibility as visible by default with hide option The purpose is to make the view easier to read when we need to search to fill a field, for example the rules on the product for the flexpense task task: 6292402
This update changes the URL structure for our spreadsheet integration with mydb.com, making it more stable and predictable. Previously, the spreadsheet ID was a simple name ('sheet1'), but it's now a unique, short identifier (UUID) to avoid potential issues. This ensures consistent access to the spreadsheet data.
Original PR description
…e default sheet id The sheet is now part of the url: mydb.com/spreadsheet/331?sid=sheet1 The current id for the default sheet is sheet1. It would be better if it was an id like others (small uuid). before: mydb.com/spreadsheet/331?sid=sheet1 after: mydb.com/spreadsheet/331?sid=918fd8b1-b6b0 task-6276062
This update clarifies how work accident leaves are processed for non-workers within the Odoo Enterprise system. It ensures accurate splitting of these leaves and provides a clearer view of how they are allocated. This improves the accuracy of payroll calculations and reporting related to employee absences.
Original PR description
Correctly splitting non-workers' work accident leaves and showing how it will be split. task-6274956
This update simplifies the Helpdesk ticket interface by moving the 'Convert to Opportunity/Lead' option to the action menu. Previously, this button was always visible, creating unnecessary clutter and a less intuitive experience. This change improves the overall usability of the Helpdesk module.
Original PR description
Right now, the “Convert to Opportunity” button is always visible on Helpdesk tickets, even when it is not really relevant. It feels a bit inconsistent compared to other actions, and adds unnecessary clutter to the interface. Hence, this commit moves the convert to opportunity/lead to the action menu of helpdesk tickets. Related: odoo/upgrade#10018 task-6119255
Resolved issues and error corrections
This update fixes an issue where holiday periods incorrectly displayed as 12:00 AM to 12:00 AM in the calendar view. The fix ensures that the start and end times of holiday periods accurately reflect the selected time off, regardless of whether the day is a working or non-working day.
Original PR description
Steps to reproduce: - In Time Off, create a time off type considered as working time and make it selectable in Time Off - Create a time period of that type of time off from the calendar view on a non-working period - The displayed hours will be 12:00 AM to 12:00 AM instead of what was selected Reason: When calculating the requested hour from and to, the _set_request_hours function looked at the working schedule, and since the employee is not supposed to work at that time, it returned 12:00 AM for both the hour from and the hour to. How it was fixed: The _set_request_hours function now takes the selected requested hour from and hour to if the employee is not supposed to work on that day. Task ID: 6151502
This update adjusts the in-app guidance (tours) within the Account Reports module to reflect a recent change: message actions are now located in the 'More' menu. This ensures users can easily find and utilize these actions after the menu reorganization, improving usability.
Original PR description
Purpose of this commit: Since message actions, except Add a Reaction, have been moved into the More menu, this commit updates the tour selectors for the actions that were previously displayed inline and are now available inside the More menu. community: https://github.com/odoo/odoo/pull/268190 task-6275021
This update corrects a technical error that prevented the system from correctly retrieving default planning settings. The issue stemmed from how a recordset was being handled, leading to a system error. This fix ensures that planning settings are consistently and accurately retrieved, improving the reliability of the planning module.
Original PR description
`self` could be non-singletion recordset ``` (Pdb) p self.default_get(['repeat_interval']) *** ValueError: Expected singleton: planning.slot(227, 174) ``` See: 689a15b46c85774f3ab9ee4b9173a549c2ce1abf Forward-Port-Of: odoo/enterprise#120080
This update fixes an issue in the GSTR-1 report generation where document number ranges were incorrectly calculated. The change ensures accurate identification of invoice sequences by using the sequence number instead of the invoice name, preventing misleading results and improving report accuracy.
Original PR description
Steps to reproduce: 1. Install `l10n_in_reports` and set tax return periodicity. 2. Create multiple invoices in same month and name them like "INV/2026/8" to "INV/2026/12" (5 invoices) 3. Create…
Steps to reproduce: 1. Install `l10n_in_reports` and set tax return periodicity. 2. Create multiple invoices in same month and name them like "INV/2026/8" to "INV/2026/12" (5 invoices) 3. Create GSTR-1 of that month and go to Document Summary. 4. The Sr. No from will be "INV/2026/10" and Sr. No To will be "INV/2026/9" Reason: Currently, while fetching the document list from `account.move`, we perform `min(name)` and `max(name)`. Now `name` is a varchar field and thin min and max functions compare them character by character, so naturally, if there are no zeros padded, among the sequences from "INV/2026/8" to "INV/2026/12", leaving the prefix, we got "/8", "/9", "/10", "/11", "/12" and string comparison for `min()` will give "/10" as the smallest and "/9" as the biggest for `max()`, which is misleading. Solution: This commit changes how we query for the min and max name. It now fetches min and max `sequence_number` instead of name and a max `name` of that group. This max name will help identify how many zeros are padded in the `sequence_number`, this will help generate an accurate sequence names for the document summary using the utility `_get_sequence_format_params` in `account.move`. task-6209721
This update fixes a performance issue within the Discuss module, specifically related to how it counts conversations. The change optimizes the query, resulting in faster response times and a smoother user experience. This improvement ensures the Discuss feature remains efficient and reliable for all users.
Original PR description
runbot-243772 https://github.com/odoo/odoo/pull/269111 Forward-Port-Of: odoo/enterprise#120067 Forward-Port-Of: odoo/enterprise#119886
This update allows WhatsApp event communications to utilize templates with the 'default recipient' option, expanding communication possibilities. Previously, a phone field was always required in WhatsApp templates, leading to validation errors when using this new feature. This change improves the usability and flexibility of WhatsApp event communications.
Original PR description
Allow WhatsApp event communications to use templates configured with the default recipient option. Steps to reproduce: - Install `whatsapp_event`. - Open any event. - Open the Communication tab. - Add a WhatsApp communication using a WhatsApp template that has the default recipient option enabled. Problem: The event communication constraint always expected a phone field on WhatsApp templates. Since templates can now be configured to use the default recipient, they may not define a phone field, causing an incorrect validation error when selected in an event communication. Solution: Adapt the event WhatsApp template constraint to allow templates that use the default recipient, while still requiring a phone field when the default recipient option is disabled.
This update ensures that the annual salary warning appears correctly on employee forms when using a fixed wage. Previously, this warning was only shown for certain wage types. This change improves accuracy and compliance by consistently displaying the warning for all fixed wage employees.
Original PR description
On employee's forms, only display the annual salary below threshold warning when the wage type of the version is set on fixed wage. task-6292248
This update removes a duplicate field, "Notice Period Real End", from employee and departure views. This simplifies the process of managing departure dates, especially when "Notice Respect" is set to "Partially", allowing the standard "Departure Date" to be edited.
Original PR description
Remove the redundant "Notice Period Real End" field from both the departure view wizard and employee view, as it duplicated "Departure Date". Now, when notice respect is set to "Partially", the standard "Departure Date" field becomes editable. Task: 6237636
Features or functions removed from Odoo
This update removes a redundant post-initialization hook related to returns generation. This hook was found to be ineffective since a previous change, streamlining the process and improving the performance of the account reporting module. This change ensures resources aren't being used unnecessarily.
Original PR description
the post init hook for returns generation has been useless since this commit: https://github.com/odoo/enterprise/commit/1eebff726e132c11cc5ab0a0284da9bc1ec3272a
This update removes outdated code from the account reports module, streamlining the system's functionality. The change was made because a recent update standardized how custom engines are called, rendering the previous function unnecessary. This improves the overall efficiency and maintainability of the account reporting system.
Original PR description
This function isn't called anymore. Since https://github.com/odoo/enterprise/commit/17947739675d6b0880ee5f5d428b91ec7ec8e3b2, custom engines are called like standard engines ; directly from _compute_formula_batch.
This update simplifies the Pakistan localization by removing the outdated `l10n_pk_reports` module. The Pakistan localization now utilizes the standard chart of accounts for financial reporting, eliminating the need for separate Balance Sheet and Profit & Loss reports.
Original PR description
The Pakistan localization now relies on the chart of accounts structure for financial statement reporting. Since the Balance Sheet and Profit & Loss reports are no longer needed, this commit removes the now-obsolete `l10n_pk_reports` module. see https://github.com/odoo/odoo/pull/266622 see https://github.com/odoo/upgrade/pull/10340 task-5361488
This update removes a redundant function used to manage export options within several Odoo reporting modules. This simplification improves code maintainability and reduces potential complexity. The change ensures a cleaner and more efficient system for generating reports.
Original PR description
To keep the code as clean as possible, avoid using a function called _get_export_options() that simply puts the export_mode parameter. task-6190808