Monday, May 11, 2026
19 changes · saas-19.3
Resolved issues and error corrections
This update resolves a problem preventing the demo data for the MRP Subcontracting module from loading correctly in Odoo 19. The fix ensures that the correct product template record is used, which was previously mismatched. This ensures demo data loads properly and allows users to test the module's functionality.
Original PR description
Steps to reproduce: - Initialize an empty database with demo data enabled - Install mrp_subcontracting Problem: The product.product `product_delivery_02` record does not share the same #ID as the product.template `product_delivery_02_product_template` record. This leads to an error when loading the demo data. This errors only started with Odoo v19. Solution: Use the right product.template `product_delivery_02_product_template` record. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263387 Forward-Port-Of: odoo/odoo#262949
This update fixes an issue where the PDF viewer field didn't properly save the uploaded file's name. Now, when you upload a PDF, the correct filename is stored, improving file management and organization within the system. This ensures accurate tracking and retrieval of documents.
Original PR description
When uploading a file using the PDF viewer field, the filename was not stored in the corresponding filename field. This commit updates the PdfViewerField to support a filename field via the `filename` attribute. task-4825728 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#262767 Forward-Port-Of: odoo/odoo#259795
This update resolves an issue where error messages from the Danish tax reporting system (l10n_dk_reports) could cause unexpected errors. The fix ensures the system correctly handles error messages, preventing crashes and improving the reliability of tax report generation. This change was driven by a technical update to the underlying system.
Original PR description
before this commit, if the SKU server was returning an error message, the error handler would raise an exception because of the lazyTranslate. The reason is that `join()` expects an actual sting as argument, not a lazy string. This commit adds some tests for the error case and fixes the error due to the lazytranslate in the error codes. opw-6171466 Forward-Port-Of: odoo/enterprise#115887 Forward-Port-Of: odoo/enterprise#115515
This update corrects a technical issue preventing the correct display of IP salary rules on employee payslips. The underlying calculation has been adjusted to ensure accurate reporting of IP contributions. This ensures payroll data aligns with Belgian tax regulations.
Original PR description
-**Issue**: The IP salary rule was not visible on payslip. -**Fix**: Computation has been adjusted to include the correct field. Forward-Port-Of: odoo/enterprise#112711 Forward-Port-Of: odoo/enterprise#110936
This update fixes an issue where preparation print requests for point-of-sale (ePOS) orders were not being processed correctly. Now, users can easily retry printing by clicking a 'Retry' button, ensuring that receipts are always generated as intended, preventing duplicate prints in the kitchen.
Original PR description
When ePOS preparation print fails, user can click on the "Retry" button to resend the request. Due to the logic of preparation receipts reprints, made to avoid duplicate prints in the kitchen, the changes were considered as already printed and the request was never made. We now provide only the printers with failures to the retry callback and a flag to mark them as failing in order to force reprint. Forward-Port-Of: odoo/odoo#263487
This update fixes an issue where the end date on generated payslip PDFs was displayed incorrectly. The problem stemmed from a formatting error in the XML file, which has now been resolved to ensure consistent and accurate date presentation on all payslips. This improves the user experience and data accuracy for payroll reports.
Original PR description
ٍSteps: - Go to the payslip tabs under payroll app - Create a payslip and preview the generated PDF - The end date format is messed up Cause: The format was different because the end date was being overriden in the xml file and being displayed in the xml through t-out tag instead of span and t-field tags. Solution: Matching the format of the start date and end date of the payslip template. Task: 6168607 Forward-Port-Of: odoo/enterprise#115317
This update resolves an issue where a unit test for LDAP authentication was leaving temporary data in the database. Switching to a simpler `HttpCase` approach has corrected this and paves the way for adding another test to address a related bug. This ensures the stability and reliability of our LDAP integration.
Original PR description
The unit test is tagged `-standard` and `database_breaking` because it was leaving left overs in the database. Using an `HttpCase` over a `BaseCase` solves that issue in addition to make the code way simpler. We want to resurrect this unit test class because we plan to add another unit test in that class for a bug fix. Forward-Port-Of: odoo/odoo#263417 Forward-Port-Of: odoo/odoo#261743
This update resolves an issue where the HR system might fail if no active versions of data were available. The change provides a fallback mechanism, ensuring core HR functions continue to operate smoothly. This improves system stability and prevents disruptions to employee management processes.
Original PR description
Forward-Port-Of: odoo/odoo#263324
The customer list view now accurately displays total due and overdue amounts. This fix addresses a technical issue where empty dashes were shown instead of calculated totals when specific columns were added. This ensures accurate reporting of customer financial information.
Original PR description
In the partner list view, enabling the "Total Due" and "Total Overdue" columns results in empty aggregates (—) at the bottom of the list. Steps to reproduce: - Navigate to Accounting -> Customers -> Customers - Add columns 'Total Due' and 'Total Overdue'. - Check the computed totals. Issue: The totals displays dashes (—) instead of the numbers. Analysis: The web client list renderer requires a currency field to be present in the view to correctly format and display aggregate sums for monetary fields, otherwise empty dashes are shown as fallback. opw-6169513 Forward-Port-Of: odoo/odoo#263585 Forward-Port-Of: odoo/odoo#261820
This update resolves an issue where the composer field in the portal chatter wouldn't automatically focus after an emoji was added. The fix ensures the composer always receives focus, improving the user experience. This was caused by a missing default value for the composer's autofocus property.
Original PR description
Before this commit, after adding an emoji via the emoji picker in the portal chatter, the composer would not be focused. This is due to the `autofocus` prop of the composer being optional and not having a default value, leading to `NaN` when being incremented while `undefined`. This commit fixes the issue by giving it a default value of 0. task-6204911 Forward-Port-Of: odoo/odoo#263494
This update resolves a visual issue within the Time Off Type settings, specifically when the 'Allow Negative' option is selected. The change involved restructuring the form layout to correct a broken display, ensuring the Time Off Type settings are presented correctly. This improves the user experience for managing time off requests.
Original PR description
Version: - saas-19.3 Steps to reproduce: - Install the Time Off module - Go to Settings → Time Off Types - Click on “Allow Negative” Issue: - The form layout for Time Off Type is broken Cause: - Before this PR: https://github.com/odoo/odoo/pull/249288 , the Allow Negative field was inside a <group> tag. - After the PR, it was moved inside a <div>. Fix: - Updated the class based on the new structure to fix the layout Task-6127402
This update removes a restriction that previously required Lazada products to be 'storable'. When stock synchronization with Lazada is disabled (as is common), tracking stock levels isn't needed, so this restriction is no longer relevant. This change simplifies product setup for Lazada listings.
Original PR description
Lazada items previously required products to be of type 'storable'. This restriction is unnecessary when stock synchronization is disabled, since no stock tracking is performed in that case. opw-6173986 Forward-Port-Of: odoo/enterprise#116543
This update fixes an issue where the navbar menu items and app icon would disappear when users zoomed out or increased the screen width on mobile devices. The fix ensures the navbar dynamically adjusts to display the full menu and icon when sufficient screen space is available, improving the user experience.
Original PR description
**Issue:** In the navbar view, when a user starts in mobile view (narrow width) and then increases the screen width (e.g., by zooming out or resizing), the menu items and app icon do not reappear.…
**Issue:** In the navbar view, when a user starts in mobile view (narrow width) and then increases the screen width (e.g., by zooming out or resizing), the menu items and app icon do not reappear. The navbar remains stuck in mobile mode even when there is enough space to display the full layout. **Fix:** The navbar was relying on `env.isSmall`, which is only set during initialization and does not react to window resizing. This has been updated to use `this.ui.isSmall`, which is reactive and updates dynamically when the viewport size changes. **Before:** After resizing from mobile to a larger width, the navbar continued to behave as if it were still in mobile view, keeping menu items and the app icon hidden. **After:** When the screen width increases, the navbar correctly detects the change and re-renders, restoring the menu items and app icon as expected. opw-6107660 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263675 Forward-Port-Of: odoo/odoo#263039
This update ensures that 'Back on' messages for employees on holiday are now consistently displayed in both the standard and compact versions of the chat sidebar. Previously, these messages were only visible in the larger sidebar view. This enhancement provides a more complete and user-friendly experience for viewing team availability.
Original PR description
Before this commit, the "Back on X" text below chats of people that are away was only displayed in non-compact sidebar. This comes from `xpath` that targets only the non-compact sidebar. This commit fixes the issue by adding the `xpath` for the compact sidebar. Task-6197362 Before / After <img width="247" height="254" alt="before" src="https://github.com/user-attachments/assets/da149668-7649-479a-baca-c3df9f6600b6" /> <img width="240" height="279" alt="after" src="https://github.com/user-attachments/assets/072405d1-b050-4314-933f-31f1c1c30ad4" /> Forward-Port-Of: odoo/odoo#263426 Forward-Port-Of: odoo/odoo#263071
This update fixes an issue where products added to a sales order catalog were appearing in the wrong order. The change ensures products are added to the catalog in the intended sequence, improving the user experience when managing product selections. This resolves a bug related to how the system adds new order lines to the catalog.
Original PR description
# How to reproduce
- Create product n1 & n2
- Create a SO
- Add a section to that SO
- Go to the catalog
- Ensure the section is selected, then add product n1 followed by n2
# The problem
The orders of the product are reversed. n2 is before n1 in the SO
# Cause
Clicking on the Add button will trigger an RPC call to "/product/catalog/update_order_line_info"
that will endup adding a new sale order line :
https://github.com/odoo/odoo/blob/c7f05ae216de64d1f8e76e332bc6dd9cf11ce657/addons/sale/models/sale_order.py#L2222-L2227
To determine the sequence of this new order line, we call `_get_new_line_sequence`.
Since a section_id is given, the new order line is inserted right after, before any
product under the same section :
https://github.com/odoo/odoo/blob/c7f05ae216de64d1f8e76e332bc6dd9cf11ce657/addons/account/models/product_catalog_mixin.py#L59-L63
opw-6175704
Forward-Port-Of: odoo/odoo#262556This update resolves an issue where user avatars appeared stretched on user profile pages after adapting the Odoo code to the m3.1 version. The fix ensures that user avatars display correctly, providing a consistent and professional user experience. This improves the visual quality of user profiles.
Original PR description
Before this commit, the user's displayed avatar was unexpectedly stretched after adapting the code to m3.1. Steps to reproduce: - Go to Settings > Users & Companies > Users - Select a user from the list -> The user's avatar appears stretched (bug) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a technical issue that prevented users from leaving live chat channels without triggering an error. The fix ensures the system only removes a user's access once when they leave a channel, improving stability and the user experience. This resolves a previous access problem.
Original PR description
When a non-livechat user leaves a livechat channel after being invited, an access error occurs. This is due to `leaveChannelRpc` being called twice: once in `_onClose`and again in `leaveChannelProcess`. The first call removes the membership, while the second attempts to access the channel without proper rights, triggering the error. This commit fixes the issue by ensuring that `leaveChannelRpc` is only called once when leaving the channel. Task-[6072247](https://www.odoo.com/odoo/project/1519/tasks/6072247) Forward-Port-Of: odoo/odoo#262020 Forward-Port-Of: odoo/odoo#257328
This update fixes an issue where payment methods weren't correctly displayed for branch companies within Odoo. Previously, the 'Payment Method' field in partner and account move forms didn't show options from the parent company. Now, payment methods from the parent company are consistently available when working with branch companies, ensuring accurate financial processing.
Original PR description
**Steps to reproduce:** - Install Contacts and Accounting - Create a branch company - Switch to the branch company **Issue:** In the partner form, "Payment Method" field doesn't propose the methods coming from the parent company. Same issue on the account move form. However, in the payment wizard opened from an invoice, the payment methods from the parent company are available. The behavior should be consistent. The payment methods from the parent company should be available from a branch company opw-6001573 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260168
This update corrects a bug where a project's warning status was incorrectly calculated due to an outdated data format. The fix ensures all projects display a default 'false' warning status, streamlining the system. This change is considered low impact and will be addressed in the main Odoo release.
Original PR description
Prior to this commit, the `compute` method was getting all the projects that had missing employee sale order line mappings through an SQL query. The result of the query is supposed to be a tuple but was treated as an array of `Integer` ids causing trouble while browsing and then later writing the value for the field. Since the field `warning_employee_rate` is not used in the views we can assume that the warning will be `False` for all projects and remove this field later on Master. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263866