Daily updates from Odoo
Thursday, February 5, 2026
19 changes · master
New functionality added to Odoo
This update adds missing templates for Equity and Government checks within the Odoo Enterprise accounting reports. This ensures accurate and complete financial reporting, fulfilling a key requirement for compliance and data integrity. It builds upon previous work to fully implement the required reporting functionality.
Original PR description
Completes the work started in odoo/enterprise#88360. The Equity and Government check templates were missing and are added here to fully complete the data. task-5365677 Forward-Port-Of: odoo/enterprise#103954
Enhancements to existing features
This update allows users to select the desired label format (ZPL, PDF, or PNG) when sending labels through Sendcloud. This increased flexibility improves the compatibility and usability of shipping labels for various printing and receiving systems. It’s a small improvement that streamlines the label generation process.
Original PR description
Add a option to choose the label format in the parameters when requesting labels from Sendcloud (ZPL, PDF, PNG). Task 5392134
Resolved issues and error corrections
This update fixes an issue where the softphone couldn't be closed using the same key that opened it. The change adds the same hotkey attribute to the close button, restoring the expected user experience. This ensures users can consistently close the softphone.
Original PR description
Since [1] the softphone cannot be closed with the same hotkey that opens it. This commit restores this behavior by adding the same hotkey attribute to its close button. [1]: https://github.com/odoo/enterprise/commit/df1772e877a508150fd3f549526dec9d867354be
This update adjusts the layout of the bank journal dashboard to accommodate the Connect Bank button, ensuring it's always visible. A previous, unnecessary code block has been removed to streamline the process. This improves the user experience by providing consistent access to the Connect Bank feature.
Original PR description
[IMP] account_online_synchronization: Remove useless t-if/t-elif This commit removes an useless t-if/t-elif introduces by this commit [[1]]. It seems this is useless as we have the same code inside the t-if or the t-elif. Only the conditions are different. no task id [1]: https://github.com/odoo/enterprise/commit/5c879c9097a2f3ebaf7b7b751a95de8d8f95527a [IMP] account_online_synchronization: Wrapping connect bank in dashboard The aim of this commit is making sure we are wrapping the Connect Bank button in the bank journal dashboard when we don't have enough place for it. no task id Before: <img width="402" height="329" alt="connect bank before" src="https://github.com/user-attachments/assets/110e417c-72b1-4294-a7fa-abab865658b5" /> After: <img width="385" height="325" alt="connect bank after" src="https://github.com/user-attachments/assets/6222059a-d83a-4e98-a5db-e288369800b8" />
This update corrects a technical issue within the Odoo Enterprise payroll accounting module. The module was incorrectly referencing a dependency that caused test failures. By removing the outdated dependency, the module now functions correctly and ensures consistent payroll processing.
Original PR description
hr_payroll_account_iso20022 did not depend on hr_payroll_account but only on hr_payroll and account_iso20022. This was causing some errors in tests that were expecting hr_payroll_account to be installed. Runbot Error: 237797 Forward-Port-Of: odoo/enterprise#106165
This update resolves an issue where lengthy bank reconciliation names were being truncated and displayed as a long list of commas. The fix moves a key component, improving the clarity and readability of bank reconciliation statements for users. This ensures accurate and complete information is presented.
Original PR description
When we have a lot of reconciled names, it can happens that you just have a long list of comma. It's because the text truncate was misplaced. This commit will fix this by moving the text truncate no task id Forward-Port-Of: odoo/enterprise#106242 Forward-Port-Of: odoo/enterprise#105674
This update fixes an issue where recurring prices on ecommerce product pages were displayed with incorrect grammar, specifically using singular forms for billing periods longer than one. The change ensures prices are presented in a user-friendly and grammatically correct manner, enhancing the customer experience.
Original PR description
Issue: - On ecommerce product pages, recurring prices displayed incorrect grammar. - Billing periods greater than one were shown in singular form (e.g. 'Every 6 month' instead of 'Every 6 months'). Fix: - Updated recurring price display logic to use plural period labels when the billing period value is greater than one. Impact: - Recurring prices now display correct and user-friendly grammar. taskid-5529937 Forward-Port-Of: odoo/enterprise#105127
This update resolves a bug that caused incorrect schedule calculations when using planning-based work entries, particularly with material-type resources. The fix restricts schedule computations to only include planning slots for the employee creating the attendance, ensuring accurate time tracking and preventing scheduling conflicts.
Original PR description
Steps to reproduce: - Set the work entry source to planning for an employee. - Create an attendance for that employee. Issue: - Errors occurred when planning slots linked to material-type resources were included in schedule computation. Fix: - Restrict planning slots used for schedule computation to records whose employee_id belongs to self.ids. task-5476771 Forward-Port-Of: odoo/enterprise#103951
This update corrects an issue where project forms, accessed through SmartButtons, were initially displayed as uneditable. The fix removes a setting that was incorrectly preventing editing, ensuring users can now fully interact with project forms. The reason for this initial setting remains unclear.
Original PR description
Issue: When navigating to any form view related to an FSM Project via
SmartButtons, they are loaded as uneditable
Solution: Remove "edit":False in _update_action_context method
Note: It is unknown why this was added in the first place, since
removing it does not cause any crashes
opw-5413753
Forward-Port-Of: odoo/enterprise#105225This update corrects a discrepancy in a sales subscription test. The test previously incorrectly prioritized pricelists based on a default setting related to partner countries. The fix ensures consistent pricelist ordering, resolving a potential issue with subscription pricing and improving test reliability.
Original PR description
Versions -------- - 18.0+ Issue ----- Commit a840e4250666 changed a `sale_subscription` test as pricelist ordering was changed. Before, it was `sequence asc, id desc`, now it is `sequence asc, id asc`. However, in the updated tests, it expects the first pricelist created with sequence 4 to be before the second pricelist with sequence 2. This was only happening due to default pricelists getting set as the `specific_property_product_pricelist` if the partner has no country assigned to them. Solution -------- As the behavior is now identical for partners with or without a country assigned to them, we can resolved the test setup by giving both pricelists an identical sequence, making the ordering fall back on `id` like a840e4250666 intended. opw-5385213 Related: https://github.com/odoo/odoo/pull/241736 Forward-Port-Of: odoo/enterprise#105606 Forward-Port-Of: odoo/enterprise#103116
This update fixes an issue where malformed PDFs caused errors during the signature process. The system now attempts a more lenient PDF parsing method when the initial attempt fails, ensuring that more PDFs can be processed correctly. This improves the reliability of the signature workflow.
Original PR description
Before this commit, opening some malformed PDF failed during flattening because PyPDF2 strict parsing and form-field reads raised errors. After this commit, we try first parsing the PDF in the usual way and if we fail, we try again with strict=False. See https://pypdf.readthedocs.io/en/stable/user/robustness.html. task-5902859 Forward-Port-Of: odoo/enterprise#106276
This update resolves a technical issue that prevented printing from IoT printers within the Point of Sale system. The fix addressed an 'undefined' error, ensuring reliable printing functionality for users. This improvement enhances the overall POS experience.
Original PR description
This PR fixed "error: undefined" when printing via websocket with iot printers in point of sale task-5496890 Forward-Port-Of: odoo/enterprise#106284
This update removes tax reports from the invoicing app to align with its intended purpose of providing basic invoicing features. Previously, the invoicing app was displaying tax reports, which are designed for accounting functionality. This change ensures users access the correct tools for invoicing while maintaining a streamlined experience.
Original PR description
Invoicing app is intended to provide basic invoicing features. Having the tax report shown allow the users to access return features that are intended for Accounting. Therefore, tax reports should be hidden in Invoicing and visible when accounting installed. task-5489532
This update adjusts how product category names are handled within Odoo. Previously, complete category names were stored, but this has been removed. This change ensures data consistency and improves performance, particularly in reporting.
Original PR description
Adapt to product.category complete_name not being stored anymore Odoo PR: https://github.com/odoo/odoo/pull/236067 Upgrade PR: https://github.com/odoo/upgrade/pull/9279 task-4804824
This update resolves an issue where file uploads were incorrectly formatted as Base64 encoded data. Previously, this caused problems with importing files into the system. This change ensures files are handled correctly, improving the reliability of data import processes.
Original PR description
Like other Binary fields. https://github.com/odoo/odoo/pull/247189
This update fixes a bug in the automatic tour engine that prevented it from correctly identifying elements behind overlays like popovers and notifications. The change ensures the tour engine accurately avoids interacting with elements behind modals, improving the user experience and preventing potential issues with tour functionality.
Original PR description
Before this commit, the automatic tour engine checked whether the DOM contained a `.modal` and whether the trigger element was inside it, in order to avoid interacting with elements behind a modal. However, when the DOM also contained a popover or a notification, this check was skipped. With this commit, this logic has been improved to also take other overlay items into account. This improvement involves some fixes and adaptations in a few tours.
This update resolves an issue where the printer selection wizard could generate errors when trying to use outdated printer records. The system now filters out printers that no longer match existing devices, ensuring a smoother and more reliable user experience. This prevents potential disruptions to business processes.
Original PR description
Printers saved by the selection wizard in local storage can correspond to records that no longer exist in the database (removed in the meantime). To avoid a traceback when creating the wizard with non- existing printers, we filter out the ones that don't correspond to any device. Forward-Port-Of: odoo/enterprise#106268
Code cleanup and technical improvements
This update replaces outdated HTML elements (`<a>` tags) with more appropriate `<button>` elements within the Odoo Notebook. This improves the user experience by ensuring interactive elements are correctly handled and aligns with standard web development practices. It's a minor refactoring that enhances usability.
Original PR description
This commit properly uses `<button>` element for interactive DOM elements instead of relying on a "hacky" and non-semantic `<a href="#">` (tl;dr: `<a>` HTML tag are for navigation, `<button>` are for interactivity). task-4380519
This update streamlines the integration of IoT devices into the MRP module. By consolidating related modules and maintaining a separate quality control module, the setup process is simplified and the option to install the separate quality app is preserved.
Original PR description
IoT integration into mrp was divided in four modules: `quality_iot`, `quality_control_iot`, `mrp_workorder_iot` and `quality_mrp_workorder_iot`. In order to simplify the integration, we merged `mrp_workorder_iot` and `quality_mrp_workorder_iot` into one single `mrp_iot` module, and kept `quality_control_iot` as a separate module. We also kept `quality_iot` as it's a base for `mrp_iot` and `quality_control_iot` to link IoT Devices `quality.check` and `quality.point` models. Note: the reason for not merging everything into `mrp_iot` is to allow NOT having to install the quality app (tech name: `quality_control`). see odoo/upgrade#8711 Task: 5215787