Monday, October 20, 2025
16 changes · 18.0
Enhancements to existing features
This update simplifies how accounting tax calculations handle grouped tax details in the browser. It reduces the need for extra manual setup in the code, making tax-related interfaces easier to maintain and less prone to implementation mistakes.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves and fixes Odoo's Hoot unit testing tools while keeping changes limited to the test ecosystem. It helps maintain more reliable automated testing without affecting normal business workflows or end-user features.
Original PR description
## Pull Request HOOT 38 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. Community: https://github.com/odoo/odoo/pull/231263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Peruvian customer addresses no longer require a ZIP code because ZIP codes are not widely used in Peru. This makes customer data entry easier and avoids unnecessary validation issues for businesses working with Peruvian contacts.
Original PR description
As ZIP codes are not widely used in Peru, the requirement for a ZIP code to be provided for a Peruvian customer should not be present. task-5012593 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#223157
Resolved issues and error corrections
This fix ensures Swiss payroll ELM transmission employee information works correctly when more than one company or country setup is used. It helps businesses avoid incorrect or missing payroll-related data in multi-company Switzerland configurations.
Original PR description
task-5159023 Forward-Port-Of: odoo/enterprise#96733
Documentation and clarification updates
Acsone has added Tobias Zehntner to Odoo's contributor records after confirming the required contributor agreement. This is an administrative legal update that helps keep contribution permissions and acknowledgements accurate.
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change removes an unnecessary browser request option from IoT and point-of-sale IoT communication. It prevents errors in older Chrome versions while keeping local device communication working as before.
Original PR description
This reverts commit 6d09dc6 which added the `"targetAddressSpace": local` option to IoT fetch requests. This is because of two reasons: 1. It caused errors on older versions of Chrome that implemented the obsoleted 'Private Network Access' standard. 2. It was not actually required in the first place, it is only needed in situations where a HTTP resource is accessed from HTTPS using a domain that resolves to a local IP. In Odoo we only ever do this for HTTPS -> HTTPS requests, where it works automatically. task-5157145 Forward-Port-Of: odoo/enterprise#97500
The mail composer now handles failed file uploads without causing an error screen. This avoids disruption for users composing messages when an attachment cannot be uploaded.
Original PR description
Before this commit, when a file upload in the full composer would be fail, it would result in a traceback. This happens because we would try to access the attachment resulting from the upload, which is however undefined when the upload fails. This commit fixes the issue by guarding the access of said attachment. task-4778468
Improved the spacing of debug-mode menu option fields on event and event type forms, making it easier to match each label with its related setting. This helps administrators configure event website page menus with less confusion.
Original PR description
The PR fixes the display of the fields displayed when the debug mode is activated and used to show buttons in the menu of event website pages. Previously, it was difficult to determine what were the labels of the fields. To make it clearer, the spaces between the label-field couples have been increased. Task-4750239
This fix ensures United Kingdom supplier records are reported with the correct country code in Mexico's DIOT tax report. It prevents UK-related transactions from being grouped under “Other country,” improving reporting accuracy for compliance reviews.
Original PR description
The DIOT country adaptation map lacked the ISO 3-letter code for the UK, causing records with country 'GB' to be reported as 'ZZZ' ("Other country").
Added mapping 'GB' → 'GBR' to ensure correct DIOT country code generation.

Forward-Port-Of: odoo/enterprise#96771Calendar activity feedback is no longer added to the meeting description when an activity is marked done. This prevents internal notes from being synced to external calendars or triggering unnecessary meeting updates, while keeping the feedback available in the chatter.
Original PR description
When marking a calendar.event activity as done, one can submit a feedback. Currently, that feedback is logged in the chatter, and is also appended at the end of the meeting's description. As this field is synchronized with external calendars, this may lead to notification / meeting updates. However, this should serve an internal purpose instead, and should not be shared to attendees in that way. Therefore, simply remove this behavior. The feedback will still be found in the note in the chatter. Task-5143141
The Documents app now correctly applies debug mode changes made through the command palette. This fixes a navigation issue so users can switch debug mode without manually editing the URL.
Original PR description
Issue: In the documents app toggling debug mode through the command palette (ctrl-k) does not work. Manually editing the URL works as expected. Cause: A patch on `router.stateToUrl` for the documents app rebuilds the URL to create clean, shareable links. When doing so, it attempted to preserve the debug status by referencing the global `odoo.debug`. This global object did not reflect client-side state changes. The command palette correctly provides the intended future state to the router. The patch was ignoring this incoming state and using the outdated global value, causing the generated URL to be incorrect. Solution: Modify the patch to use the `state` argument provided to `stateToUrl`, which contains the correct, up-to-date information for the navigation. Task-5095056
Invoice terms and conditions now update automatically when a customer's language is changed during invoice creation. This helps ensure customers receive invoice text in the correct language without needing to recreate or manually adjust the invoice.
Original PR description
Issue: When changing the customer’s language during invoice creation, the terms & services were not retranslated, unlike when creating a new partner in a different language. Repro Steps: 1. Create an invoice with terms link or plain enabled. 2. Change the partner's language from the invoice creation view. 3. Terms is not translated. Cause: The translation compute was only triggered on partner change, not language change. Fix: Added dependency for partner_id.lang to the narration compute to ensure it updates when the language changes. opw-5031933
Customers receiving Gelato shipping notifications now get a working tracking link for single-parcel shipments. This prevents broken links in delivery emails and helps customers follow their orders more reliably.
Original PR description
After receiving the shipping webhook from Gelato, we send a shipping notification with the tracking information to the customer. This commit fix the tracking url for single parcel, which was pointing to an inexistant url. opw-4637331 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The main menu search field now tells browsers and password managers not to offer autocomplete suggestions. This prevents unwanted Bitwarden popups from covering the menu while keeping Odoo's own search suggestions unchanged.
Original PR description
Bitwarden pops up small form on top of the main menu for no reason. It is because of the hidden input created to trigger search when you type. Put `autocomplete="off"` to avoid these popups, as the search feature handle its own autocompletion. Note: this commit is a backport of odoo/odoo@403d7b70ab16b8b70ea46aa692883c7b4a6e83b7 Forward-Port-Of: odoo/enterprise#97506
This update records that contributor arch-fan has signed the required Contributor License Agreement. It supports legal compliance for accepting their contributions and has no direct impact on product features or users.
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 Forward-Port-Of: odoo/odoo#232057
The contributor list has been updated to include Acsone/Tobias Zehntner as having signed the required contributor agreement. This helps keep Odoo's contribution records complete and supports clear legal governance for future contributions.
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr