Daily updates from Odoo
Friday, April 10, 2026
23 changes
1 change
Enhancements to existing features
This update enhances financial reporting by providing a 'coverage ratio' for each analytic plan. This allows users to easily identify if journal items are fully distributed across their planned analytics, which is crucial for accurate audits and financial analysis. The change addresses discrepancies in reporting caused by Odoo's partial analytic distribution capabilities.
Original PR description
The objective is to bridge the gap between journal items and analytic items in the reporting. As Odoo allows for partial analytic distribution, this creates discrepancies in the P&L and BS when filtered by an analytic plan. This features aims to provide users with a clear 'coverage ratio' per plan to identify incomplete distributions during audits. task-5887978 Forward-Port-Of: odoo/enterprise#106750
2 changes
Enhancements to existing features
This update optimizes how Odoo searches for calendar resources, specifically when filtering by user. By adding an index, the system now responds more quickly to these searches, leading to a smoother user experience. This change focuses on internal performance improvements.
Original PR description
This commit adds an index on `planning.calendar.resource.user_id`, as it's the only criteria used in `get_calendar_filters` for the `search_count` and the `search_read` done after. Forward-Port-Of: odoo/enterprise#113304
This update enhances financial reporting by providing a 'coverage ratio' for each analytic plan. This allows users to easily identify if journal items are fully distributed across their planned analytics, which is crucial for accurate audit trails and financial analysis. The change improves transparency and reduces potential discrepancies in reporting.
Original PR description
The objective is to bridge the gap between journal items and analytic items in the reporting. As Odoo allows for partial analytic distribution, this creates discrepancies in the P&L and BS when filtered by an analytic plan. This features aims to provide users with a clear 'coverage ratio' per plan to identify incomplete distributions during audits. task-5887978 Forward-Port-Of: odoo/enterprise#106750
1 change
Enhancements to existing features
This update enhances financial reporting by providing a 'coverage ratio' for each analytic plan. This allows users to easily identify if journal items are fully distributed across their planned analytics, aiding in audit processes and improving reporting accuracy.
Original PR description
The objective is to bridge the gap between journal items and analytic items in the reporting. As Odoo allows for partial analytic distribution, this creates discrepancies in the P&L and BS when filtered by an analytic plan. This features aims to provide users with a clear 'coverage ratio' per plan to identify incomplete distributions during audits. task-5887978 Forward-Port-Of: odoo/enterprise#106750
1 change
Enhancements to existing features
This update enhances financial reporting by providing a 'coverage ratio' for each analytic plan. This allows users to easily identify if journal items are fully distributed across their planned analytics, which is crucial for accurate audit trails and financial analysis. The change improves transparency and reduces discrepancies in reports.
Original PR description
The objective is to bridge the gap between journal items and analytic items in the reporting. As Odoo allows for partial analytic distribution, this creates discrepancies in the P&L and BS when filtered by an analytic plan. This features aims to provide users with a clear 'coverage ratio' per plan to identify incomplete distributions during audits. task-5887978 Forward-Port-Of: odoo/enterprise#106750
15 changes
Enhancements to existing features
This update replaces the traditional helpdesk knowledge section with an AI live chat widget when both the live chat and helpdesk modules are installed. The ‘Odoo Compliance Assistant’ AI agent is automatically assigned when demo data is available, ensuring a seamless customer experience. This change improves customer support by providing instant AI-powered assistance.
Original PR description
Currently, when the website_helpdesk_knowledge module is installed, customers can use the knowledge form and help section for assistance. Now, when both ai_website_livechat and helpdesk modules are…
Currently, when the website_helpdesk_knowledge module is installed, customers can use the knowledge form and help section for assistance. Now, when both ai_website_livechat and helpdesk modules are installed,
the knowledge section is replaced with the AI live chat widget.
When demo data is available, the **“Odoo Compliance Assistant”** AI agent is set by default.
Technical Details:
----------
1)
When we update AI agent, placeholder, or live chat channel values from the snippet, we need to allow those attributes by adding them to the **_get_allowed_root_attrs** method.
2)
file: demo.xml
```xml
<odoo>
<data noupdate="1">
<template id="ai_helpdesk_knowledge_demo" inherit_id="ai_website_helpdesk.ai_helpdesk_knowledge">
<xpath expr="//section[hasclass('s_ai_livechat')]" position="attributes">
<attribute name="t-att-data-agent-id">request.env.ref('ai.ai_agent_1').id</attribute>
</xpath>
</template>
</data>
</odoo>
```
However, when we set the AI agent from demo data, the snippet does not update correctly.This happens because the **replace_arch_section()** method does not update `t-att-data-agent-id` in inherited views. As a result, the snippet updates the data-agent-id in the main view, but when the page loads, the inherited view’s agent value takes priority. so, I have to use this demo data **(Odoo Compliance Assistant)** AI agent in the controller.
task-5166174This update enhances the way time off is displayed on pay runs, providing a clearer view of pending requests. It ensures the Gantt chart accurately reflects the pay run period and includes a notification to quickly approve outstanding time off. This improves payroll accuracy and reporting.
Original PR description
- Added a styled "X to approve" notification pill to the Pay Run Kanban card that dynamically hides when 0, and redirects to a pre-filtered list of pending time offs. - Updated the time off window actions to pass `initialDate` and a mapped `default_scale` in the context, forcing the Gantt chart to perfectly match the pay run's specific period. - [WIP] Refactored `_gantt_progress_bar` in `hr.leave` to calculate actual daily working hours by subtracting time off intervals from the employee's `resource.calendar` schedule. - Injected a hidden `span` containing the computed daily working hours into the Gantt chart cells (`web_gantt.GanttRenderer.RowContent`), laying the structural groundwork for CSS hover effects. task-5965514
This update allows users to control duplex printing within the report printer selection wizard. This provides greater flexibility in how reports are printed, catering to different user preferences and output requirements. The change was driven by a request to enhance the user experience and printing capabilities.
Original PR description
We now allow users to disable duplex printing in report printer selection wizard. see odoo/odoo#257843 task-6089016
This update streamlines the calculation of prices for subscription-based sales (sale_subscription) by optimizing how pricelist rules are applied. It allows for faster filtering of rules based on minimal quantities, improving efficiency and reducing processing time. This change enhances the overall performance of subscription sales pricing.
Original PR description
*= sale_subscription, website_sale_subscription * This change introduces batching of price computation by product periodicity to enable early filtering of pricelist rules based on minimal quantities directly in SQL through `_get_applicable_rules` and `_get_applicable_rules_domain`. * It also aligns method overrides with the main method signatures to ensure consistency and maintainability. task-4875803 Co-authored-by: Victor Feyens (vfe) <vfe@odoo.com> See Also: - https://github.com/odoo/odoo/pull/234935
This update enhances the Odoo Enterprise spreadsheet edition by allowing users to directly link cells to data sources. This provides a more seamless way to integrate spreadsheet data with other Odoo modules, streamlining reporting and analysis. It's an improvement to the spreadsheet functionality.
Original PR description
Task-5932139
This update optimizes how the system searches for calendar resources, specifically when filtering by user. Adding an index on `planning.calendar.resource.user_id` speeds up these searches, leading to faster response times for calendar-related operations. This improves overall system performance.
Original PR description
This commit adds an index on `planning.calendar.resource.user_id`, as it's the only criteria used in `get_calendar_filters` for the `search_count` and the `search_read` done after. Forward-Port-Of: odoo/enterprise#113304
This update introduces geo-fencing to control where employees can check in and out. It prevents check-ins outside designated workplace areas, improving accuracy and potentially reducing errors in attendance tracking. The system now flags and warns employees if check-ins occur outside of their defined work locations.
Original PR description
-Currently, employees can check in and check out from any location, which may not always be desirable. This commit introduces a geo-fencing mechanism to restrict attendances to a defined workplace area. -Established geo_fence functionality on configuration. -Refined '_attendance_action_change' logic to handle check-in from various work location. Also implemented the warnings to be displayed if the check-in is not as per the defined work location. -Added the method _calculate_employee_distance_from_workplace to find the distance between workplace and employee's location. -Added the filter to fetch offsite and conflicting attendance. task-4963427
This update standardizes the messages displayed in Odoo's drop zones across different modules. Previously, instructions varied, leading to potential confusion for users. Now, all drop zones use consistent language, making it clearer where elements should be placed and improving the overall user experience.
Original PR description
This commit changes the messages shown in some drop zones to indicate where dropped elements will appear, for example: "Drag blocks here, apply to all blogs". Before this commit, the messages used different wording depending on the module. After this commit, the messages are standardized to use the same wording across all modules. task-5921283
This update allows administrators to set a default joint committee for new employees. Employees can now be assigned a committee based on a pre-defined type or fall back to the company's main committee. This simplifies the process of setting up employee committees and ensures consistency across the organization.
Original PR description
This commit adds the possibility to set a default joint committee on a newly created employee from a JC defined on the employee type or a fallback to the company's main JC. TaskID-5972507
This update enhances the user experience of the Salary Attachment form by simplifying labels and button text, moving the priority indicator, and adjusting the layout. These changes aim to improve usability and clarity for HR staff managing salary adjustments.
Original PR description
This commit introduces some UI/UX changes to the form view of Salary Attachments. The changes are: - The text under Salary Adjustment in the top is not "Type + Durantion Type" anymore but "Type + Employee Display Name". - The "Mark as completed" button now instead reads "Done". - The "closed" state text is now "Done" instead of "Closed". - The priority widget (3 stars) has been moved to the top right of the form. - The Type selection menu has been shrinked to half width. - The date_end or date_estimated_end are no longer editable. Task: 5959289
This update removes unnecessary code overrides within the Odoo Enterprise system. These cleanup efforts streamline the application, reducing potential complexity and improving performance. The changes contribute to a more efficient and stable user experience.
Original PR description
Some overrides were unused and could be removed. This commit cleans them up.
This update aligns the Odoo spreadsheet functionality with a recent upgrade to the underlying library. Specifically, several actions previously disabled on locked spreadsheets have been re-enabled, and new datasource links have been added to cells. This improves usability and expands the capabilities of the spreadsheet feature.
This update streamlines the booking process in our Point of Sale system by improving calendar views and adding new functionality for managing table reservations. Specifically, users can now easily add or update bookings through various interfaces, confirm table assignments, and filter bookings based on key criteria, leading to more efficient operations.
Original PR description
In this commit: --------- - We are improving the calendar event views on the booking page in PoS. - Added a flow to add or update resources on clicking the kanban/gantt popover `check in` button, on kanban state change to `check in`, and on clicking the list view `Set Table` button. - Added a flow to update table booking on long press on a table in the floor plan. - Introduced a new search view with filters based on booking states, booking start time, etc. - Added a confirmation pop-up when opening a table with an appointment, allowing the user to confirm and link the order to the calendar event or automatically change the appointment resource. - Updated the calendar event form view. - Removed the calendar view from the booking page in PoS. Related PRs: - Community: https://github.com/odoo/odoo/pull/255217 - Upgrade: https://github.com/odoo/upgrade/pull/9746 Task-6018428
This update adapts various Odoo modules to the recent catalog refactor, improving its design and extensibility. Specifically, it prepares for future changes in unit of measure handling and simplifies data transmission to the frontend, leading to more efficient product catalog updates. This change enhances the overall product catalog experience.
Original PR description
In https://github.com/odoo/odoo/pull/209316, The catalog was refactored to have a better and an easier to extend design. As well as adding a feature that shows the price per product unit, if the line's unit or seller's unit is different In this commit, uom was added to the parameters passed to `update_order_line_info` in order to prepare it for the upcoming PR that will allow the change of the UoM directly from the catalog. New method was introduced in the catalog refactor, and the modules needed to be adapted to use the new method, which would make sending new props to the frontend much easier without having to loop over all the products everytime.
This update enhances financial reporting by providing a 'coverage ratio' for each analytic plan. This allows users to easily identify if journal items are fully distributed across their planned analytics, which is crucial for accurate audit trails and financial analysis. It addresses discrepancies in P&L and BS reports caused by partial analytic distributions.
Original PR description
The objective is to bridge the gap between journal items and analytic items in the reporting. As Odoo allows for partial analytic distribution, this creates discrepancies in the P&L and BS when filtered by an analytic plan. This features aims to provide users with a clear 'coverage ratio' per plan to identify incomplete distributions during audits. task-5887978 Forward-Port-Of: odoo/enterprise#106750
2 changes
Enhancements to existing features
This update streamlines the way odoo.com accesses database information, eliminating an outdated XMLRPC fallback. This change improves performance and simplifies the system, ensuring faster KPI synchronization for the odoo.com platform. Additionally, a new route is implemented to group database calls, mirroring the efficiency of the existing mail activity summary dashboard.
Original PR description
### [IMP] databases: remove xmlrpc fallback for odoo.com Since odoo.com migrated to 19.0, it will always support the json2 API, and XMLRPC support will be dropped on the next version. In order to…
### [IMP] databases: remove xmlrpc fallback for odoo.com Since odoo.com migrated to 19.0, it will always support the json2 API, and XMLRPC support will be dropped on the next version. In order to simplify the code and avoid subsequent requests in case of errors on the json2 API, the XMLRPC fallback is stripped off from `databases.api`. In this commit, we only adapt the tests so that they don't test the fallback to XMLRPC when calling odoo.com. In the next commit, we will remove the dead code. The configuration parameter `databases.odoocom_apiuser` is removed, as well as the corresponding field in the Settings page. ### [IMP] databases: remove xmlrpc fallback for odoo.com (fixup!) With this second commit, we remove the dead code concerning the fallback to XMLRPC when calling odoo.com. ### [IMP] databases: use multidb routes to fetch KPIs on SaaS When synchronizing KPIs from databases in the new Databases application, it takes a long time to make a RPC call to each database in the list. With this commit, in the case of the SaaS, these calls are grouped by server to a dedicated route that will process the information faster, like the databases dashboard odoo.com/my/databases already does to fetch mail activities summary. Task-id: [5167731](https://www.odoo.com/odoo/project.task/5167731)
This update enhances financial reporting by providing a 'coverage ratio' for each analytic plan. This allows users to easily identify if journal items are fully distributed across their planned analytics, which is crucial for accurate audit trails and financial analysis. It addresses discrepancies arising from Odoo's partial analytic distribution capabilities.
Original PR description
The objective is to bridge the gap between journal items and analytic items in the reporting. As Odoo allows for partial analytic distribution, this creates discrepancies in the P&L and BS when filtered by an analytic plan. This features aims to provide users with a clear 'coverage ratio' per plan to identify incomplete distributions during audits. task-5887978 Forward-Port-Of: odoo/enterprise#106750
1 change
Enhancements to existing features
This update prevents unnecessary creation of user settings for Odoo Portal users. Previously, the system would automatically create these settings, which was inefficient and potentially problematic. This change streamlines the process and improves system performance.
Original PR description
By default, portal does not need res.user.settings. Since this linked record is optional, we should avoid to create it is not needed. This commit adds a check to avoid introducing logic that may create res_users_settings by mistake for portal user.