Daily updates from Odoo
Wednesday, April 8, 2026
13 changes · master
Resolved issues and error corrections
This update fixes a misleading chart in the Purchase & Vendor Analysis dashboard. The chart title was previously inaccurate, suggesting supplier dependency instead of showing purchase orders by buyer. The title has been corrected to accurately reflect the data displayed, improving clarity for users.
Original PR description
Issue Before This Commit: ====================== Currently, the pie chart titled `Supplier Dependency Chart` in the Purchase & Vendor Analysis under the Logistics section is misleading because it…
Issue Before This Commit: ====================== Currently, the pie chart titled `Supplier Dependency Chart` in the Purchase & Vendor Analysis under the Logistics section is misleading because it suggests that the chart represents dependency on each supplier. However, the chart actually shows how many purchase orders are created by each buyer. Additionally, when there are no purchase orders, the sample pie chart displayed uses the title `Purchase Orders by Buyer`, which creates inconsistency between the actual chart title and the sample chart title. Steps to Reproduce: ================= - Install the **purchase_stock** module with demo data. - Go to the **Dashboard** app. - Open the **Purchase & Vendor Analysis under the Logistics** section. - Scroll down to locate the pie chart titled **Supplier Dependency Chart**. Cause of the Issue: ================ In this [PR](https://github.com/odoo/enterprise/pull/93921), at [this line](https://github.com/odoo/enterprise/pull/93921/changes#diff-61d19b77200011a8808542c134a675631e6d4b4dbc88ca99353cacfe3448b396), The pie chart title was incorrectly set to `Supplier Dependency Chart`, which does not reflect the underlying data, as the chart displays purchase orders grouped by buyer. After This Commit: ================ The pie chart title is corrected from `Supplier Dependency Chart` to `Purchase Orders by Buyer`, ensuring it accurately repersent the underlying data and avoids misleading users. TaskID-5891759 Forward-Port-Of: odoo/enterprise#110434
This update fixes an issue where the helpdesk website displayed all published knowledge articles, regardless of which helpdesk team was viewing them. Now, the website only shows articles linked to the specific team or its associated teams, improving the user experience and ensuring relevant information is presented.
Original PR description
To reproduce: ============= - create multiple published knowledge articles - link one of them to a helpdesk team - check the help page on website -> all public articles are listed Problem: ======== when fetching the articles to list, we don't take into account the team configuration and we list all the published articles. Solution: ========= fetch only the article linked to the team or its children. opw-5913355 Forward-Port-Of: odoo/enterprise#113025 Forward-Port-Of: odoo/enterprise#109361
This update resolves a crash in the Gantt chart view that occurred when opening the chart on days with Daylight Saving Time transitions. The fix addresses an issue where incorrect time calculations led to a data error, preventing users from accessing the Gantt chart. This ensures the Gantt chart remains stable across different time zones.
Original PR description
Steps to reproduce 1. Set your timezone to Asia/Beirut 2. Open a Gantt view (e.g. Planning) in week scale on the last Sunday of March (DST spring-forward day) Issue Beirut's DST spring-forward makes that day only 23 hours long. luxon's .diff() works in absolute time, so diffColumn() returned a float (e.g. 6.958 instead of 7 for a full week). Array(6.958) throws RangeError: Invalid array length, crashing the entire gantt view. Forward-Port-Of: odoo/enterprise#112840
This update fixes misleading low wage warnings in Odoo's Belgian payroll module (l10n_be_hr_payroll). Previously, warnings appeared regardless of contract start dates, causing confusion. Now, warnings only appear if the contract starts in the past or if the wage is zero and the contract starts in the future, ensuring accurate and relevant alerts for HR users.
Original PR description
Before this change, if you created an employee from scratch in a belgian company with l10n_be_hr_payroll installed, you would automatically get a warning saying that you were below minumum wage. This would happen even if there was no contract defined on the version which doesn't make sense. Here, we add the showing condition that the contract date start on the version should be in the past. Another warning that was showing inappropriately is the one saying that the annual salary is below a certain amount and to add transport benefits. This was, for example, showing even if the contract was starting in the future. The new conditions are: - If contract starts in the future and the wage is 0 we don't show it. - If the contract starts in the future, the wage is != 0 but still insufficient, we show. - If the contract starts in the past, we show even if the wage is 0. Task: 6064262
This update restores the previous template structure used in the M3 project, incorporating necessary adaptations. It addresses a technical issue related to existing code and ensures compatibility with current functionality. This change focuses on stability and aligns with previous design standards.
Original PR description
This commit reverts the changes made for M3 to the arch, and bring back the previous template with some adaptation when needed. Note: * M3: some class are still present task-6054024 Co-authored-by: Romeo Fragomeli <rfr@odoo.com>
This update fixes an issue related to how dates and times are displayed in Odoo. The system now correctly shows seconds when requested, and previously hidden formatting options have been removed to avoid confusion. This ensures consistent and accurate time representation across the application.
Original PR description
In this [commit] the short format has been removed from misc methods because there was no more _short format fields in res.lang. But the short format was used to remove seconds from the res.lang format. Now, this behaviour has been restored with the new datetime format system and the unused format 'long' and 'full' has been removed from the doc string to avoid misunderstanding. The formatDateTime from the JS use the format from the res.lang too. So the same behaviour has been implemented there to be able to show seconds through the option 'showSeconds'. It's also fix the fact that this option didn't have any effect when the datetime was shown in numeric mode. [commit]: odoo/odoo@062b140 opw-6030342 Forward-Port-Of: odoo/enterprise#112505
This pull request addresses a small typographical error within the l10n_be_hr_payroll module. The fix ensures accurate calculations related to employee payroll in Belgium. This update improves the overall reliability of the payroll processing system.
Original PR description
typo in https://github.com/odoo/enterprise/pull/113076
This update resolves an issue where the system incorrectly identified employees without a recorded check-in time as eligible for late hours calculations. The fix ensures that records without a check-in are excluded from late hours visibility, preventing errors and ensuring accurate reporting. This improves the reliability of late hours tracking.
Original PR description
_compute_l10n_sa_late_hours_visible, calling min() on the mapped check_in values and then .date() would crash with an AttributeError when check_in is False (e.g. during an onchange triggered by clearing the check_in field in the form view). Filter out records without a check_in before computing the date range, and mark them as not visible since late hours cannot apply without a check-in time. task-6067640 Forward-Port-Of: odoo/enterprise#111935
This update resolves a potential error in the l10n_hk_hsbcnet module that could have prevented correct assignment of HSBC bank accounts for autopay. The change adds a check for valid account numbers before assigning sanitized account numbers, ensuring accurate processing of financial data. This improves the reliability of HSBC bank integration.
Original PR description
. Add account_number check before assign sanitized_account_number task-6049640 Forward-Port-Of: odoo/enterprise#112864
This update fixes a layout issue in the Italian Libro Giornale PDF report. When accounts with long names are used, the report's column width expands too much, causing text to shrink and creating unsightly gaps. The fix adds a CSS class to manage the column width, resulting in a cleaner and more professional report layout.
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 Forward-Port-Of: odoo/enterprise#112743
This update resolves an issue preventing the download of Intrastat reports for languages that use commas instead of periods as decimal separators. The fix also addresses a previous error related to product weights, improving the overall stability and reliability of the Intrastat reporting process. A more informative error message has been added for better troubleshooting.
Original PR description
Before this commit, in 19.0+, languages that use commas instead of periods for decimals could not download the intrastat report. Simply attempting to change a string to a float was not enough. Also, when a product had a NoneType weight assigned to it another trace back would occur. This also adds a more descriptive and helpful error message. opw-6026730 Forward-Port-Of: odoo/enterprise#112627
This update fixes how default customer partners are assigned when creating orders in our point-of-sale system. Previously, each localized version of the system handled this separately. Now, the system uses a central method to determine the default partner, ensuring consistency across all locations and reducing potential errors.
Original PR description
Replace the `createNewOrder()` override with `getDefaultPartnerId()` in l10n_cl_edi_pos, l10n_co_edi_pos, l10n_ec_edi_pos and l10n_gt_edi_pos. The default partner assignment is now handled centrally in `point_of_sale`'s `createNewOrder()`. opw-6077656 Forward-Port-Of: odoo/enterprise#112467
Code cleanup and technical improvements
This update standardizes the styling of the AI logo across Odoo by renaming the CSS class from `ai-logo-icon` to `oi-ai-logo`. This change improves the overall consistency and maintainability of the codebase, making future updates easier to manage.
Original PR description
*=ai,ai_knowledge,ai_website,test_discuss_full_enterprise Rename `ai-logo-icon` class to `oi-ai-logo` to follow Odoo icon naming conventions This change aligns the AI logo CSS class with the standard `oi-*` naming pattern used by Odoo icons, improving consistency and maintainability across the codebase.