Friday, April 3, 2026
15 changes · 18.0
Resolved issues and error corrections
This update resolves an issue where the POS IoT system wasn't functioning correctly with scales. The change removes a redundant check that prevented the scale service from working when the hardware proxy was unavailable, ensuring seamless operation with the new IoT image.
Original PR description
The new IoT image removes the `hw_proxy/status_json` endpoint, which results in the hardware proxy service thinking there are no devices connected to the IoT. We now remove this check from the scale service so that the new image works correctly with a scale.
This update fixes an issue where subscriptions could be automatically reopened after being manually closed by a salesperson. This prevented confusion and potential errors related to subscription status. The change ensures subscriptions remain closed when manually closed, streamlining the sales process.
Original PR description
Before this commit, when a subscription was closed manually by the salesperson, it could be reopened when a transaction was approved or an invoice paid. It could cause issue. In this case, we should not reopen automatically. task-5900481
This update fixes a layout issue in the Italian Libro Giornale PDF report. When accounts with long names are used, the report's formatting was broken, causing excessive column expansion and poor readability. The change adds a CSS class to handle long account names, resulting in a cleaner and more professional-looking report.
Original PR description
When generating the Libro Giornale (IT) PDF report with an account that has a very long name, the column expands excessively and break the layout. Steps to reproduce: - With an IT company setup - Have an account with a very long name - Create an invoice using the account - Open Accounting / Reporting / Audit Reports / Journal Audit - Select variant "Libro Giornale (IT)" - Print PDF Issue: The long account name makes the column excessively large. As a result, the font shrinks to fit the page width, leaving wide gaps between lines. **before patch** <img width="794" height="493" alt="screenshot_047" src="https://github.com/user-attachments/assets/6faa5b57-9c60-41cb-9200-003a50019180" /> **after patch** <img width="793" height="553" alt="screenshot_046" src="https://github.com/user-attachments/assets/e97c8948-410b-4201-83c3-04173220d9ce" /> opw-5457103
This update fixes an issue on mobile devices where the buttons within the transfer chatter view were too small, causing text to overflow and making the interface difficult to use. The change ensures that buttons are properly sized for mobile screens, improving the user experience when managing transfers. This resolves a reported usability problem.
Original PR description
Partial backport of d16480179ed73f25e0465e42c6fdef64e4fdc502 Steps to reproduce ================== - Navigate to Barcode, click on any transfer - Click on the name of the transfer in the header to open the form view - Scroll down to the chatter, the buttons are too small to contain the text, and much of the text flows over to other UI elements Cause of the issue ================== The barcode style override every buttons including the ones inside the chatter opw-6082959
This update fixes an issue preventing users from inserting snippets within forum help pages. The solution allows clicking on snippet groups within existing snippets, ensuring a smoother and more reliable snippet insertion experience. This improves usability and prevents a frustrating user experience.
Original PR description
Steps to reproduce the issue: - Go to Forum, then go to the Help page - Enter Edit mode - Try to drag and drop a snippet => The dropzone in the s_cover at the top of the page are available - Try to click on a snippet group => Nothing happen, because all dropzones are filtered The s_cover element has the [data-snippet] attribute. When clicking on a snippet group, the editor filters out dropzones inside other snippets. Since s_cover is treated as a snippet, its dropzones are excluded, even though they are the only ones available on the page. The solution is to treat dropzones inside snippets as low priority instead of strictly forbidden. If no other valid dropzones exist, we allow these as a fallback to ensure snippet insertion remains possible. task-5938138
This update prevents issues during demo data installation for the Romanian EDI stock module. Specifically, it allows carrier validation to run without blocking the installation process. Additionally, the update includes a default stock valuation account for Romanian companies, streamlining setup.
Original PR description
This commit ensures that stock picking carrier validation for Romanian EDI does not block demo data installation. task-3748978 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where POS orders created in Jordan without the l10n_jo_edi_pos module lacked a required UUID. This prevented successful submission to JoFotara. The fix automatically generates a UUID when the order is created, ensuring compliance and preventing submission errors.
Original PR description
Currently, POS orders in Jordan do not have a UUID if they were created before installing the module. This causes submission failures to JoFotara. Steps to reproduce: - Create a POS order in Jordan without the module l10n_jo_edi_pos installed - Install l10n_jo_edi_pos - Try to submit the order to JoFotara, it fails due to missing UUID with the error "Invoice UUID is required" This fix force a computation of the order UUID when we add the header node, to ensure that this will not cause submission failures to JoFotara. opw-6041688
This update fixes an issue where session reports for point-of-sale (PoS) orders with decimal quantities displayed excessive decimal places. The fix ensures that totals by category and price are rounded to the standard two decimal places, providing more accurate reporting. This improves the reliability of sales data.
Original PR description
When selling a lot of product with different quantities (quantities with decimals) the session report total by category might have a lot of decimals instead of 2. Steps to reproduce: ------------------- * Open PoS * Make an order with a lot of product and modify the quantities to have random values with decimals * Close the session * Generate the session report > Observation: The total qty by category has a lot of decimals instead of the 2 expected. The same error also happens for the total price Why the fix: ------------ We round each value with their respective precision to make sure we don't have 15 decimals. opw-6039016
This update fixes a potential problem where errors during file uploads could lead to orphaned files consuming disk space and preventing new uploads. The change ensures files are properly cleaned up after write errors, preventing conflicts and maintaining system performance. This resolves a previous issue reported by our support team.
Original PR description
If an error occurs during the file write operation, the file will not be marked for garbage collection, which can lead to orphaned files taking up disk space or blocking other same file to be written. Step to reproduce the issue: 1. Create an attachment with a large file (e.g., 100MB) and save 2. During the file write operation, simulate an IOError (e.g., by filling up the disk space or changing file permissions) 3. The file will not be marked for garbage collection, and it will remain 4. Further attempts to create this same attachment will result in error: "The attachment collides with an existing file." opw-6055037 opw-5907025 Forward-Port-Of: odoo/odoo#257274
This update resolves an issue where the point-of-sale system was incorrectly blocking scale operations when the hardware proxy wasn't connected. The change removes a redundant check in the scale service, ensuring the new IoT image functions correctly with scales. This improves the overall reliability of the point-of-sale experience.
Original PR description
The new IoT image removes the `hw_proxy/status_json` endpoint, which results in the hardware proxy service thinking there are no devices connected to the IoT. We now remove this check from the scale service so that the new image works correctly with a scale. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue where the toolbar in the HTML editor wasn't correctly positioned when selecting columns within a table. Now, the toolbar appears accurately above the selected cells, ensuring a smoother and more intuitive user experience when editing tables. This improves usability and data entry accuracy.
Original PR description
**Current behavior before PR:** Steps to reproduce: - Create a 3 x 3 table. - Select 3rd column and wait for toolbar. Currently, the toolbar is positioned at the start of the table even when the last column is selected. This happens because selecting cells in the 3rd column creates a DOM selection range that starts at the first cell and ends at the last cell of the column, traversing all intermediate elements. As a result, browser's range rectangle does not match the actual custom-selection rect. **Desired behavior after PR is merged:** Now, Toolbar is positioned correctly above the custom selected cells. task-5935587 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a bug that prevented textareas within the HTML editor from correctly receiving focus. The change backports a fix originally developed for Odoo's 19.0 release, ensuring proper functionality for users interacting with text areas in the editor. This improves the overall usability of the HTML editor.
Original PR description
Before this commit: in #253638 we override the focus function of the editable to focusEditable. A patch for textarea and resetting the focus function at destroy is introduced at the forward port 19.0. After this commit: we backport the patch from c9c2325a966db5abf61810000234042f45ef1728 task-6034339 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update reorganizes a key test within the Odoo system. The test, previously located in the base module, has been moved to a dedicated testing utilities module. This improves the structure and maintainability of our tests, ensuring they are organized alongside related development efforts.
Original PR description
Move the test to test_testing_utilities where the model res.config.test is defined. Move test introduced in odoo/odoo#257033. runbot-242309 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where invoice generation would fail when a line item lacked a tax setting. The fix adds a check to prevent the system from attempting to calculate tax values in these cases, ensuring invoices are created correctly. This improves invoice processing reliability.
Original PR description
Issue: Attempting to generate facturae document for an invoice without a tax set on one or more line resulted in an IndexError. Solution: adding a check that prevents the function from trying to build tax values when there is no tax on the line. task-none --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves a technical error that prevented inactive tax calculations within the l10n_in_withholding module. The fix ensures that inactive taxes are no longer incorrectly processed, preventing tracebacks and ensuring accurate tax calculations. This improves the stability and reliability of the invoicing withholding functionality.
Original PR description
Before this **PR**, attempting to apply an inactive tax resulted in a traceback. This occurred because l10n_in_section_tax_ids was empty, resulting in an empty iterable being passed to max(), which caused the error. To resolve this issue, l10n_in_section_tax_ids is now called with the context `active_test=False`. task-6074534