Friday, January 23, 2026
3 changes · 19.0
Enhancements to existing features
This change updates the source of lead mining data within Odoo from Clearbit to Dun & Bradstreet. This aligns with existing data usage for partner autocomplete and ensures we're leveraging a reliable provider for improved lead insights. This update is part of a larger IAP migration.
Original PR description
Before this commit: - Lead mining data was fetched from `clearbit` provider on IAP which is now going to be removed for discovery service After this Commit: - Data will now be fetched from `dun_and_bradstreet` provider on IAP which we are already using for the `partner_autocomplete` IAP PR: https://github.com/odoo/iap-apps/pull/1274 task-4873238 Forward-Port-Of: odoo/odoo#235521
This update enhances the tracking of EDI and e-Way Bill requests by storing the original request data as JSON attachments. This improves debugging, auditing, and compliance efforts, providing a clearer record of these transactions.
Original PR description
Before this PR: - Request payloads sent for EDI and e-Way Bill generation were not persisted. making debugging and audits difficult. After this PR: - all EDI and e-Way Bill request payloads are stored as JSON attachments, ensuring better traceability, troubleshooting, and compliance support. Task: 4896516
This update optimizes how Odoo reports process data, specifically when filtering by related account fields. By grouping similar domain conditions, the system now runs fewer database queries, leading to faster report generation. This change significantly reduces the time it takes to open reports like the Generic Balance Sheet.
Original PR description
Before this commit, the 'domain' engine was never batched: one expression to evaluate caused one SQL query to be run just for it. With this commit, we group domains that could be evaluated together. Essentially, when we have domains targetting the same many2one field of account.move.line (typically account_id, with conditions like 'account_id.code' or 'account_id.account_type'), we run only one SQL query for all of them, targetting all the move lines according to the report filters. Then, we iterate on its result for each domain to evaluate. When iterating over the results, we filter the ones we keep by searching separately on each traversing model (in our example, account.account), to isolate the ones that are actually targetted by each expression. Tested on our prod. With this, opening the Generic Balance Sheet goes from 1min 35s to 36s. opw-5130725 Forward-Port-Of: odoo/enterprise#101725