Friday, July 31, 2026
3 changes · 18.0
Enhancements to existing features
Payment XML files now include building number details in ISO20022 addresses. This prepares SEPA and ISO20022 payment exports for upcoming November 2026 requirements, reducing future compliance risk for companies using these payment formats.
Original PR description
This commit adds the <BldgNb> node in the iso20022 XML files, as it will be mandatory starting November 2026. Linked: https://github.com/odoo/odoo/pull/271855 task-6317758
SEPA direct debit batch validation has been optimized to handle large payment batches more efficiently. This reduces processing time for thousands of payments and helps avoid timeouts during validation and customer pre-notification.
Original PR description
- Replace the `id:recordset` aggregation in `_get_expiry_date_per_mandate()` with `date:max` to compute the latest payment date directly in SQL. - Render `email_from` for all payments in batch and cache the computed authors by sender email to avoid repeated partner lookups during SDD pre-notification. This reduces ORM/cache overhead when validating large SEPA batches containing thousands of payments. Measured on a production-sized database: | metric | before | after | factor | |--------|-------:|------:|-------:| | `_get_expiry_date_per_mandate` (500 payments) | 564 ms | 111 ms | ~5x | | `_send_after_validation` notification (500 payments) | 92.9 s | 55.7 s | ~1.7x | | `_get_expiry_date_per_mandate` (1000 payments) | 890 ms | 178 ms | ~5x | | `_send_after_validation` notification (1000 payments) | timed out (>159 s) | 108.9 s | completed | OPW-6377340
Resolved issues and error corrections
Quality team email aliases now keep the correct company information, including in single-company setups. This ensures incoming emails can consistently create quality tickets instead of being blocked by missing company details.
Original PR description
Issue Before This Commit: ---------------------------------- In a single-company environment, the quality team email alias was created without a company ID. As a result, incoming emails could not…
Issue Before This Commit: ---------------------------------- In a single-company environment, the quality team email alias was created without a company ID. As a result, incoming emails could not generate quality tickets, making the email alias ineffective. Steps to produce: ---------------------------------- - Install `quality_control` in a single-company environment. - Create a quality team with a name and an email alias. - Navigate to Settings → Technical → Aliases and check the newly created alias. - The Company ID is False, preventing the creation of new tickets via email. Cause ---------------------------------- In a single-company environment, the company_id field is not visible, is not required, and has no default value, so it is never set. The same issue can also occur in a multi-company environment when the user explicitly creates a team without selecting a company. After this Commit: ---------------------------------- The company_id is now set in the alias default values based on the quality team’s company. It is also updated whenever the team’s company changes, ensuring consistency and allowing incoming emails to reliably create quality tickets in all environments. Task ID: 4595798 Forward-Port-Of: odoo/enterprise#82808