Daily updates from Odoo
Wednesday, March 11, 2026
30 changes · master
Enhancements to existing features
This update enhances the planning module's user interface by repositioning buttons next to input fields for a cleaner look. Additionally, redundant icons within the kanban card have been removed to streamline the user experience. This change focuses on visual consistency and usability.
Original PR description
This commit improves the UI in planning, by using the o_input_box class around two fields. Instead of having a button right next to the input, the button now floats as a suffix at the right side of the input. Also, two icons were present in the kanban card, since the daterange field already contains an icon in readonly touch mode.
This update reduces the number of template options displayed in the planning view, improving the user interface's clarity and preventing visual clutter. The change limits the badges available to 8, addressing an issue where excessive template choices could overwhelm users. This enhancement focuses on a better user experience.
Original PR description
Add `badge_limit: 8` to the planning template autocomplete widget. **Task~5270283** **Related Community PR: odoo/odoo#252483**
This update enhances the visual appearance of consent emails sent to users when they sign up for Odoo Enterprise. The changes align the email layout with the latest Odoo Finance design standards, creating a more professional and consistent user experience. This improves brand perception and user satisfaction.
Original PR description
- updated consent email template layout as per current odoofin design task-5107776
This update streamlines the process for depositing money at the point of sale. It now automatically selects the first available payment method, eliminating the need for users to manually choose one via a popup. This improves the user experience and speeds up the deposit flow.
Original PR description
### Before this commit: - Depositing money in POS always required selecting a payment method via a popup. - This added an unnecessary step to the deposit flow. ### After this commit: - Automatically select the first available payment method (excluding pay later), ordered by sequence. - Remove the payment method selection popup for deposits. Task:5927077 Related PR: - Community: https://github.com/odoo/odoo/pull/248565
Resolved issues and error corrections
This update resolves an issue where renewing a subscription while another renewal process was running would incorrectly mark the subscription as churned. The fix ensures that subscriptions are only processed when their status indicates they should be renewed, preventing this race condition and ensuring accurate subscription management.
Original PR description
Steps to reproduce: - Have a subscription ready to expire/auto-close. - Trigger the `_cron_subscription_expiration` cron. - While the cron is processing earlier batches, manually renew the subscription. - The renewed subscription is incorrectly marked as closed/churned. Cause: The cron searches for all expired/unpaid subscriptions at the very beginning and processes them in batches of 30. If a subscription is renewed concurrently (Race condition), its ID is already in the `subscriptions_close` list, causing the cron to close it regardless of its new state. Solution: Inside the batch processing loop, consider only subscriptions that are strictly still in `SUBSCRIPTION_PROGRESS_STATE`. Task: 5929077 Forward-Port-Of: odoo/enterprise#107157
This update resolves an issue where autofilling pivot formulas in certain scenarios caused errors and incorrect data formatting. The fix ensures that pivot formulas work reliably, preventing crashes and maintaining the intended positional structure within pivot tables. This improves the accuracy and usability of the enterprise reporting feature.
Original PR description
If we autofill a positional pivot formula in the dimension perpendicular to the positional header, it would not work correctly: - We would crash if the position wasn't in the original pivot table - We would drop the positional part otherwise (`"#country_id", 1` would become `"country_id", 25`). Task: [5909266](https://www.odoo.com/web#id=5909266&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#109631
This update resolves an issue where printing basic receipts would fail if the point-of-sale (POS) name was too long. The fix limits the receipt name length to 46 characters to prevent a technical error that disrupted the printing process. This ensures basic receipts are always printed correctly.
Original PR description
When printing a basic receipt, if the pos name is too long a traceback will occurs when printing the basic receipt. Steps to reproduce: * Create a pos with a name of 46 character or more * Setup the italian fiscal printer * Enable Basic Receipt printing * Open point of sale * Create an order and validate it * Try "Print Basic receipt" Traceback: RangeError: Invalid count value: -15 at String.repeat () If the data being printed is longer than the maximum number of character in a line (MAX_CHARS = 46), paddingLeft becomes negative which cause an error in repeat(). [Similar solution](https://github.com/odoo/enterprise/blob/18.0/l10n_it_pos/static/src/app/fiscal_printer/commands/print_rec_message/print_rec_message.js#L35) [opw-5270697](https://www.odoo.com/odoo/project/49/tasks/5270697) Forward-Port-Of: odoo/enterprise#109766 Forward-Port-Of: odoo/enterprise#109527
This update fixes an issue where sign requests generated from HR wizards didn't automatically use the expiration dates defined on the sign templates. Now, all sign requests will adhere to the template's configured validity period, ensuring accurate tracking and preventing outdated requests.
Original PR description
Before, when sending sign requests from the HR custom wizards, the validity date defined on the sign template was not applied to the generated signature requests. As a result, requests were created without respecting the template’s configured expiration. task-5928110 Forward-Port-Of: odoo/enterprise#107076
This update clarifies the error message displayed when an incorrect account is linked to the Expense Reimbursement salary rule. The change ensures employees receive clearer guidance on setting up their expense reimbursements correctly, preventing potential payment issues.
Original PR description
. Change the error message to say "The account linked to the salary rule Expense Reimbursement must be payable type." task-5965760
This update resolves a problem where spreadsheet thumbnails sometimes failed to save correctly due to a temporary disconnection during the screenshot process. The fix ensures thumbnails are reliably saved, improving the user experience when creating and sharing spreadsheets. This was a minor stability issue.
Original PR description
When we leave a spreadsheet, we take a screenshot of the canvas to save as thumbail. But it's sometime possible for the spreadsheet to be unmounted whe trying to screenshot it, leading to a traceback. Task: [5914708](https://www.odoo.com/web#id=5914708&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#109531
This update resolves an issue preventing automated tests from correctly opening the POS session. The changes update tour selectors to target the 'Open Register' button and modify the UI rendering to ensure the button is consistently accessible. This improves the reliability of our test automation.
Original PR description
In this commit:
- The POS open UI button is now rendered through a widget and no longer exposes the `name=open_ui` attribute. As a result, the existing tour selectors could not locate the button.
- Update the tour triggers to use `button:contains('Open Register')` so the POS session can still be opened correctly during tests.
Task:5425256
Related PR:
- Community: https://github.com/odoo/odoo/pull/241641
- Upgrade: https://github.com/odoo/upgrade/pull/9205This update resolves an issue preventing correct validation of data properties within the Knowledge and Spreadsheet Edition modules. The fix ensures data integrity and proper functionality for these key features, improving overall system stability.
Original PR description
This commit corrects wrong props validation schema that could not work.
This update fixes a technical issue within Odoo's VoIP system. Previously, the system relied on a single data field for status updates, which created maintenance challenges and lacked crucial information like employee access tokens. This change ensures accurate and complete status updates, improving the reliability of the VoIP feature.
Original PR description
Just reading `im_status` instead of the dedicated method makes the maintenance harder and it is potentially problematic as it doesn't return the `im_status_access_token` nor the necessary extra information from employee records to compute out of office. https://github.com/odoo/odoo/pull/252008
This update resolves a minor visual issue in the Helpdesk module related to the 'Rotting days' field. The change improves the field's appearance and usability by applying a standard UI element. This ensures a consistent and polished user experience for Helpdesk users.
Original PR description
This commit fixes the UI of the 'Rotting days' field, by wrapping it in a o_input_box div and using the o_input_box_overlay_end and the o_input_box_overlay_inline classnames. task-6025631
This update removes a temporary flag from the account reports tour, signifying that it is now fully functional and reliable. This ensures users can consistently access and utilize the tour without encountering unexpected issues. The change improves the overall stability of the account reporting feature.
Original PR description
This commit removes the 'undeterministicTour_doNotCopy' flag from the 'account_reports_sections' tour. This indicates that the tour is now stable.
This update removes a temporary flag from the account reporting audit tour, signifying that it is now reliably functional. This ensures consistent and accurate reporting processes for users. The change improves stability and reduces potential issues with the audit tour.
Original PR description
This commit removes the 'undeterministicTour_doNotCopy' flag from the 'account_reports_audit' tour. This indicates that the tour is now stable.
This update corrects a technical issue where incorrect class names were being used in several Odoo modules. The change ensures all elements use the correct 'o_input_box_overlay_inline' class, improving the stability and consistency of the system. This resolves a potential inconsistency that could have impacted user experience.
Original PR description
In commit [1], the class 'o_input_box_overlay_inline' was introduced, but many elements were using an invalid 'o_input_box_inline' class instead of that one. This commit replaces all the wrong implementation of inline suffixes by the right one. [1]: dc8f38b1054664a0e382530bb4fc73983e2085cb
This update resolves an issue where users couldn't enter values in the 'Allocated Time' field within the planning module, particularly when a break time was scheduled. Now, the field functions correctly with a standard input box, ensuring accurate time tracking and scheduling.
Features or functions removed from Odoo
This pull request removes various data-related files and components across multiple Odoo modules. This cleanup streamlines the system and reduces potential data storage overhead. The changes primarily focus on internal components and testing files, impacting several enterprise modules.
Original PR description
odoo/odoo#245916
This update removes a temporary workaround that had been added to ensure appointment scheduling stability. The underlying view fix is now sufficient to resolve the issue, simplifying the system and reducing potential complexity. This change improves the overall reliability of the appointment scheduling feature.
Original PR description
The fix of [commit] from saas-19.2 introduced override of `tz` to provide default value for it. It was done to be stable-friendly. For the master, we can remove the field override because the view fix is sufficient to remove the bug. [commit]: https://github.com/odoo/enterprise/commit/ebb876ce67a9d04116c12394d6385a8b2b562168 Task-5712786
The French Payroll localization module has been removed from Odoo. This decision was made due to the module's outdated and unmaintained state, which posed a risk of confusion and inaccurate implementations. Removing this module simplifies the core system and reduces potential support issues.
Original PR description
The French Payroll localization has been removed as it was unmaintained, outdated, and not suitable for real-world usage. Maintaining it in its current state could lead to confusion or incorrect implementations. TaskID: 6023819
This update removes a technical method used to quickly check billable line items in the database. Following a recent update to the debugging tools, this method is no longer needed and is replaced with a more straightforward interface. This change improves efficiency for users and support teams.
Original PR description
Since PR odoo/odoo#249108, CloC features are availables from the debug menu. That makes the _get_verbose_maintenance method deprecated. The use case those address is the quick check for billable line of codes on some DB by either the user themselves or Odoo Support. Obviously it is more practical to do it via the interface directly part-of-task-5943473
Code cleanup and technical improvements
This update adds the `.this` syntax to Odoo templates to align with upcoming OWL3 requirements. This change ensures compatibility with newer Odoo versions and prevents potential issues when using template variables to access component data, improving long-term stability.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: odoo/odoo#247965 task: OWL3 prep - add this. to template variables
This update prepares our website templates for OWL3, a new rendering engine. It adds the `.this` syntax to template variables, which is now required to correctly target component variables within the OWL3 context. This ensures compatibility and proper functionality as we transition to the new engine.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: odoo/odoo#247965 task: OWL3 prep - add this. to template variables
This update prepares our website's helpdesk templates for OWL3, a new rendering engine. It adds the `.this` syntax to template variables, which is now required to correctly access and use component variables within the templates. This ensures compatibility with the upcoming OWL3 changes.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: odoo/odoo#247965 task: OWL3 prep - add this. to template variables
This update adds the necessary syntax (.this) to Odoo templates to ensure compatibility with OWL3. This change is a preparatory step for a future upgrade, allowing templates to correctly reference component variables, which is crucial for the system's continued functionality.
Original PR description
In preparation for OWL3, where template variables will need to use .this to target component variables, we add .this to template variables that are targetting the component. Script PR: #247965 task: OWL3 prep - add this. to template variables
This update clarifies how message actions are defined within Odoo, enhancing readability and maintainability. The change replaces outdated 'thread' references with 'channel' in the configuration, streamlining the process for developers. This improves the overall organization of communication features.
Original PR description
Introduced by https://github.com/odoo/odoo/issues/243572 for improved readability of message action definition.
This update modifies Odoo's templates to align with upcoming OWL3 requirements. Specifically, it adds `.this` to template variables that target component parts, ensuring compatibility with the new OWL3 framework. This proactive step ensures a smooth transition and avoids potential issues when OWL3 is fully implemented.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: https://github.com/odoo/odoo/pull/247965 THIS_TARGETS = ['mrp'] task: OWL3 prep - add `this.` to template variables Community PR : https://github.com/odoo/odoo/pull/252205
This update prepares Odoo for OWL3 by adding the `.this` keyword to template variables that reference components. This change is necessary because OWL3 requires this syntax for targeting component variables within templates. A minor fix was also applied to correct an earlier error in the conversion of boolean values.
Original PR description
…ering context In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: #247965 task: OWL3 prep - add this. to template variables
This update prepares Odoo for a new rendering system (OWL3) that requires a specific syntax (`.this`) to access component variables within templates. The team has added this syntax to several Odoo modules to ensure compatibility and future functionality. This change is a necessary step to support the upcoming OWL3 release.
Original PR description
In preparation for OWL3, where template variables will need to use `.this` to target component variables, we add `.this` to template variables that are targetting the component. Script PR: #247965 task: OWL3 prep - add this. to template variables