Wednesday, April 29, 2026
6 changes · saas-19.3
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