Daily updates from Odoo
Thursday, June 4, 2026
15 changes
3 changes
Enhancements to existing features
This update streamlines the invoicing process by automatically reconciling invoices created from sale orders. Previously, this required manual steps; now, the system directly links invoices to the corresponding sale order, improving efficiency and accuracy. This change simplifies the accounting workflow and reduces the risk of errors.
Original PR description
This commit will allow to automatically reconcile the invoice create from the sale order by passing a context key that will be used in the create_invoices function. task-5502964 Forward-Port-Of: odoo/enterprise#108546
This update enhances how we track usage of our AI models by adding detailed labels to each request. This allows us to better understand which sources – like agents or web searches – are driving token consumption, leading to more accurate cost analysis and optimization of our AI investments. The changes improve our ability to monitor and manage AI resource utilization.
Original PR description
Tag each completion request with a human-readable label identifying what issued it (the agent, web search, AI field, AI server action, ...) so token usage can be attributed to a given source-model combination. Agent-driven requests are prefixed with "Agent:" to set them apart from feature calls. Example: ``` AI: [Agent: Ask AI] gemini-2.5-flash-lite request [0.68s] - Tokens: 115 in (0 cached)|5 out|0 reasoning AI: [Agent: Ask AI] gemini-3-flash-preview request [2.64s] - Tokens: 5295 in (4050 cached)|79 out|186 reasoning AI: [web search] gemini-3-flash-preview request [21.24s] - Tokens: 562 in (226 cached)|708 out|1343 reasoning AI: [Agent: Odoo Image Generation Agent] gemini-2.5-flash-image request [8.25s] - Tokens: 423 in (0 cached)|1324 out|0 reasoning ```
This update adjusts how global discounts are handled in invoices to meet the requirements of UBL (Universal Business Language) standards. Previously, discounts were represented as negative invoice lines, which is now changed to 'Allowances'. This ensures our invoices are correctly formatted for international trade and compliance.
Original PR description
Export global discounts as Allowances instead of negative invoice lines to comply with UBL specifications. task-5900496 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#268177 Forward-Port-Of: odoo/odoo#261029
1 change
Enhancements to existing features
This update allows users to seamlessly continue their actions after they've been temporarily blocked due to security checks (like fingerprint authentication). It eliminates friction by automatically replaying the action once identity is verified, ensuring a smoother user experience. This change improves usability and reduces disruption for users.
Original PR description
The introduction of the mechanism for blocking untrusted devices allows the user to be re-authenticated automatically (via fingerprint)[^1]. If automatic re-authentication is successful, from a UX perspective, the user does not see their action being performed. This commit introduces the ability to replay the action that was blocked with an identity check if the identity is verified. This way, the user does not experience any friction. Note: Correct linter alerts. Task-5941988 [^1]: Commit: 61f22175ef3df37087887e7419dac54a620bbd55
3 changes
Enhancements to existing features
This update adjusts the order of the Obox app within the Odoo homepage. By increasing its sequence number, Obox is now displayed at the end of the app list, improving organization. This change ensures a cleaner and more intuitive user experience.
Original PR description
We set the sequence of the app to 250 so that it moves to the end of the apps in the homepage. task-6275407
This update adjusts how global discounts are handled in Odoo to meet the requirements of UBL (Universal Business Language) standards. Previously, discounts were represented as negative invoice lines, which is now changed to 'allowances'. This ensures Odoo-generated invoices are correctly formatted for international trade and compliance.
Original PR description
Export global discounts as Allowances instead of negative invoice lines to comply with UBL specifications. task-5900496 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#267435 Forward-Port-Of: odoo/odoo#261029
This update adjusts the Obox application's placement within the main menu. The app is now positioned at the end of the list, just before 'Apps' and 'Settings'. This change improves user discoverability and simplifies navigation for Obox users.
Original PR description
This commit changes the Obox menu sequence so that the app appears at the end of the apps list by default (just before Apps and Settings). task-6275407
7 changes
Enhancements to existing features
This update introduces a new feature that allows users to easily compare all report lines to a single, chosen line, displaying percentage differences. This enhances reporting accuracy and provides a clearer understanding of variances. The feature is designed to work optimally within a single column view, ensuring a reliable user experience.
Original PR description
This feature allows users to compare all report lines against a specific, user-selected line. An additional column is then displayed with a percentage. Note that this only works when in a single column group. When using more than one, the feature is disabled (and the filter is hidden, so that we don't promise a feature that's not working). task-5144252
This update resolves an issue preventing Odoo invoices from being accepted by the Colombian Tax Authority (DIAN). Previously, global discounts were handled incorrectly, requiring manual adjustments. Now, discounts are automatically applied to individual lines during XML generation, ensuring compliance and streamlining the invoicing process.
Original PR description
Current Behavior: The Colombian Tax Authority (DIAN) does not accept negative lines in the electronic invoice XML, but promotions, coupons, and global discounts are added as separate negative order lines. As a workaround, users have to manually apply discounts to each line which is inefficient. Change: To allow users to use "Coupons and Loyalty" features to apply global discounts, the negative lines will be redistributed into line-level discounts during the XML generation. Expected Behavior: Users will continue to see negative lines in Odoo, but the negative lines will be redistributed to the invoice lines as discounts, so the DIAN will accept the XML. task-5412446
This update ensures the knowledge tour continues to function correctly following recent changes to the media dialog system. It’s a necessary adjustment to maintain a smooth user experience for accessing and understanding knowledge articles. This change improves the overall usability of the knowledge base.
Original PR description
Modify knowledge tour to stay compatible with the media dialog refactoring task-5318096
This update enhances Odoo's performance by ensuring proper indexing on related data fields. Specifically, it optimizes how Odoo recalculates information based on dependencies, leading to faster updates and a smoother user experience. This change addresses a potential performance bottleneck within several key modules.
Original PR description
See https://github.com/odoo/odoo/pull/258675 task-6095328
This update improves the demo experience by allowing the 'Create Vendor Bill' action to function without requiring OCR processing. It replaces PDFs with Peppol XML equivalents, streamlining the demo setup and making it easier to showcase the feature. This change primarily impacts the documents account module.
Original PR description
Purpose ======= For demo purpose, it would be nice to be able to trigger the "Create Vendor Bill" action without needing OCR. So we replace some PDFs by their peppol XML equivalent in documents account, and we include the XML in the embedding of the PDFs defined in the documents module for some others. Simplify the demo prompt by removing the text in bold. Task-6236411
This update optimizes the generation of payroll reports in the Odoo Enterprise system. The previous process was slow, taking around 7 seconds. This change significantly reduces processing time, improving efficiency and user experience.
Original PR description
Investigation in process. task-6259077
This update enhances the employee avatar card by displaying key payroll information – wage, pay frequency, and employment category – directly within the popup. This provides users with a quick overview of an employee's payroll details. The changes are restricted to users with specific payroll access permissions.
Original PR description
Show wage (with currency and pay frequency), employment category, and seniority in the footer of the employee avatar card popup. The section is only sent to and rendered for users with `hr_payroll.group_hr_payroll_user` access. task-6117982
1 change
Enhancements to existing features
This update enhances how Odoo finds partners during UBL (UBL) imports, primarily for Peppol transactions. It now uses exact name matches and incorporates bank account details for more accurate identification, reducing errors. A key fix ensures correct partner creation when VAT information is present in the UBL file.
Original PR description
Before this commit: Partner was searched using contains on the name, which could match unrelated partners with similar names (e.g. `Global Tech` matching `Global Technologies Ltd`). With this update: - Partner retrieval now uses an exact name match to avoid incorrect matches caused by partial name search. - For UBL imports for Peppol, bank details are also used to help identify the partner by matching the bank account number. The retrieval logic has also been improved: 1. If VAT exists in the XML: - If a partner found with no VAT then enrich that partner by filing VAT from xml - If a partner found with a different VAT than the one in the XML, then a new partner will be created Also fix the test case where it finds `partner_1` through the `bank account number` and creates a new partner instead of returning the correct `partner_2`. task-5485563 Forward-Port-Of: odoo/odoo#250309