Saturday, November 22, 2025
5 changes · saas-18.2
Enhancements to existing features
Japanese state and prefecture records now use native Japanese names instead of relying on translations. Their codes were also aligned with ISO standards, improving consistency in addresses and localized documents for Japan.
Original PR description
Since state names are not handled by translations, storing them directly in Japanese provides a better user experience. This **PR** updates the existing Japanese state records with their native Japanese names. Additionally, it aligns the state codes as per ISO standards. **task**-5345872 Forward-Port-Of: odoo/odoo#236649
Resolved issues and error corrections
Odoo now uses the current official code "OD" for the Indian state of Odisha instead of the outdated "OR" code. This helps keep contact and sales order address information aligned with current government standards.
Original PR description
**Steps to reproduce:** 1. Install the `Contacts` module. 2. Go to Contacts > Create a new contact. 3. Select country India, and state Odisha. 4. Create a sales order using the newly created contact. **Issue:** As per [Government of India](https://www.iso.org/obp/ui/#iso:code:3166:IN), the state code was officially changed from "OR" to "OD" in 2023. However, Odoo still uses the outdated code. <img width="407" height="163" alt="image" src="https://github.com/user-attachments/assets/1631a831-f455-4a51-886f-7e4ed691add0" /> **Solution:** Update the name of the state from "OR" to "OD" in state records. **opw-4935633** Forward-Port-Of: odoo/odoo#234697
Fixed an issue where refreshing OSS tax mappings could fail when several companies were selected at once. This helps businesses using EU OSS settings avoid an unexpected error and continue updating their tax setup normally.
Original PR description
To reproduce: - Activate multiple companies in the selector - Enable OSS on the active company - Click the refresh mapping button ===> Traceback, because a function expects to be called on a single company and is instead called on all the active companies. Forward-Port-Of: odoo/odoo#236103
CSV imports using UTF-16 encoding now show a clear warning instead of failing with a technical error. This helps users understand and resolve file encoding problems when importing bank transactions or other CSV data.
Original PR description
Currently, an error occurs when importing CSV files encoded in utf-16. **Steps to reproduce:** - Install the `account_bank_statement_import_csv` module. - Open invoicing and upload file [1] in Bank transactions. - Change the encoding to `utf-16` and click `test`. **Error:** `UnicodeDecodeError: 'utf-16-le' codec can't decode byte 0x0a in position 376: truncated data` **Root Cause:** At [2], the CSV data is decoded strictly with the specified encoding. When decoding detects incomplete or unexpected byte sequences, Python raises an `error`. **Fix:** This commit ensures raising a `warning`, improving the `error message clarity`. [1]: https://drive.google.com/file/d/14thHRN210aeY8fcUBAb01PniVrd7QHer/view?usp=sharing [2]: https://github.com/odoo/odoo/blob/67503c0ce7ede8373800caa0a12203d271b7f1ae/addons/base_import/models/base_import.py#L544 sentry-6864546266 Forward-Port-Of: odoo/odoo#226023
This fixes a display issue where hidden form sections could show the word “undefined” instead of staying blank. Users now see cleaner forms, especially around button and statistics areas that may be hidden by configuration or permissions.
Original PR description
Currently if the root node of a template is invisible at compile time the "new root" will contain the word "undefined" in plain text. Instead if we skip rendering the root for whatever reason, the new root should simply be an empty t node. This lead to issues in full-size forms specifically as the controller compiles the buttons separately. Meaning if the buttons div was evaluated to be invisible for whatever reason you would get "undefined" where stats buttons normally go. task-5322823 Forward-Port-Of: odoo/odoo#236724 Forward-Port-Of: odoo/odoo#236461