Friday, March 6, 2026
3 changes · 17.0
Resolved issues and error corrections
This update ensures the delivery button remains accessible on sales quotes, even after products are removed from the associated delivery. Previously, the button disappeared, creating a usability issue. This change prevents confusion and maintains a consistent workflow for users managing sales orders and deliveries.
Original PR description
Steps to reproduce: - Create a new sales quote with >=1 products and confirm it - Click on the delivery smart button - Remove all products from the delivery and save - Navigate back to the sales quote Current behavior: - The smart button for the delivery is gone in the sales quote form Expected behavior: - The smart button for the delivery should always remain Note: There is no way for the user to relink the sales order to the delivery or make a new one, hence the necessity of this opw-5941496
This update fixes a bug causing excessive and unwanted warning messages in Odoo. The issue stemmed from how Odoo uses a specific library (werkzeug.urls) and a previous version of that library didn't include necessary fixes. This change ensures warnings are handled correctly, preventing a cascade of notifications.
Original PR description
Every manipulation of the warnings list flushes the warnings registry, which prevents `warnings.warn` from deduplicating `default`, `module`, and `once` actions, instead they all behave as if `always`. Because werkzeug.urls is used *a lot* in odoo, this causes warnings to be emitted continuously even if that's not intentional, something which is already an issue due to workers (every new worker has an empty warnings registry triggering duplicate warnings). Upstream fixed this issue in pallets/werkzeug#2692 which was merged in 2.3.4, but apparently we vendored 2.3.0 which didn't have these fixes.
This update corrects a bug that prevented valid Non-Resident Indian (NRI) GSTINs from being accepted. The system's validation process was too restrictive, rejecting numbers that followed a different format. Now, valid NRI GSTINs can be correctly entered and saved.
Original PR description
Currently, valid GSTINs for certain Non-Resident taxpayers are rejected. **Steps to reproduce:** - Install the `l10n_in` module. - Navigate to Settings > Users & Companies > Companies. - Open `IN…
Currently, valid GSTINs for certain Non-Resident taxpayers are rejected. **Steps to reproduce:** - Install the `l10n_in` module. - Navigate to Settings > Users & Companies > Companies. - Open `IN Company` and set `Tax ID` to `9922JPN29001OSU` and try to `save`. **Error:** `The VAT number [9922JPN29001OSU] for partner [IN Company] does not seem to be valid.` `Note: the expected format is 12AAAAA1234AAZA` The system rejects the GSTIN, although it is valid and verifiable on the official GST portal: https://services.gst.gov.in/services/searchtp **Root cause:** At [2], the GSTIN validation regex for NRI taxpayers only supports formats ending with `NRX` (X = any alphanumeric character). However, certain valid GSTINs follow a different structure and are not matched by the existing regex. **Fix:** This commit ensures that valid NRI GSTIN formats are accepted during validation. Confirm with IN PO. [1]: https://services.gst.gov.in/services/searchtp [2]: https://github.com/odoo/odoo/blob/5e59f4b3def44aa84c06ba4c2ed34bf2e8da928f/addons/base_vat/models/res_partner.py#L712-L723 opw-5956299