Daily updates from Odoo
Sunday, November 2, 2025
5 changes · 19.0
Enhancements to existing features
This pull request updates several environment and startup configuration files used to run Odoo. The changes appear to be operational rather than user-facing, helping keep development, staging, production, web server, and service setup files aligned.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Purchase order tax totals now use the currency from the current order instead of mixing currencies from multiple records. This prevents an error that could block users from calculating taxes on purchase orders involving different currencies.
Original PR description
On the tax computation, when trying to compute the total tax, customer was having an error " Expected singleton: res.currency(1, 69) " As Odoo is trying to get the currency of all the records instead of the one in the current order opw-5177551 Forward-Port-Of: odoo/odoo#233471
This fixes an intermittent automated test failure related to the AI composer in Discuss. The change improves reliability of internal validation, helping prevent false build failures without changing user-facing behavior.
Original PR description
HOOT test "can handle command and disable mentions in AI composer" fails non-deterministically on runbot with the following error: ``` Cannot find a definition for model "hr.employee": could not get…
HOOT test "can handle command and disable mentions in AI composer" fails non-deterministically on runbot with the following error: ``` Cannot find a definition for model "hr.employee": could not get model from server environment (did you forget to use `defineModels()?`) ``` Somehow this test requires `hr.employee` model, which explained why it had `defineHrModels()`. This was replaced to enterprise livechat models, since new test need livechat and `hrModels` lacked livechat. The way to `defineModels()` on modules with lots of dependency sucks: `hr` and `im_livechat` and `ai` have no explicit dependency among each other, but a module such as `test_discuss_full_enterprise` has to combine all of their behaviors and definitions. `defineModels()` is designed to extend a model by making a subclass of a definition of same model in a dependent module, which is not practical here. This commit doesn't solve the problem of defining livechat and hr models in the `test_discuss_full_enterprise` test suites, but for the quick and immediate fix it moves the problematic AI test in its own suite with `defineHrModels()`. Fixes https://runbot.odoo.com/runbot/build/92414152
Contacts will no longer show duplicate bank account warnings based on archived bank account records. This keeps customer records cleaner and prevents misleading alerts when old or inactive bank details are no longer in use.
Original PR description
If a res_partner_bank record shares an acc_number with other res_partner_bank records, even archived ones, the field duplicate_bank_partner_ids still includes partners from those archived records. As…
If a res_partner_bank record shares an acc_number with other res_partner_bank records, even archived ones, the field duplicate_bank_partner_ids still includes partners from those archived records. As a result, the contact page shows a banner indicating other partners use the same bank account, even though those res_partner_bank records have been archived. Steps to reproduce the issue: 1. Create a new bank account which has the same bank account number as another bank account already associated to a partner 2. Assign this new bank account to another partner 3. Archive this new bank account 4. Go to the contact page of the partner (from step 1) which has a bank account with the same bank account number as the new bank account just created 5. A banner will pop up at the top of the contact saying that this partner uses the same bank account as the partner you set on the bank account in step 2 Solution: Add a condition to the JOIN clause that checks “other.active = TRUE” to ensure that other res_partner_bank records to search for that have the same account number are active. Also add a condition to the WHERE clause that checks “this.active = TRUE” to ensure that the current res_partner_bank record doing the search is active itself. opw-4967083 Forward-Port-Of: odoo/odoo#232018 Forward-Port-Of: odoo/odoo#231585
Product forms now show the correct tax information when a branch company uses taxes shared from its parent company. This helps users see accurate sales pricing on products, matching the taxes applied later on invoices and sales orders.
Original PR description
Steps: - Install account app. - Create a branch company under the main company. - Create a tax for the branch company. - Add a main company tax on a product. - Switch to branch company. Issue: - Tax…
Steps: - Install account app. - Create a branch company under the main company. - Create a tax for the branch company. - Add a main company tax on a product. - Switch to branch company. Issue: - Tax string is not displaying on the product form even though its setting tax from parent company on invoice line and SO line so its displaying wrong sale price on product form. Cause: - After [PR] taxes are only consider from current company even though company is branch company but in [17.0 PR] we share taxed and other accounting related data b/w main and branch company so if branch does not it's specific tax applied on product then it should take tax from its parent company. Fix: - Compute tax_string in product the way we compute tax on invoice line, SOL etc using `_filter_taxes_by_company` method this way it'll give proper tax which will be applied on related documents. [PR]: https://github.com/odoo/odoo/pull/194881 [17.0 PR]: https://github.com/odoo/odoo/pull/125642 opw-5042833 Forward-Port-Of: odoo/odoo#233720