Daily updates from Odoo
Monday, March 23, 2026
9 changes · master
Resolved issues and error corrections
This update resolves an issue where the bulk payments feature would crash if a bank journal wasn't properly connected. A new user message will now appear, guiding users to ensure their bank account is linked before attempting to check the status of a payment batch. This improves the user experience and prevents unexpected errors.
Original PR description
This commit: https://github.com/odoo/enterprise/commit/c9cc89f58f7d98396afac3bdacfeff9b00a02a21 introduce the initiate bulk payments feature. When selecting a batch you can also check the status of this batch. But for the moment, if you select a batch that is not connected to a bank, the action will traceback with a redirect. This commit will add a user error to warn the user than the journal needs to be connected to a bank. task-6009083 Forward-Port-Of: odoo/enterprise#111327 Forward-Port-Of: odoo/enterprise#109956
This update resolves an error that occurred when using the 'hr_expense_stripe' module with unsupported currencies like INR. The module will no longer attempt to create a 'Stripe Issuing' journal, preventing the error and allowing users to access the invoicing dashboard. The fix ensures a stable experience when using specific currency configurations.
Original PR description
Currently, an error occurs when a user opens the invoicing dashboard after activating the `hr_expense_stripe` module for Stripe card issuing with only unsupported currencies active. Steps to…
Currently, an error occurs when a user opens the invoicing dashboard after activating the `hr_expense_stripe` module for Stripe card issuing with only unsupported currencies active. Steps to reproduce: (19.0) - Install `account` module - Set Company currency to `INR` and deactivate `USD` in currencies. - Install `hr_expense_stripe` - Create New company > Set `Country` and `Currency` (eg: India and INR) > Switch to New company > Open `Invoicing` you will get the error. Steps to reproduce: (saas-19.1) - Install `account` module - Set Company currency to `INR` and deactivate `USD` in currencies. - Install `hr_expense_stripe` > Open `Invoicing` you will get the error. Traceback: `ValueError: Expected singleton: res.currency()` In this [PR], the behavior is such that if `company.stripe_currency_id` is not set, we do not create the "Stripe Issuing". In 19.0, `@template` was executed after the post-init hook, and we were preventing the creation of the [journal] at that stage. However, when a new company is created, the template data is automatically loaded for companies with a matching chart of accounts. As a result, the `stripe_issuing_journal` is created, which leads to the error. However, in saas-19.1, due to recent improvements in a [commit], the `@template` will now loads data for companies without post init hook. As a result, the `stripe_issuing_journal` is being created, and we are encountering an error. Solution: - The`Stripe Issuing` journal will no longer be created on installing the module. - For existing databases, we will use the company currency as a fallback value to ensure that a valid currency is applied. [PR]: https://github.com/odoo/enterprise/pull/96271 [journal]: https://github.com/odoo/enterprise/blob/fea009f98885a97439edfea75376b7323c8c9a03/hr_expense_stripe/models/res_company.py#L186-L187 [commit]: https://github.com/odoo/odoo/pull/228950/changes/21fd14ed5e8bdd2cf203d466069437a62a87f2bd sentry-7284934493 Forward-Port-Of: odoo/enterprise#108436
This update enhances product pricing by now sending unit of measure information (price per unit and quantity) to the system. It also resolves a previous issue where product tag updates weren't automatically triggered by changes to product barcodes or linked products, ensuring accurate pricing and tag synchronization.
Original PR description
If units of measure is configured, we now send the price per unit and the amount of unit for the current product. This commit also fixes an issue where we didn't call pricer API to update tags if we updated the tag barcode, or if we updated the product linked to it. Task-5129442
This update ensures the topbar menu accurately reflects the menu selected through Odoo's AI Agent. Previously, the topbar didn't update when an AI Agent opened a menu, leading to a disjointed user experience. This fix corrects this behavior, providing a more consistent and intuitive interface for users.
Original PR description
Purpose: -------- When a menu (view) was opened through an AI Agent, the menu in the topbar was not updated. This commit fixes this behaviour by setting the menu when the menu's action has been loaded Task-6017607 Forward-Port-Of: odoo/enterprise#109929
This update corrects a bug in the refund processing for multi-line orders. Previously, the system incorrectly summed line amounts, leading to inaccurate comparisons and potential refund failures due to rounding discrepancies. This change ensures refunds are calculated correctly, preventing order discrepancies and improving financial accuracy.
Original PR description
Before this commit, the some of individual line amounts were being summed to compare against the original order total when processing a refund. This could lead to incorrect comparisons due to rounding issues, resulting in errors when attempting to refund orders with multiple lines. <img width="626" height="288" alt="image" src="https://github.com/user-attachments/assets/e1bdc126-64d9-4b9a-bd16-2b97ac75e40c" /> opw-5433201 Forward-Port-Of: odoo/enterprise#109124 Forward-Port-Of: odoo/enterprise#105301
This update automatically calculates and transmits the necessary commission payments related to employee compensation for Swiss payroll (ELM). Previously, this calculation was manual, and this change streamlines the process, ensuring accurate and timely reporting to Swiss tax authorities. This improves compliance and reduces the risk of errors.
Original PR description
task-6050810 Forward-Port-Of: odoo/enterprise#111143
This update resolves an issue where the payroll module wouldn't function correctly if only the core payroll components were installed. The `l10n_mx_min_wage_zone` field has been moved from a separate module to the main payroll module, ensuring compatibility and proper operation for all users.
Original PR description
The `l10n_mx_min_wage_zone` field is used in `l10n_mx_hr_payroll`, but it was originally defined in `l10n_mx_hr_payroll_account_edi`. This causes errors when a user only installs the `l10n_mx_hr_payroll` module, as the field is missing. Related commit: 11bb6db4884083b3f48582b749c01ae75a09cf66 target: master task-6047772
Previously, when users uploaded multiple files to a WhatsApp Discuss channel, only the first file was delivered. This update corrects this issue by preventing the sending of multiple attachments, ensuring all files are successfully transmitted to the recipient. This improves the reliability of WhatsApp communication within Odoo.
Original PR description
Multiple attachments uploaded simultaneously to a WhatsApp Discuss channel result in only the first being delivered to the recipient. ### Steps to reproduce 1. Drag and drop multiple files into a…
Multiple attachments uploaded simultaneously to a WhatsApp Discuss channel result in only the first being delivered to the recipient. ### Steps to reproduce 1. Drag and drop multiple files into a WhatsApp Discuss channel. 2. Send the message. -> Odoo shows all files, but only the first reaches the destination. ### Cause WhatsApp's API permits only one media object per message. Odoo's "Composer" enforces this by blocking uploads if an attachment is already present. However, it only evaluates the *current* state; dropping multiple files into an empty composer passes the check because the count is zero. On the server, the WhatsApp backend (constrained by the API) is hardcoded to send only the first attachment, silently discarding the rest. ### Fix Updated frontend validation to inspect the incoming file list during drop and paste actions. The process is now blocked if the total of existing plus incoming files exceeds one, ensuring the user is notified and preventing silent data loss. opw-5889035 Forward-Port-Of: odoo/enterprise#111001 Forward-Port-Of: odoo/enterprise#107424
This update enhances security within Odoo's spreadsheet modules by ensuring that users only have access to data based on their permissions. The changes align search filters with access controls, preventing unauthorized data viewing. This improves data security and protects sensitive information within spreadsheet applications.