Daily updates from Odoo
Thursday, September 18, 2025
5 changes · 18.0
Enhancements to existing features
Accounting KPI summaries now include posted bank journal entries linked to unreconciled bank statements. This gives businesses a more accurate view of pending bank activity and improves confidence in financial reporting metrics.
Original PR description
### [REF] account: reorganize kpi.provider tests The account test_kpi_provider was already getting complicated, and this commit aims to simplify it by breaking it into smaller tests that show more clearly what is expected. Task-id: 5062431 ### [IMP] account: make kpi.provider report unreconciled bank statements The `kpi.provider:get_account_kpi_summary` method should include posted moves of a bank journal that are related to an unreconciled bank statement. Task-id: 5062431 Forward-Port-Of: odoo/odoo#227661 Forward-Port-Of: odoo/odoo#227605
Resolved issues and error corrections
Payroll users with Administrator access can now cancel completed payslips as intended. This removes an incorrect permission check that blocked authorized payroll staff and interrupted normal payroll corrections.
Original PR description
steps to reproduce: ------------------- 1. Install payroll 2. Create a user and grant "Administrator" access to Payroll. 3. Log in as the new user and try to cancel a 'Done' payslip. issue: ------ A UserError is raised: "Cannot cancel a payslip that is done." observation: ------------ A user with Payroll "Administrator" access is unable to cancel a payroll payslip cause of the issue: ------------------- During cancellation, the system checks whether the user is "Admin" instead of verifying if the user has Payroll "Administrator" access. https://github.com/odoo/enterprise/blob/13832d80570956e504e1c09f41acbeb0bc4baedc/hr_payroll/models/hr_payslip.py#L509-L513 solution: ---------- Check that the user has Payroll "Administrator" access. opw-5040029 Forward-Port-Of: odoo/enterprise#93831
This update prevents an error that could occur when a customer has open carts on multiple eCommerce sites and changes their address. Loyalty rewards and cart pricing are now recalculated safely across multiple carts, helping customers continue checkout without interruption.
Original PR description
Versions -------- - 16.0+ Steps ----- 1. Have 2 eCommerce sites; 2. have a user with an open cart in both sites; 3. have a reward applied in one or both of carts; 4. have a fiscal position applicable…
Versions -------- - 16.0+ Steps ----- 1. Have 2 eCommerce sites; 2. have a user with an open cart in both sites; 3. have a reward applied in one or both of carts; 4. have a fiscal position applicable to the user's address; 5. change the user's country to one with a different fiscal position. Issue ----- > ValueError: Expected singleton: sale.order(1, 2) Cause ----- As of commit ede8846987a98, fiscal positions get recomputed on address changes. When a fiscal position changes, the `_recompute_prices` method gets called on all open carts. This method does not include an `ensure_one` check, so it should be able to handle multiple sales orders. However, the `sale_loyalty` override will call `_update_programs_and_rewards` on `self` if any reward line is encountered. This method does have an `ensure_one` check, leading to the error. Solution -------- Rewrite the override as a loop, so it can handle multiple records in `self`. opw-5017669 Forward-Port-Of: odoo/odoo#224225
Purchase entries in India's GSTR-3B report now include credit notes, receipts, and other relevant purchase records so totals are accurate. Purchase-related lines were also removed from the POS-specific report area because point-of-sale activity is not related to purchase records, reducing incorrect reporting.
Original PR description
Currently, purchase entries are not displaying the correct data because the credit notes and receipts were not included. This PR removes purchase-related data from `l10n_in_reports_gstr_pos` (as POS has no relation to purchase records) and ensures that credit note data and other purchase records are properly displayed in the GSTR-3B report. **opw**-5079401 Forward-Port-Of: odoo/enterprise#95027 Forward-Port-Of: odoo/enterprise#94582
This fix ensures Odoo VoIP sends the correct connection information when using secure web calling. As a result, users can reliably receive incoming calls in setups that use secure WSS connections.
Original PR description
### Before this PR Using voip with WSS, it can't receive calls because the current transport is not sent to the PBX. ### After this PR: The right transport is sent