Friday, August 8, 2025
2 changes · 18.0
Enhancements to existing features
Invoice document layout settings now show the same options whether users send, print, or configure layouts from settings. Tax ID, bank account number, and QR code previews are kept consistent, helping businesses avoid surprises in customer-facing invoice documents.
Original PR description
Previously, the document layout wizard used when sending invoices included fields for Tax ID, Bank Account Number, and QR Code. However, these fields were missing from the wizard accessed via the…
Previously, the document layout wizard used when sending invoices included fields for Tax ID, Bank Account Number, and QR Code. However, these fields were missing from the wizard accessed via the `Print` button and from the layout configurator under `General Settings > Configure Document Layout`. This was because only the send flow was using the inherited report layout from the `account` module, while the print and settings flows were using the base layout from `web` directly. Additionally, the preview template in web did not include the bank account number or QR code With this **PR**: 1. The `Print` button now uses the inherited layout from `account`. 2. The settings configurator button also uses the correct layout from `account`. 3. The bank account number and QR code fields are now dependencies of the _compute_preview method, making the preview responsive to their changes. 4. Both fields are now shown in the preview when configuring the layout in settings. This ensures the document layout behaves consistently across send, print, and settings configurator flows. **task**-4954030
The online shop now retrieves product attribute filters more efficiently during searches. This can dramatically reduce loading times on large product catalogs, improving the shopping experience and reducing server strain.
Original PR description
### Description: The default query to fetch attributes for searched products needs to join on the `product_tmpl_ids` Many2Many field. This can be slow, as it requires a join on an intermediate table. This change avoids that by directly querying the attribute lines and grouping by `attribute_id` to remove duplicates. ### Benchmark (in 18.0): | N° of products | Before | After | |----------------|--------|-------| | 3708 | 400ms | 200ms | | 128539 | 4 min | 800ms | | 484798 | 6 min | 3s | ### Reference: opw-4937361 Forward-Port-Of: odoo/odoo#222064