Daily updates from Odoo
Friday, June 13, 2025
5 changes · saas-18.3
Enhancements to existing features
Bank reconciliation rules are now created and matched more flexibly, reducing missed matches caused by reference length, letter casing, or overly specific amounts. Users should see newly applicable rules reflected immediately in the reconciliation interface, with clearer amount matching behavior for payables and receivables.
Original PR description
Contains Four improvements: - If the payment references are all identical, we allow the LCS to be less than 10 letters. - The regex matching is now case-insensitive. - The amounts are not taken into…
Contains Four improvements: - If the payment references are all identical, we allow the LCS to be less than 10 letters. - The regex matching is now case-insensitive. - The amounts are not taken into consideration anymore when auto-creating reconciliation rules. This is done as it can be very restrictive. I.e. for parking fees. - We had an issue where on choosing an account that leads to the creation of a new reconciliation model, the existing lines that should now use the new rule won't show it in the UI. This was partially fixed in https://github.com/odoo/enterprise/commit/6a6f4231b60d4c46267b1422bbe3308d1183fcff as it runs the matching algorithm on creation, but on the JS side, we should also reload those lines. This is taken care of here. Also, for general reconciliation rules: - Matching amounts for reco rules now have `or equal to` for the `greater than` and `lower than` selections. - The query that matched the amounts for the reconciliation used the absolute value of the line amount. This was done before as it was thought the users wouldn't care about the sign, but now we think it makes more sense to remove the absolute for some cases. For example, a rule with (Is lower than 0) should match the payable lines only. task-4863744
Bank reconciliation can now more reliably identify and match multiple invoices from a single bank statement line. This reduces manual reconciliation work by using invoice references, customer, amount, and payment memo details more flexibly.
Original PR description
In this commit: Improved recognition of multiple invoices in bank statement line when: - Bank statement line and invoices have the same `partner_id`, the amount matches their combined total, and `payment_ref` contains all invoice references - When any 2 of the 3 criteria are satisfied Also, we enhance the reconciliation logic by adding a check to match the payment memo against the bank statement line label. If a part of the memo is found exactly in the label and only one such match exists, the system proceeds to reconcile it based on a second matching criterion such as amount and/or partner. Also enable full-text search for invoice references within `payment_ref` (e.g., "INV/2025/00027" found in "Payment for INV/2025/00027"). Task: 4797388, 4791517, 4852948 Co-authored-by: hatr-odoo <hatr@odoo.com> Co-authored-by: igbe-odoo <igbe@odoo.com>
The VoIP softphone once again supports transferring an active call to another contact or number. This helps teams route customer conversations to the right colleague without asking callers to hang up and call again.
Bank reconciliation can now recognize payments covering multiple invoices more reliably by comparing customer, amount, and invoice references in the payment details. This reduces manual matching work and helps accounting teams reconcile bank statement lines faster and with fewer errors.
Original PR description
This PR is based on https://github.com/odoo/enterprise/pull/86496, only to cherry pick the last commit
New reconciliation models are now immediately checked against unreconciled bank statement lines, matching the behavior already used when existing models are updated. This helps businesses apply automation rules consistently and reduces missed reconciliation opportunities.
Original PR description
Before this commit when doing a write on a reco model, we checked that the modified reco model could be applied on the unreconciled statement lines. We didn't do the same for the create, this pr will do that no task id