Monday, April 20, 2026
4 changes · 17.0
Enhancements to existing features
This update removes Odoo’s hard dependency on an outdated Python packaging helper that is being phased out. It helps the system stay compatible with newer Python setups and reduces the risk of installation or startup issues as those tools evolve.
Original PR description
pkg_resources is deprecated as a library. It's use becomes problematic as, for instance, since setuptools 71, importing pkg_resources makes all vendored dependencies of setuptools visible on sys.path. pkg_resources is even entirely removed since setuptools 81. This commit keeps pkg_resources as a primary approach for compatibility reason but provides a fallback when not present (like with an up-to-date setuptools) without changing the current requirements (i.e. no additional dependency on `packaging`). Note: while not a backport, this is inspired by odoo/odoo#181768
Resolved issues and error corrections
This change rolls back a previous update that altered how child contact names were shown in invoices and partner records. It helps restore the prior display behavior for customers and prevents unexpected name formatting changes in business documents.
Original PR description
This reverts commit 0ef4c1d06fdf999ad5cdad696069aec8f2f943c5. opw-5900567
The system now decides whether to add the co-contractant tax exemption note based on the invoice’s fiscal position instead of the customer’s. This avoids inconsistencies in exported invoice data and helps ensure the legal note matches the actual invoice setup.
Original PR description
The decision to add a tax exemption reason for co-contractant fiscal position was being decided by the FP of the customer which could cause inconsistencies, instead, it is now tied to the FP of the invoice related-task-id-5905176
This fix prevents the Delivery Date on an invoice from being overwritten when the invoice is reset to draft. It helps users keep manually entered delivery dates intact, avoiding incorrect invoice information and extra corrections.
Original PR description
Version: --------- - 17.0 Steps to reproduce: -------------------- 1. Install `sale_management`,`stock` and `account_accountant`modules. 2. Enable `Automatic Accounting` from Settings. 3. Create a…
Version:
---------
- 17.0
Steps to reproduce:
--------------------
1. Install `sale_management`,`stock` and `account_accountant`modules.
2. Enable `Automatic Accounting` from Settings.
3. Create a storable product with:
i. Invoicing Policy set to Delivered Quantity.
ii. A non-zero Cost.
iii. A category configured with FIFO/AVCO and Automated Valuation.
4. Create and confirm a sales order for this product.
5. Validate the related delivery order.
6. Create an invoice from the sales order.
7. Manually set the Delivery Date on the invoice.
8. Validate the invoice.
9. Reset the invoice to draft.
Issue:
------
Resetting the invoice to draft recomputes the Delivery Date,
overwriting the manually set value with the current date.
Cause:
-----
https://github.com/odoo/odoo/blob/05d0944a7640e196db989039140ae5ddb12152ac/addons/stock_account/models/account_move.py#L62
The `button_draft()` method unlinks some account.move.line
records, which triggers the recomputation of the
delivery_date field.
Backport this commit -https://github.com/odoo/odoo/pull/237612/changes/c1247a11ee380e6a3b5055d2f3accde1e892de8a
---
opw-5886341