Monday, May 4, 2026
17 changes · saas-19.1
Enhancements to existing features
This update adds the delivery address to the TicketScreen in Point of Sale. This allows sales teams to quickly view and confirm the correct delivery address while scheduling deliveries, streamlining the order fulfillment process. It's a small change designed to improve efficiency and reduce errors.
Original PR description
In this commit: =============== - Added address details on the TicketScreen when the order preset identification type is `address`. - This helps to easily see the delivery address while scheduling the delivery. Task-5974595 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#251389
This update automatically sets the first available printer as the default for Point of Sale transactions. This simplifies the setup process for users and ensures that receipts are always printed without requiring manual selection. Additionally, quick creation of printer settings has been restricted to improve data consistency.
Original PR description
Following this commit: ===== - Set first printer as default printer from the list configured. - Updated the help tooltip. - Added placeholder "None" to field product_categories_ids. - Restrict quick create for `receipt_printer_ids` and `default_receipt_printer_id` for pos.config and res.config.settings views task-5494313
Resolved issues and error corrections
This update enhances the accuracy of write-off reconciliation within the accounting module. It now filters reconciliation models to only display those that are manually created or directly linked to the statement lines' journal, preventing errors caused by unrelated journal associations. This ensures reconciliation reports are more reliable and trustworthy.
Original PR description
In the account reconciliation wizard: - Only show manually created reconciliation models. - Only display reconciliation models that are not linked to any journal or are specifically linked to the journal of the statement lines. task-6059342 Forward-Port-Of: odoo/enterprise#111644
This update fixes an issue where the namespace for DIAN credit notes was incorrectly configured, causing errors when submitting to the DIAN tax authority. The change ensures the correct namespace is applied to the credit note, resolving a recurring problem identified in previous development. This ensures accurate and compliant electronic filing of credit notes for Colombian companies.
Original PR description
Issue: Incorrect `sts` namespace raises several issues when sent to dian Steps to reproduce: - On a Colombian company - Create a credit note - Send to DIAN Current Behavior: - Credit note have `sts` namespace defined to `dian:gov:co:facturaelectronica:Structures-2-1` while their Extension node has another `sts` namespace to `http://www.dian.gov.co/contratos/facturaelectronica/v1/Structures` Expected Behavior: - Only the top level Node should have `sts` namespace defined to `dian:gov:co:facturaelectronica:Structures-2-1`. It was forgotten that Credit Note were part of the Invoices in the last refactor. As it's the second time(odoo/enterprise#68619 3rd commit) it happens, I updated the test. opw-6077050 Forward-Port-Of: odoo/enterprise#114725 Forward-Port-Of: odoo/enterprise#113643
This update fixes an issue where closed Helpdesk tickets were sending out emails with the ticket's database ID instead of the reference number. This ensures that customers receive consistent and accurate information about their ticket status, improving communication and transparency. The change updates a key email template to use the correct ticket reference.
Original PR description
Steps to reproduce: ------------------------ 1. Install the Helpdesk. 2. Go to Settings → Technical → Sequences and set the next number to 100. 3. Create a ticket and send a message using the…
Steps to reproduce: ------------------------ 1. Install the Helpdesk. 2. Go to Settings → Technical → Sequences and set the next number to 100. 3. Create a ticket and send a message using the "Helpdesk: Ticket Received" mail template; Observe that the correct reference (100) is used. (Open the full composer to use "Load template") 4. Now send a message using the "Helpdesk: Ticket Closed" mail template and Observe that it displays the database ID (e.g., 1) instead of the reference. Cause: ------ `new_ticket_request_email_template` uses the ticket reference(`object.ticket_ref`) correctly. https://github.com/odoo/enterprise/blob/d39e291ba89ad018ba6f5f9591d280a834822f27/helpdesk/data/mail_template_data.xml#L18-L19 However, the `solved_ticket_request_email_template` uses the database ID (`object.id`) instead of the actual ticket reference (`object.ticket_ref`), leading to inconsistent references in customer communications. related commit: 3ed5273 Solution: --------- Update `solved_ticket_request_email_template` to use `object.ticket_ref` instead of `object.id` opw-6087466 Forward-Port-Of: odoo/enterprise#114852 Forward-Port-Of: odoo/enterprise#113932
This update addresses a user experience issue where a lingering Point of Sale session remained active after a user closed their browser tab or navigated away. This caused confusion for users. The fix ensures that sessions are properly terminated when the Point of Sale is no longer in use.
Original PR description
When the user closes the browser tab or navigates away after a session in opening_control, the session is not deleted and it causes confusion. opw-6114420 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261207 Forward-Port-Of: odoo/odoo#258933
This update corrects a problem where lingering Point of Sale sessions in the opening_control module persisted after a user closed their browser tab. This prevented proper session cleanup, leading to potential confusion for users. The change ensures sessions are automatically terminated when a user navigates away, improving the overall user experience.
Original PR description
When the user closes the browser tab or navigates away after a session in opening_control, the session is not deleted and it causes confusion. opw-6114420 Forward-Port-Of: odoo/enterprise#115056
This update addresses a change in Sendcloud's API, ensuring continued delivery functionality for our users. We've added a key to requests, allowing our system to communicate with Sendcloud using the older, maintained API version. This ensures a seamless transition and continued delivery service.
Original PR description
Sendcloud pass their api v2 to maintenance and only provide new api V3 key to the new customers. In order to make a smooth transition for the user we add the partner key, so they know that the customer are coming from odoo and they use the v2 api. Future work will be done to upgrade our module and support the v3. API key. Forward-Port-Of: odoo/enterprise#114441
This update resolves an issue where duplicate Odoo databases would retain active connections to ARCA web services. This prevented users from properly testing in a development environment, potentially leading to production connections being used. The fix ensures ARCA connections are cleared when database credentials are updated.
Original PR description
Problem and Cause: When duplicating a database with existing ARCA connections, the connections to ARCA webservices are not cleared. Users using the duplicate database may not realize that the ARCA connections are still present. This may lead to production connections getting used while users are testing. Solution: Clear connections to ARCA webservices when updating the credentials. Forward-Port-Of: odoo/enterprise#115068
This update corrects a visual issue where positive time remaining values in task timesheets were incorrectly displayed in red, misleading users. The fix ensures that positive values are shown with the correct styling, and also addresses misalignment of time remaining data on sales orders. This improves the clarity and accuracy of timesheet reporting.
Original PR description
_* = sale_timesheet **Steps to reproduce:** - Open form view of any task. - Go to the Timesheets tab. - Observe the Time Remaining value. - Observe the Time remaining on SO. **Issue:** - The Time Remaining value becomes red even when the value is positive, which incorrectly suggests a warning. - The Time remaining on SO is not properly aligned. **Issue from :** - https://github.com/odoo/odoo/pull/192366 **Fix:** - Adjusted the logic to ensure the Time Remaining value is highlighted in red only when the value is negative. - Positive values now display with normal styling. - Adjusted the logic to ensure Time remaining on SO is displayed properly. **Task-id: 5404009**
This update fixes a visual issue in the Timesheets section of the project shared form. Previously, the Time Remaining value wasn't highlighted in red when the amount was negative. This change ensures that negative time values are clearly indicated, improving accuracy and clarity for users.
Original PR description
**Steps to reproduce:** - Open project shared form view. - Go to the Timesheets tab. - Observe the Time Remaining value. **Issue:** - The Time Remaining label is red properly but its value does not becomes red even when the value is negative. **Fix:** - Adjusted the logic to ensure the Time Remaining value is highlighted in red when value is negative **Task-id: 5404009** Forward-Port-Of: odoo/odoo#240489
This update corrects a visual inconsistency in the project timesheet interface. Previously, the 'Time Remaining' value wasn't highlighted in red when negative, even though the label was. The fix ensures that negative time remaining values are correctly displayed with a red color, improving clarity and accuracy for users.
Original PR description
**Steps to reproduce:** - Open project shared form view. - Go to the Timesheets tab. - Observe the Time Remaining value. **Issue:** - The Time Remaining label is red properly but its value does not becomes red even when the value is negative. **Fix:** In hr_timesheet, the remaining_hours field has a decoration-danger applied In sale_timesheet_enterprise, this field is overridden as portal_remaining_hours So, Added the corresponding decoration-danger on portal_remaining_hours. task-5404009 Forward-Port-Of: odoo/enterprise#113632
This update resolves an issue where the full composer in the chatter didn't display the default email template's body. The fix ensures that the correct template body is loaded automatically, regardless of whether the user manually enters content in the composer. This improves the consistency and usability of email sending within Odoo.
Original PR description
**Issue:** - When opening the full composer from the chatter, the body of the default email template is not loaded. Only the subject line from the template appears, while the body remains empty or…
**Issue:** - When opening the full composer from the chatter, the body of the default email template is not loaded. Only the subject line from the template appears, while the body remains empty or contains only the user's signature. **Steps to reproduce:** 1. Install `contact` 2. Open any contact form. 3. In the chatter, click 'Send message' and then expand button 4. Write a something in body, then save this as a new template. 5. Set this new template as the default (using Debug Mode > Set Default Values). 6. Click 'Send message' in the chatter, 7. Click the 'Full composer' (expand) button without typing anything. **Observed behavior:** - The full composer opens with the correct subject from the default template, but the body is empty. **Cause:** - The `onClickFullComposer` method always passes a `default_body` value in the context to the mail.compose.message wizard. Even if the chatter input is empty **Solution:** - Forward isBodyEmpty in the context from onClickFullComposer. If the user typed content, do nothing. If the body is empty and a default template is available, allow the backend to apply the default template by removing default_body. opw-5405056 Forward-Port-Of: odoo/odoo#257277 Forward-Port-Of: odoo/odoo#239851
This update resolves an issue where the tax return dashboard wouldn't expand all groups, leaving some sections empty. The fix adds a setting to ensure all groups are initially displayed, providing a more complete and user-friendly experience when reviewing tax returns. This improves usability for users generating and analyzing tax returns.
Original PR description
When navigating to the tax return list view from the accounting dashboard, only the first few groups were expanded, leaving subsequent groups appearing empty with only a date header visible. Steps to reproduce: - Generate several tax returns. - Open the main Accounting dashboard. - On a Tax Return card, click one of the generated buttons. - Scroll down the resulting list view. Issue: After 10 groups, following sections appear empty, showing only the header Analysis: By default, the web client limits the number of automatically opened groups. This change adds 'max_number_opened_groups' to the buttons context, aligning the behavior with the primary 'Tax Return' button action. https://github.com/odoo/enterprise/blob/1a2afda205c41773747ed5f174d75843effbbe9f/account_reports/views/account_return_views.xml#L183 opw-5769978 Forward-Port-Of: odoo/enterprise#114673 Forward-Port-Of: odoo/enterprise#113332
This update resolves an issue preventing correct December pay calculations within the Belgian payroll module. The migration to a new data structure caused a missing link in how pay information was recorded, leading to incorrect calculations. This fix ensures accurate December pay processing.
Original PR description
Purpose: after migrating to property inputs, the inputs for december pay weren't added to the properties definition so when you use `action_validate` in the december pay wizard, the values weren't written to these inputs as they don't exist in the definition task-id: 6103779
This update resolves an issue causing excessive logging within the Documents module, specifically when handling attachments. The change prevents unnecessary error handling and log spam related to URL type attachments, primarily impacting integrations and workflows that create attachments directly. This improves system stability and reduces unnecessary log volume.
Original PR description
Return None when datas is empty alongside the existing mimetype check. Avoids unnecessary exception handling leading to logspam for URL type attachments where binary data is unavailable. This issue is only reproducible programmaticaly as the mimetype is not available with url type attachment in Odoo. Thus, it's a problem that only impact third party integrations, EDI connectors or any workflow that creates ir.attachment records directly. opw-6010528 Forward-Port-Of: odoo/enterprise#113396
This update prevents image uploads from failing due to excessively long filenames. The system now truncates filenames to a safe length (255 characters) to avoid exceeding server buffer limits, ensuring images load correctly. This resolves a previous issue where long descriptions caused 502 errors during image uploads.
Original PR description
## Problem: When generating a filename for a related studio image field, if the `name` is excessively long, the response header may exceed nginx's buffer size of 4kb, causing the request to fail. ## Solution: We will truncate the assigned filename for binary streams to the first 255 characters of whatever the assigned name would have been. ## Steps to reproduce (Runbot 18): 1. Open Studio editor on a Sales Order 2. Edit List View on Sale Order Lines 3. + Related Field, Product > Image, image widget 4. Make the description very long (close to 4000 characters) 5. Note the image will not load for that SOL, and the network tab shows a 502 error opw-5360952 Forward-Port-Of: odoo/odoo#258498