Friday, July 11, 2025
3 changes · saas-18.3
Enhancements to existing features
India e-invoicing now performs stronger checks when the government reports a duplicate invoice reference. The system compares returned invoice details with Odoo’s invoice data when possible, giving clearer feedback when the duplicate appears to belong to different invoice data or when verification cannot be completed.
Original PR description
Before this commit: - Duplicate IRNs were not deeply verified if the response already contained a `SignedInvoice`. - Mismatches between government-returned IRNs and the system’s invoice data were not clearly logged or validated. After this commit: - If the `jwt` library is available and the response includes a `SignedInvoice`, the decoded content is compared against the invoice’s `Gstin` and `TotInvVal`. - A mismatch triggers a user-friendly error message about the duplicate IRN with non-matching data. - Decode errors are logged as warnings to aid in debugging. - A fallback message is shown when the `jwt` library is not installed, indicating that verification could not be performed. This ensures more robust validation of duplicate IRNs and improves user feedback in case of discrepancies or missing dependencies. Forward-Port-Of: odoo/odoo#213909
Odoo now supports the updated mobile-first finance connection flow where users can create a bank account directly from the embedded bank search screen. This helps customers continue setup when their financial institution is not available in Odoo Finance, reducing onboarding friction.
Original PR description
The aim of this commit is making sure that the odoo database code is handling properly the new feature introduced with the iframe revamp in mobile-first. This feature allows user to create a bank account from the iframe directly if Odoo Finance doesn't have the searched institution. task-4481880 Forward-Port-Of: odoo/enterprise#89932 Forward-Port-Of: odoo/enterprise#81894
Expense receipt scanning now identifies the actual merchant or place name, such as a restaurant or fuel station, instead of returning broad categories like food or gasoline. This makes automatically created expense records clearer and more useful for employees and approvers.
Original PR description
The detection of the description has been improved in the latest version of the expense OCR API. It now actually detects a description (restaurant name, fuel station name, etc) instead of predicting a category ('food', 'parking', 'gasoline', etc).
Task [link](https://www.odoo.com/odoo/project/2068/tasks/4623180)
task-4623180
Forward-Port-Of: odoo/enterprise#89898
Forward-Port-Of: odoo/enterprise#89448