Tuesday, October 28, 2025
14 changes · 18.0
Enhancements to existing features
The accounting accrual orders wizard now has a cleaner structure that makes it easier to adapt how reversal entries are created. This supports businesses that need accruals spread across multiple periods, helping future customizations better match invoices over time.
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#233142
Resolved issues and error corrections
This fix improves the mobile website preview by keeping the temporary loading view visually consistent during page navigation. It prevents mismatched or overlapping scrollbars, making the preview experience cleaner for website editors.
Original PR description
### [FIX] website: copy the whole document to fallback iframe Since da85d7f8f39f43bd21603b40f357dfc572036d27, the style in head and the body of the website preview are copied to the fallback iframe's…
### [FIX] website: copy the whole document to fallback iframe Since da85d7f8f39f43bd21603b40f357dfc572036d27, the style in head and the body of the website preview are copied to the fallback iframe's document. This did not copied the attributes on the `html` node, which somtimes impacted the appearance. With this commit, the whole document is copied to the fallback iframe. Steps to reproduce: - Activate "Mobile preview" when viewing the website - Go to a page that is long enough for a scrollbar to appear - Navigate to another page - Bug: During the transition, the fallback is shown, and its scrollbar is wider than the one of the page that was shown just before task-5212287 ### [FIX] website: remove content of fallback iframe after load Since commit 7b19831e1c624b483008feb526ba773ec8b23009, an fallback iframe is shown behind the website preview to avoid flicker on navigation. Since commit 3036c7dc4720a88f2717b96a29d45d923eb6ec75, the preview for mobile has some transparency on its scrollbar. Thus the part of the fallback iframe behind the scrollbar when previewing mobile was slightly visible. This commit fixes it by removing the fallback iframe's content after the website has loaded (and the fallback is not needed anymore). Steps to reproduce: - On website, activate "Mobile preview" - Navigate to a page long enough to have a scrollbar - Navigate to another page long enough to have a scrollbar - Scroll a bit - Bug: The scrollbar of the fallback is slightly visible task-5212287
This fix restores the correct account used for rounding differences in the French accounting localization. It corrects accounts that had been changed by mistake and ensures rounding entries are classified consistently with the intended accounting setup.
Original PR description
These accounts were changed by mistake. Even more, they're of the wrong type. Re-add account to be consistent with 758 opw-5180702 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix updates how website appointment and rental snippets load their supporting assets, aligning them with the newer platform mechanism. It helps keep these website components compatible and reliable after platform changes, without changing their visible behavior for users.
Original PR description
See https://github.com/odoo/odoo/pull/104836 task-2963840 Forward-Port-Of: odoo/enterprise#35153
This change adjusts rental-related automated tests to investigate and address a failure seen in the shared runbot environment but not locally. It helps improve confidence that rental workflows can be validated consistently before releases.
This fixes an issue where the Point of Sale navigation bar no longer showed the connection status for hardware devices using a proxy. Store staff can again see whether connected devices such as printers or other PoS hardware are available, helping them spot setup or connectivity problems sooner.
Original PR description
Description of the issue/feature this PR addresses: The presence of proxy status of hardware devices depends conditionally on pos.config.use_proxy in template of NavBar. However, use_proxy was removed in [PR 51000](https://github.com/odoo/enterprise/pull/51000) and [PR 142566](https://github.com/odoo/odoo/pull/142566). As a consequence, the proxy status is never shown in the NavBar of odoo 18.0. It's already fixed in odoo 19.0 Current behavior before PR: ProxyStatus is not displayed in PoS NavBar even if proxy is used for hardware devices. Desired behavior after PR is merged: ProxyStatus is displayed in PoS NavBar depending on proxy configuration (useProxy() of pos_store.js). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes the website wishlist test start from an empty wishlist before continuing. It helps prevent random test failures, improving confidence in the stability of the online shop experience without changing customer-facing behavior.
Original PR description
Add a step to make sure the wishlist is empty before continuing the tour runbot-229616
This commit is a follow-up of this commit [[1]]. The aim of this commit is improving the Finnish translations for the localization. no task id Co-authored-by: [sahak-fin](https://github.com/sahak-fin) <sahak@odoo.com> [1]: https://github.com/odoo/odoo/commit/d0017410646500928bf8fe08077f21569c1fa47e --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
This commit is a follow-up of this commit [[1]]. The aim of this commit is improving the Finnish translations for the localization. no task id Co-authored-by: [sahak-fin](https://github.com/sahak-fin) <sahak@odoo.com> [1]: https://github.com/odoo/odoo/commit/d0017410646500928bf8fe08077f21569c1fa47e --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents SAF-T general ledger reporting from failing when an accounting entry has no partner assigned. It improves report reliability for businesses that need compliant accounting exports.
Original PR description
### Issue: After #95804 , some of the code was improved but the consideration for partner_id being None was not expected. To fix this issue, we add partner_id on the domain. OPW-5177365
This fixes how Swedish payment files distinguish local BBAN-style accounts from IBAN accounts. It prevents IBAN payment batches from being incorrectly treated as Swedish local account payments when account type details are not provided.
Original PR description
The method `_is_se_bban` is supposed to flag if payments are bban or iban. But since 8d77c0442d7912880c5da5976c92b24d3f9885ca,
the method returns True for batch of iban payments when you don't provide the `partner_acc_type` params, because
`len({'bban_se', 'plusgiro', 'bankgiro', *(partner_acc_type or {})}) == 3`
is always True if `partner_acc_type` is None.
This commit fix that behaviour, by replacing the empty set by `{'iban'}`, meaning the second condition will always be
False when `partner_acc_type` is None.
This bug has been found by failing runbot tests (error: 233465)
no-taskThe Tasks button on sales orders now preserves the user's language and other navigation settings when opening related tasks. This prevents menu labels from unexpectedly switching back to English for users working in another language.
Original PR description
Repro:
- Activate any language different than english
- Create a service product with create Project & Task
- Create a sales order with the product
- Navigate with smart buttons Project > Tasks > Activate Top Menu
- All good
- Now navigate directly to Tasks from the sales order
- Top Menu is in English
Issue:
- The issue here is the context language being lost due to context overriding in the code.
Fix:
- In this commit, I have updated the method from `with_context({'active_id': self.id})` to
`with_context(active_id=self.id)`. This fix ensures that the previous context is retained.
opw-5160373
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prUsers can now update customer statement email templates even after removing all recipients. This prevents an error that previously interrupted the sending workflow and helps keep accounting communications reliable.
Original PR description
Currently, an error occurs if the recipients of the statement report are removed and the user tries to update the email template. **Steps to Reproduce:** 1. Install Accounting. 2. Customers (list view) > select any record > Actions > Customer Statement > Send. 3. Remove recipients and try to update the email template. **Error:** `KeyError - False` **Cause:** The system tries to fetch mail field values from an empty recipient list, leading to a KeyError. **Fix:** This commit recomputes the recipient partners before updating the email subject and body from the template. sentry-6918345730
This update documents an unused website event speaker biography snippet so its presence is understood and does not cause confusion during maintenance. It has no expected impact on website behavior or compatibility because the snippet was not actively supported by related styling or scripts.
Original PR description
Problem introduced at [1] (see [2]). In stable, this comments the code to explain the dead code presence. In master, that snippet will be removed, as nobody seemed to have missed him for 4+ major versions and its structure is not perfect (overflow hidden...). Thankfully it should not come with any compatibility issue as it was not associated with any JS/CSS). Maybe a new equivalent will be introduced in master later on. [1]: https://github.com/odoo/odoo/commit/b5c87d86cad1aa2b44f805da0b2d6635aeb85b96 [2]: https://github.com/odoo/odoo/pull/68644#discussion_r903721785 task-4084801 Forward-Port-Of: odoo/odoo#233203
This change corrects how the Peppol partner list view is connected so it uses the version that already includes the required electronic invoicing information. This helps prevent view loading issues for companies using Peppol-related accounting features.
Original PR description
Currently the following view inherits from `base.view_partner_tree`: `res_partner_form_account_peppol`. This view contains xpath expressions based on the `peppol_endpoint` field. But the view in `base` does not include the field yet. It is added in module `account_edi_ubl_cii`. This commit changes the inheritance to be from the equivalent view in `account_edi_ubl_cii` instead. task-4925169 Forward-Port-Of: odoo/odoo#231637