Wednesday, October 29, 2025
4 changes · saas-18.4
Enhancements to existing features
VoIP searches now find phone numbers even when they include spaces, hyphens, parentheses, or other formatting characters. This makes it easier for users to locate contacts and call history entries using only the digits they remember, while also improving safe handling of search terms on the server side.
Original PR description
Introduces the `matchPhoneNumber` function, a new utility designed to match search terms against fully formatted phone numbers. The function converts a digit string like "123" into a flexible regex (e.g., /1\D*2\D*3/i) that matches digits regardless of any non-digit characters (spaces, hyphens, parentheses) between them. **Example:** * **SearchTerms**: "123" * **Target**: "+1 (2)-345" * **Match**: "1 (2)-3" Task-5160296 Forward-Port-Of: odoo/enterprise#97711
The Italian localization now removes obsolete tax exemption reason codes that are no longer accepted by the Italian Tax Agency. This helps businesses avoid invalid electronic invoices by relying on the newer, more detailed Natura codes already available in Odoo.
Original PR description
There are old Natura (l10n_it_tax_exemption_reason) that are deprecated in favour of more detailed ones. We already have the detailed ones, but we allow the old values, but the Tax Agency considers them invalid already. ref: https://fex-app.com/FatturaElettronica/FatturaElettronicaBody/DatiBeniServizi/DatiRiepilogo/Natura Forward-Port-Of: odoo/odoo#233440 Forward-Port-Of: odoo/odoo#226939
The accounting accrual orders wizard is being adjusted so future customizations can split reversal entries across multiple periods instead of relying on one reversal in the next period. This helps businesses that need accruals to better match invoices over time, improving period-by-period financial accuracy.
Original PR description
Add a dedicated hook method to facilitate customization of reversal entry generation in the accrued orders wizard. Reason: The current implementation creates a single reversal entry that is applied in the next period. For scenarios requiring accrual allocation across multiple periods, modules need the ability to generate multiple reversal entries (one per period) to properly net-off against actual invoices --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#233295 Forward-Port-Of: odoo/odoo#233142
The GSTR2B late bill matching process now uses invoice reference and IRN details more accurately when available. This helps reduce duplicate or incorrect matches during bill reconciliation, improving confidence in GST reporting.
Original PR description
- Adjusted domain construction in GSTR2B late bill matching logic. - Split condition to handle the presence or absence of IRN separately: - If IRN exists, match on both `ref` and `l10n_in_irn_number`. - If IRN is missing, match only on `ref`. - Improves the accuracy of bill reconciliation and avoids redundant matches. Forward-Port-Of: odoo/enterprise#97469