Daily updates from Odoo
Thursday, April 30, 2026
8 changes · master
Enhancements to existing features
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. The changes were largely adapted from existing bank reconciliation components.
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#115553 Forward-Port-Of: odoo/enterprise#106118
This update adds a new record, `ai.session`, to track AI chat sessions launched through the website builder. Previously, tracking was unreliable due to manual user input. Now, the system can automatically identify AI sessions based on a unique identifier, enabling features like blocking website iframes during AI processing.
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 Forward-Port-Of: odoo/enterprise#114472
This update adjusts how European leaves are calculated within the payroll system. Now, European leaves are treated as an advance on double holiday pay, ensuring they are taxed in the same manner. This change aligns with European regulations and provides accurate payroll calculations for employees on European leave.
Original PR description
European leaves must be considered as an advance on double holiday. Following that, it should be taxed the same way as double holiday. task-6127284
This update enhances the autofill feature in Odoo's spreadsheet tools, specifically for pivot and list views. Previously, these autofills were limited, but now they correctly handle formulas containing multiple pivot/list functions, ensuring more accurate data population. This improves the usability and reliability of data analysis within the spreadsheet.
Original PR description
This commit makes the pivot/list autofill work when the formula contains pivot/list functions that are not the only function of the formula. The list autofill would override everything, and the pivot autofill would not do anything. We will now autofill the pivot/list function normally and re-use the rest of the formula as is. Task: [6113901](https://www.odoo.com/web#id=6113901&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
This update streamlines product variant handling across multiple Odoo modules, improving the user experience and reducing complexity. Key changes include removing redundant features and aligning data structures for a more consistent and efficient workflow. This simplifies product management and improves overall system performance.
Original PR description
* = [account_intrastat,approvals, documents_product, helpdesk_sale_timesheet,hr_expense_stripe,l10n_ke_edi_oscu, l10n_ke_edi_oscu_stock,l10n_pe_edi_stock,mrp_plm, pos_pricer, quality_control,…
* = [account_intrastat,approvals, documents_product, helpdesk_sale_timesheet,hr_expense_stripe,l10n_ke_edi_oscu, l10n_ke_edi_oscu_stock,l10n_pe_edi_stock,mrp_plm, pos_pricer, quality_control, sale_subscription] - Drop all view inheritances targeting the removed product_variant_easy_edit_view - Remove `Product Variants` menus from Approvals and Quality Control -added account_avatax inside the Accounting tab group - Move pos_pricer Pricer group to after the Short Description group in the Sales page remove on_sale_price and pricer_tags_pricelist_id fields from the variant form - Remove product_product_view_list_at_date list view - Remove mrp_plm ECO button from variant form - Update sale_subscription variant field to many2many_tags_color_dot widget - Simplify UI extensions by removing redundant variant-only fields and customizations - Clean obsolete view logic and tests relying on direct variant editing This aligns product variant handling across modules, and ensures a consistent user experience. See Also: Community PR:https://github.com/odoo/odoo/pull/244185 Upgrade PR:https://github.com/odoo/upgrade/pull/9276 task-5207510
This update enhances the 'Sign' module's ability to display non-Latin fonts like Arabic and Bengali within PDF documents. Previously, font customization was limited; now, users can define multiple fonts within a system parameter, offering greater flexibility for diverse document layouts and languages without requiring manual parameter changes.
Original PR description
Up until now, by specifying a ttf font file in the use_custom_font system parameter, one could allow the display of different fonts or alphabets in the pdf generation in sign. With this PR we want to…
Up until now, by specifying a ttf font file in the use_custom_font system parameter, one could allow the display of different fonts or alphabets in the pdf generation in sign. With this PR we want to explore the possibility of defining multiple fonts, which would allow both for the use of different alphabets in different documents (without always having to go modify the system parameters) and multiple alphabets in the same document, in different text boxes/selection menus. The way it works is that a variable called sign.use_custom_font needs to be created in the system parameters and populated with a list of ttf files, separated by a ; For example, if one wants to add the fonts for Arabic and Bengali which are in files named NotoSansArabic-Regular.ttf and NotoSansBengali-Regular.ttf, the value of the newly created system variable should be: NotoSansArabic-Regular;NotoSansBengali-Regular The code should check all the usual folders for fonts. If a file is not found it is ignored and a warning is logged. At document rendering time, if an appropriate font is not found for a text to be displayed in a Text, TextArea or Selection field then the system defaults to Helvetica (latin alphabet) and most different-alphabet symbols are rendered as black boxes. This is intended. Task: 4731754
This update replaces an outdated technology (Deferred) with a modern, more efficient approach (Promise.withResolvers) within the Odoo Live Chat module. This change enhances the overall performance and stability of the live chat feature, ensuring a smoother user experience.
Original PR description
Deferred is deprecated, Promise.withResolvers is now the preferred API. Part of [task-5262203](https://www.odoo.com/odoo/1519/tasks/5262203) Community: https://github.com/odoo/odoo/pull/262207
This update adjusts the XLSX export reports to align with new Indonesian tax regulations (Act 2025). Previously, reports relied on specific tax sections, but now they utilize report line names and tax tags for accurate reporting. This ensures compliance with updated tax requirements.
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 Forward-Port-Of: odoo/enterprise#115679 Forward-Port-Of: odoo/enterprise#113916