Daily updates from Odoo
Wednesday, April 29, 2026
17 changes
6 changes
Enhancements to existing features
This update implements changes required by a new Vietnamese tax regulation (Decree 175/2025) regarding VAT rates on specific goods and services. It allows businesses to generate and export Appendix 142 reports, which are necessary for declaring transactions with the reduced 8% VAT rate. Enterprises meeting specific criteria can now avoid submitting this report.
Original PR description
According to Decree 175/2025/NĐ-CP, an decrease of 2% will be applied to a certain goods and services which has 10% VAT rate (from 10% to 8%) and this will be effective until 12/2026 according to Decision 205/2025/QH15. This decision will be considered after that to decide if 8% VAT rate will be still applied. Appendix 142 report is meant to declare those operations and is only for Purchased and Sold goods with 8% VAT rate. For enterprises which satisfies these two following conditions don't have to submit Appendix 142: + Don't have both input and output invoices related to products & services with applied decreased tax rate (8%) + Only have input but not output invoices related to products & services with applied decreased tax rate (8%) We want to allow users to view and export form 01/GTGT and Appendix 142 with xml format from Odoo. task-5498205
This update simplifies the URLs used to access spreadsheets within Odoo. The previous URLs included a lengthy `sheet_id` parameter, which has been replaced with the shorter `sid` parameter. This change improves URL readability and maintainability.
Original PR description
Current behavior before PR: - The URL used the `sheet_id` parameter, which was unnecessarily long. Desired behavior after PR is merged: - Replace `sheet_id` with `sid` to make the URL more concise and readable. Task: [6171969](https://www.odoo.com/odoo/project.task/6171969) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update simplifies the URLs used to access spreadsheets within the Odoo Enterprise platform. The previous URLs included a lengthy `sheet_id` parameter, which has been replaced with the shorter `sid` parameter. This change improves URL readability and maintainability.
Original PR description
Current behavior before PR: - The URL used the `sheet_id` parameter, which was unnecessarily long. Desired behavior after PR is merged: - Replace `sheet_id` with `sid` to make the URL more concise and readable. Task: [6171969](https://www.odoo.com/odoo/project.task/6171969)
This update enhances the bank reconciliation process by displaying the analytic distribution of each reconciliation line. This provides users with clearer insight into where funds are allocated, simplifying the reconciliation process and reducing potential errors. The changes were based on existing bank reconciliation components and improved usability.
Original PR description
For automated reco models, we didn't take the amount into account. That means that some lines could have a suggestion of reco model that makes no sense. This commit will allow to show the analytic distribution of a line in the line to reconcile so that it's clear for the user. (Most of the code is taken from the analytic distribution widget and adapted) Also make the popover works on hover task-5733382 Forward-Port-Of: odoo/enterprise#106118
This update enhances the website builder's AI functionality by adding a reliable way to track launched AI chat sessions. Previously, tracking was fragile due to user edits, now the system uses a standardized 'interface_key' to identify the source of AI sessions, enabling features like blocking website iframes. This improves the stability and functionality of the AI builder.
Original PR description
__Before this commit__ The `ai.session` record linked to a `discuss.channel` is not accessible from the frontend. This is a problem for the website builder AI because in some cases we need to know if…
__Before this commit__ The `ai.session` record linked to a `discuss.channel` is not accessible from the frontend. This is a problem for the website builder AI because in some cases we need to know if an AI chat session was launched from the website builder sidebar. For instance, to implement custom behaviors such as blocking the website page iframe while the AI is thinking. As a workaround, we currently check if the channel agent external identifier corresponds to the website builder AI, however this might be edited by the user, which would break the flow. __After this commit__ The inverse field `ai_session_ids` is added to `discuss.channel`. In practice, there might only be a maximum of one `ai.session` linked to a channel, but we keep it plural as a convention for `One2many` fields. Only the `ai.composer` and the `interface_key` linked to the session are put in the store at the moment, but fields can now be easily added if needed. We can now check for the `interface_key` in the frontend to know from which part of the code an AI session was launched. Those models have also been added to the Hoot mock server. The `action_launch_ai_chat` method is added to the `ai.agent` mock model and returns the session and the composer. task-5411100
This update simplifies the asset depreciation views in Odoo Enterprise, making them easier to use. Redundant information has been removed, and the search functionality has been streamlined to focus on key depreciation settings. A default 'Active' filter has been added for clarity.
Original PR description
Simplify the asset depreciation views by removing redundant information and improving usability. The method column is removed from the assets list since it is already included in the depreciation model name. The depreciation model list is cleaned up to show only the model by default, while filters for method, period, and number of depreciations remain available in the search view. A default Active filter is also added to display only active records. task-6128781 Forward-Port-Of: odoo/enterprise#114419
1 change
Enhancements to existing features
This update simplifies the asset depreciation views in Odoo Enterprise, making them easier to use. Redundant information has been removed, and the default view now shows only active assets. This change improves the overall user experience and efficiency.
Original PR description
Simplify the asset depreciation views by removing redundant information and improving usability. The method column is removed from the assets list since it is already included in the depreciation model name. The depreciation model list is cleaned up to show only the model by default, while filters for method, period, and number of depreciations remain available in the search view. A default Active filter is also added to display only active records. task-6128781
2 changes
Enhancements to existing features
This update limits the duration of automatically recurring calendar events to 15 years by default, preventing excessive event creation and ensuring predictable scheduling. Administrators can adjust this limit for specific events if needed, maintaining event organization and reducing potential system load.
Original PR description
`forever` recurrent events could currently be created for 720 years into the future, leading to excessive and unnecessary event generation. This change limits the creation of forver recurrent events to a fixed horizon of 15 years (by default) in the future, ensuring predictable behavior and preventing unbounded recurrence. The maximum horizon can be adjusted through the system parameter `calendar.max_recurrence_years` for events that require a longer recurrence window. Task-5714633 Forward-Port-Of: odoo/odoo#247929
This update enhances the bank reconciliation process by displaying the analytic distribution of each reconciliation line. This provides users with clearer insights into where funds are being matched, reducing confusion and improving accuracy. The changes were based on existing bank reconciliation components and now function on hover.
Original PR description
For automated reco models, we didn't take the amount into account. That means that some lines could have a suggestion of reco model that makes no sense. This commit will allow to show the analytic distribution of a line in the line to reconcile so that it's clear for the user. (Most of the code is taken from the analytic distribution widget and adapted) Also make the popover works on hover task-5733382 Forward-Port-Of: odoo/enterprise#106118
5 changes
Enhancements to existing features
This update enhances the Sales Order Gantt chart by displaying the commercial partner's name alongside the order number. Previously, users could only see the order number, making it difficult to quickly identify the customer associated with each Sales Order group. This change improves clarity and efficiency when reviewing sales planning.
Original PR description
Before this PR --- - When grouping Planning Gantt by Sales Order, only the order number was displayed, making it hard to identify which customer an order belongs to After this PR --- - Sales Order groups display the commercial partner name alongside the order number (e.g. "S00027 - Acme Corporation") for better identification task - 5140117
This update implements changes required by a new Vietnamese tax regulation (Decree 175/2025) regarding VAT rates on specific goods and services. It allows businesses to generate and export Appendix 142 reports, which are necessary for declaring transactions with the reduced 8% VAT rate. Certain businesses are exempt from submitting this report based on specific invoice criteria.
Original PR description
According to Decree 175/2025/NĐ-CP, an decrease of 2% will be applied to a certain goods and services which has 10% VAT rate (from 10% to 8%) and this will be effective until 12/2026 according to Decision 205/2025/QH15. This decision will be considered after that to decide if 8% VAT rate will be still applied. Appendix 142 report is meant to declare those operations and is only for Purchased and Sold goods with 8% VAT rate. For enterprises which satisfies these two following conditions don't have to submit Appendix 142: + Don't have both input and output invoices related to products & services with applied decreased tax rate (8%) + Only have input but not output invoices related to products & services with applied decreased tax rate (8%) We want to allow users to view and export form 01/GTGT and Appendix 142 with xml format from Odoo. task-5498205 Forward-Port-Of: odoo/enterprise#112572
This update removes unnecessary data from the internal data structures used in account reporting. This optimization improves the performance and efficiency of generating reports, particularly for large datasets. The change focuses on internal improvements within the account_reports module.
This update simplifies tax deductions for employees in India by allowing HR to select a tax deduction schedule (monthly, quarterly, etc.). The system now automatically calculates and displays TDS amounts correctly on tax declarations, ensuring accurate reporting and compliance. This change improves the user experience for HR and payroll teams.
Original PR description
- Added a `l10n_in_tds_schedule` field to the contract and template so HR can easily choose the tax deduction schedule (monthly, quarterly, half-yearly, last three months). - Updated the TDS formula in salary rules to deduct tax based on the chosen schedule, while keeping the tax declaration amounts evenly spread out. - Modified the Tax Declaration web view and PDF report to automatically show the correct label for the chosen schedule. task-4236978
This update simplifies the URLs used to access spreadsheets within Odoo Enterprise. The change replaces a lengthy `sheet_id` parameter with a shorter `sid` parameter, making the URLs easier to read and manage. This is a minor improvement focused on user experience.
Original PR description
Current behavior before PR: - The URL used the `sheet_id` parameter, which was unnecessarily long. Desired behavior after PR is merged: - Replace `sheet_id` with `sid` to make the URL more concise and readable. Task: [6171969](https://www.odoo.com/odoo/project.task/6171969) Forward-Port-Of: odoo/enterprise#115488
2 changes
Enhancements to existing features
This update adapts Odoo's reporting to align with the latest Russian tax regulations (Act 2025). The change removes reliance on outdated tax section dependencies and now uses report line names and tax tags for accurate TDS/TCS reporting, ensuring compliance.
Original PR description
In this commit, the XLSX export and report warning are adapted to support the newly introduced TDS/TCS reports as per Act 2025. Previously, the XLSX reports depended on TDS/TCS sections. However, with Act 2025, certain taxes no longer have associated sections. This dependency has been removed, and report generation now relies on report line names and tax tags instead. task-6124431
This update ensures the scale certification icon is displayed in Odoo Enterprise v19.0. This change reflects our recent certification achievement and provides users with clear visual confirmation of our compliance.
Original PR description
This PR makes the scale certification icon visible in v19.0 since we are now certified for this version
1 change
Enhancements to existing features
This update adjusts payroll deductions for employees aged 60 or older. It ensures NSSF contributions stop when an employee reaches 60, aligning with Kenyan regulations and accounting for the timing of the change (starting in the following month). A new test has been added to verify this functionality.
Original PR description
[IMP] l10n_ke_payroll: stop NSSF deductions after 60
When the user is creating a payslip and if the age of employee is >=60 the NSSF deductions must stop
(If the 60 years is finished in 10th of March -> it will stop in April (deduction stop starts from next month))
Test:
Unit test is written to check stopping NSSF deductions with dynamic birthday.
task - 6074658