Friday, June 20, 2025
6 changes · 17.0
Resolved issues and error corrections
This fix keeps the previous Swiss payroll behavior to avoid disrupting existing payroll processes. It helps businesses using Swiss payroll transmissions continue operating consistently after updates.
This fixes an import error that occurred when contacts were imported with an empty tag field while Belgian reports were installed. Users can now clear contact tags during import without the process crashing.
Original PR description
**Steps to reproduce:**
1. Install contact and l10n_be_reports
2. Export any contact with external_id and tag (category_id) columns.
3. Edit the exported file and set category_id to blank.
4. Attempt to import the modified file.
**Issue:**
- Import fails with the error:
TypeError: 'bool' object is not iterable
**Cause:**
- The write method is overrided in l10n_be_reports for checking removal of the protected tag '281.50' using:
https://github.com/odoo/enterprise/blob/e1578908a53652603a58f8b7a594c198deb47e7a/l10n_be_reports/models/res_partner.py#L29
However, when category_id is False (as in the import case),
vals.get('category_id', []) returns False, causing the iteration to fail with a TypeError.
**Solution:**
- https://github.com/odoo/enterprise/blob/944d4efb25b522c3e726221993f4be1e0fb2c133/l10n_be_reports/models/res_partner.py#L29 This ensures a safe fallback to an empty list in case the value is False.
opw-4717387This change removes a previous workaround that is no longer needed in this version. It prevents extra invoice-related documents from being created, reducing duplicate records and keeping document lists cleaner for users.
Original PR description
This reverts commit b9745a5 - The fix is no longer needed, as the original validation error is no longer reproducible in 17.0. - This change resulted in extra document creation and is reverted to avoid duplicates. opw-4681311
Miscellaneous changes
When fuzzy matching the partner name, we were checking that `supplier_rank > 0`, but this should apply for vendor bills, not for customer invoices. For those, we need to check `customer_rank > 0`. [opw-4824010](https://www.odoo.com/odoo/project.task/4824010) Forward-Port-Of: odoo/enterprise#87869
Original PR description
When fuzzy matching the partner name, we were checking that `supplier_rank > 0`, but this should apply for vendor bills, not for customer invoices. For those, we need to check `customer_rank > 0`. [opw-4824010](https://www.odoo.com/odoo/project.task/4824010) Forward-Port-Of: odoo/enterprise#87869
This has to be done right after l10n setup, it has no to negative effect if done above the COA loop or before setting up localisation. This seems to most affect the domain engine as it can do a lot of relatively well filtered queries, but those need to be properly planned. The repeated `ANALYZE` are not free, but trade favorably (test runs about 4mn faster locally). Forward-Port-Of: odoo/enterprise#88116
Original PR description
This has to be done right after l10n setup, it has no to negative effect if done above the COA loop or before setting up localisation. This seems to most affect the domain engine as it can do a lot of relatively well filtered queries, but those need to be properly planned. The repeated `ANALYZE` are not free, but trade favorably (test runs about 4mn faster locally). Forward-Port-Of: odoo/enterprise#88116
Before, The closing balance of saft export for the unaffected earnings account was always at zero which makes no sense. Now this is fixed as the closing balance should always be equal to the initial balance. Forward-Port-Of: odoo/enterprise#87419
Original PR description
Before, The closing balance of saft export for the unaffected earnings account was always at zero which makes no sense. Now this is fixed as the closing balance should always be equal to the initial balance. Forward-Port-Of: odoo/enterprise#87419