Thursday, May 21, 2026
19 changes · master
Enhancements to existing features
This pull request completes the translation of the WPS format for the Saudi HR Payroll module within Odoo Enterprise. The changes focus on updating the localization files to support WPS reporting requirements in Saudi Arabia. This ensures accurate payroll processing and compliance with local regulations.
Original PR description
follow-up task-6220113
This update enhances the SAWT, QAP, and SLSP reports by correctly formatting partner names based on the business type (individual or corporation). For individuals, names are displayed as 'Last, First, Middle'; for corporations, the standard partner display name is used, ensuring accurate reporting data.
Original PR description
In this commit: - Updated SAWT, QAP, and SLSP reports to format partner registered name based on entity type. - Individual: if entity type is individual, registered name is formatted as "Last, First, Middle" and if the names are empty then registered name is " , , ". - Corporation: if the entity type is corporation, use the partner's display name. Related PR: Community: https://github.com/odoo/odoo/pull/255258 task-5928297
Resolved issues and error corrections
This update prevents Odoo from wasting time attempting to create API keys for unreachable databases. Previously, errors would clutter the synchronization results and delay the process by up to 15 seconds. Now, the system simply skips these databases, improving synchronization speed and user experience.
Original PR description
#### The aim of this commit is to: - avoid cluttering the user UI with "obvious" error. - avoid wasting up to 15s trying to create the key if we don't get any response. #### Context: When a db is unreachable, trying to create an api-key on it will result in an error. #### Before this commit: - The wizard showing the result of the synchronization would show the error for every single databases in which it encounters that error. If there are a lot, it would bloat the result. - An unresponsive db would waste 15s of our sync time in a synchronized process. If that happens multiple times, we could end up a lot of time waiting for no reason. #### After this commit: We don't try to create an api key for unreachable databases. task-id: [5945269](https://www.odoo.com/odoo/project.task/5945269) - follow up Forward-Port-Of: odoo/enterprise#117832 Forward-Port-Of: odoo/enterprise#117053
Features or functions removed from Odoo
This update simplifies the tax reporting process for Odoo Enterprise users in Egypt. Redundant return types and associated reports have been removed to reduce complexity and improve clarity. This change focuses on streamlining the reporting experience and ensuring accurate tax compliance.
Original PR description
The Schedule Tax and Other Tax return types and their related reports were removed to reduce redundancy and avoid confusion. task-4967527 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Code cleanup and technical improvements
This update streamlines how changes to Point of Sale orders are tracked and managed. Previously, changes were handled internally, but now the system calculates and displays order changes directly on the user's device (client-side). This improves responsiveness and reduces server load.
Original PR description
This commit replaces the previous order change tracking mechanism based on `last_order_preparation_change` with two new models: `pos.prep.order` and `pos.prep.line`. All the order changes will be computed on the client side. Task-5030559
This update enhances the accuracy of VAT and PND tax reports for Thai businesses by integrating branch code information. Previously, the system relied on a different identifier; now, it correctly reads the branch code from the `additional_identifiers` field, ensuring more precise tax reporting. This change is part of a broader migration to improve data consistency.
Original PR description
Following up to the branch code migration to additional identifier in l10n_th. We update VAT and PND tax reports along with the test to read the branch code from `additional_identifiers` instead of `company_registry`. Community PR: https://github.com/odoo/odoo/pull/263746 Upgrade PR: https://github.com/odoo/upgrade/pull/10185 task-6166583
This update resolves a visual issue where priority stars on the Gantt chart were misaligned with the task cards. The change adjusts the layout of the popover to ensure the stars appear correctly, improving the overall clarity and professionalism of the Gantt chart view. This ensures accurate prioritization is visually represented.
Original PR description
- Adjust footer margin in the gantt popover so priority stars align correctly with the card content.
This update corrects a bug where entering spaces in the 'Forecasted Demand' or 'Forecasted Stock' cells of the Master Production Schedule caused an error. The fix ensures that blank input is treated like empty input, preventing the error and allowing users to accurately input data.
Original PR description
## Steps to Reproduce:
1. Install `mrp_mps` module.
2. Manufacturing > Planning > Master Production Schedule
3. Click on "Forecasted Demand" or "Forecasted Stock" of any product.
4. Click `<SPACE>` and then `<ENTER>`.
## Error:
`ValueError: could not convert string to float: ' '`
## Cause:
When a user enters whitespace(' ') in a **Forecasted Demand** or **Forecasted Stock** cell, the string bypasses the existing `isNaN/empty` checks at [1]. Then the raw whitespace string passes to the ORM call, where `float(' ')` raised a ValueError.
## Fix:
This commit trims the value so that blank input is treated the same as an empty string, and the cell reverts to its original value.
[1] - https://github.com/odoo/enterprise/blob/6ae5d3df6e9305416e4d6f74259cd01753025f42/mrp_mps/static/src/components/line.js#L128
sentry-7473062917
Forward-Port-Of: odoo/enterprise#117052This update corrects a visual issue in the Odoo Studio's home menu. Since the saas-19.3 release, an unintended gap appeared between the navigation bar and the applications section, revealing the background. This change removes the problematic margin and adjusts spacing to ensure a clean and professional appearance.
Original PR description
Since saas-19.3, an extra margin on the home menu introduced a visible gap between the Studio navbar and the apps section, exposing the background. This commit removes the margin from the o_home_menu and applies spacing to the search input instead. task-6175467 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#116410
This update fixes a bug that prevented users from creating new helpdesk teams. The issue occurred when the system attempted to use a default email template after clearing all helpdesk configurations. The fix ensures the template exists before attempting to use it, preventing an error and ensuring team creation functionality.
Original PR description
Currently, an error occurs when a user tries to create a helpdesk team record. **Steps to Reproduce:** - Install the `helpdesk` module without demo data. - Go to `Settings` > `Technical` > `Email` >…
Currently, an error occurs when a user tries to create a helpdesk team record. **Steps to Reproduce:** - Install the `helpdesk` module without demo data. - Go to `Settings` > `Technical` > `Email` > `Email Templates` and delete the `Helpdesk: Ticket Received` template record. - Go to `Helpdesk` > `Configuration` > `Stages` and remove all records. - Go to `Helpdesk` > `Configuration` > `Helpdesk Teams` and click `New` to create a record. `AttributeError: 'NoneType' object has no attribute 'id'` When the user deletes all stages, the system attempts to create a new stage and assign the "Helpdesk: Ticket Received" mail template to it [1]. However, if this template record does not exist, accessing its id raises the error. This commit ensures that the template record exists before accessing its id, otherwise, None is passed as the default value. [1]: https://github.com/odoo/enterprise/blob/32187f79fb0a595497a5e77db4b22b417b03b8dd/helpdesk/models/helpdesk_team.py#L34 sentry-7482994877 Forward-Port-Of: odoo/enterprise#117446
This update corrects a technical issue where the AI assistant was incorrectly attempting to create project tasks multiple times upon error. This fix ensures that tasks are created only once, improving the reliability and accuracy of the AI-powered task creation process. It addresses a potential for duplicated entries and enhances the user experience.
Original PR description
This commit removes an issue where the LLM would retry on error when performing a creation which would give the impression that it created items twice. task-6229596
This update resolves an issue where the frontdesk kiosk was failing to display the privacy notice and where input fields were growing unexpectedly when data was removed. This ensures users are properly informed about data privacy practices within the frontdesk module, improving user experience and compliance.
Original PR description
This commit fixes the view of frontdesk on the kiosk that was not displaying the privacy notice, and also the privacy notice fields on the form view that had growing input zones when deleting characters. TASK-6236361
This update enables users to reset statement lines directly within the Kanban view, mirroring functionality from previous versions. Previously, this required manually deleting multiple reconciliations, which was inefficient. This change streamlines the process and prevents data loss when managing statement line reconciliations.
Original PR description
This commit adds the possibility to reset a statement line in kanban view like in the previous versions. Function is still there but no UI button was tied to it. This is a problem if you have many reconciliations on one statement line, we do not want to delete them one by one. opw-6015838 Forward-Port-Of: odoo/enterprise#111107
This update corrects a bug where the default prompt within the AI document sorting feature was not updated after a recent code change. The fix ensures the prompt functions correctly, providing the expected guidance to users. This resolves a minor issue impacting the usability of the AI document sorting functionality.
Original PR description
Bug === Since odoo/enterprise/pull/97362 we remove the code action to use a new type of action. But we forgot to update the code in the prompt modal. Task-6230554 Forward-Port-Of: odoo/enterprise#117715
This update resolves an issue where links between related blogs weren't correctly updated. The fix involves a secondary check after blog creation to ensure all links are properly replaced, improving the overall functionality and reliability of the blog system.
Original PR description
Blogs that reference each other were not having their links properly replaced. This commit fixes it by making a second pass to replace the links once the blogs have been created Forward-Port-Of: odoo/enterprise#117871
A recent change removed a template saving step in the planning tour, causing tests for related features to fail. The update now checks for the 'planning_field_service' module, but this check was incomplete, leading to further test failures when multiple apps are installed. This fix ensures the planning tour tests run correctly.
Original PR description
Since fc7b3c2, the "save as template" step of the planning tour was removed, making the test checking for templates in project_forcast fail. The commit also adds a condition checking if planning_field_service is installed before running the planning_test_tour but didn't add it for the sale_planning_test_tour, which extends the planning_test_tour and fails as well if the 3 apps are installed. opw-6176441 runbot-230670 Forward-Port-Of: odoo/enterprise#117882
This update optimizes how bank statement details are recorded, making the system faster and more efficient. By using a batch logging function, the system now processes transactions more quickly without sacrificing accuracy. This change improves overall performance and reduces processing times.
Original PR description
There is no need for a full message post to get the details of the transaction. We can use the batched function instead `_message_log_batch`. Forward-Port-Of: odoo/enterprise#117923 Forward-Port-Of: odoo/enterprise#117742
This update resolves an issue where Odoo was attempting to process GSTR2B attachments that were missing their actual file content. Previously, the system would incorrectly try to process invalid data, leading to errors. Now, the system checks if the attachment content exists before processing, ensuring smoother return filing.
Original PR description
There may be databases contained GSTR2B JSON attachments whose metadata was still present in `ir.attachment`, but whose underlying binary content was missing from the filestore. This caused the matching flow to attempt processing invalid JSON payloads instead of moving the return to `error_in_fetching`. The condition validating JSON attachments now also checks that the attachment raw content exists before adding it to the payload list. opw-6088082 Forward-Port-Of: odoo/enterprise#117684 Forward-Port-Of: odoo/enterprise#117083
This update removes a non-functional systray icon from the website generator module. This simplifies the user interface and improves performance. Additionally, a minor code issue related to an outdated function has been addressed.
Original PR description
The systray icon wasn't used and didn't work as a global notification, so it was decided to remove it. Also small fix for deprecated redirectOutFromLoader.