Wednesday, November 5, 2025
9 changes · saas-18.3
Enhancements to existing features
This update creates a shared way to settle customer accounts in point of sale test tours and reuses it across existing scenarios. It helps keep customer selection and payment flow consistent when dialogs are closed and reopened, reducing the chance of test failures or missed customer data.
Original PR description
In this commit: --------------- - We have introduced a common function for settlement of customer accounts and replaced it in existing tours. task: 5028009 related PR: [95156](https://github.com/odoo/enterprise/pull/95156)
Resolved issues and error corrections
The website now only shows the language selector when there is more than one language available. This prevents an empty menu item from appearing in the header, which removes an unnecessary border or blank space and improves the page layout.
Original PR description
This PR calls the language selector placeholder only when multiple languages exist, avoiding an empty header list item that creates an unnecessary border or empty space. task-5150808 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#233744 Forward-Port-Of: odoo/odoo#231256
This update adjusts an automated sales/manufacturing test so it no longer depends on a field that only exists when Enterprise is installed. It helps keep the test suite reliable across different Odoo setups and prevents false failures during validation.
Original PR description
Cause ----- Test introduced in 2da1c78 uses the field `backorder_ids` which is only present when enterprise is installed https://github.com/odoo/enterprise/blob/67fdbc5ae724a184d62d8cfa23403b8c759b9317/stock_barcode_mrp/models/mrp_production.py#L10 ----- Error: 233584 Forward-Port-Of: odoo/odoo#233730
This update removes a flicker that appeared when hovering over the favorite filter edit icon in the search bar. The icon now keeps its space visible in the layout, so the menu no longer shifts size and behaves more smoothly.
Original PR description
This PR fixes an issue related to the edit favourite filter icon. Prior to this PR, the edit favourite filter icon used `d-none` by default and `display: block` on hover. Since `display: none` removes the element from the layout, the parent popover resized on hover, causing a flickering effect. This did not occur for filters with short labels (which had enough room for the icon) or for long labels (where the label was truncated). To prevent the flickering, the icon now uses `visibility: hidden/visible`, which keeps its space in the layout and avoids layout shifts. https://github.com/user-attachments/assets/5308c11e-8706-403c-80e3-fc05ab37a61d task-5237493 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds the required accounting setup to an automated dropshipping test so it can run correctly even when demo data is not installed. It prevents the test from failing because a purchase journal was missing, improving the reliability of the test suite.
Original PR description
The test `test_dropship_return_backorders_bill_on_order` failed when running without demo data because no chart of accounts was installed, so no Purchase journal existed. As a result, `purchase_order.action_create_invoice()` raised: UserError: No journal could be found in company ... for any of those types: purchase This change inherits from `AccountTestInvoicingCommon` to have the necessary charts. [runbot-231285](https://runbot.odoo.com/odoo/error/231285) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224775
This update removes a warning that could appear when using the booking form in Point of Sale during automated tours. It helps keep the POS experience cleaner and avoids confusing warning messages during testing and usage.
Original PR description
This will remove missing wigdet warning encountered when using the booking form from the point of sale. opw-5109501 Enterprise: https://github.com/odoo/enterprise/pull/96811
This update prevents archived reconciliation rules from showing up when users match bank transactions. It helps keep the list clean and reduces the chance of selecting outdated rules by mistake.
Original PR description
Steps to reproduce: ------------------- 1. Install Accounting (with demo data). 2. Go to Accounting > Dashboard and open the "Bank" journal. 3. Click on any unreconciled line and open the dropdown menu. 4. Select “Manage models” and archive one of the reconcile models. 5. Return to the bank journal and open any unreconciled line. Issue: ------- Archived reconcile models are still shown in the available model list. Cause: ------ The [SQL query](https://github.com/odoo/enterprise/blob/6615de3100ac1192039a5f276df278c543f2fabb/account_accountant/models/account_reconcile_model.py#L47-L118 ) does not filter out inactive reconcile models. Solution: ---------- Add a condition to include only active models. opw-5189700
This fix improves the spreadsheet version history view by avoiding an unnecessary company currency request. As a result, the view should open more efficiently and with less backend processing, especially in cases where this action is used frequently.
Original PR description
The perfomance commit added in https://github.com/odoo/odoo/pull/151725 did not account for the version history action that does not inherit from `AbstractSpreadsheetAction`. this missing value trickled down to a bug only detectable in the VersionHistory action and which is addressed in https://github.com/odoo/odoo/pull/232985 This commit adds the same performance to VersionHistory action. Task-5187293 Forward-Port-Of: odoo/enterprise#98197 Forward-Port-Of: odoo/enterprise#98038
This update corrects a linting check so that indexed relationships are properly recognized even when they come from inherited data models. It helps prevent missed indexing warnings, improving database performance checks and code quality.
Original PR description
Many2one fields that originated from an `inherits` model were not linted for indexing if they were an inverse to a One2many field, because those fields on the inverse model have `store=False`. The Many2one field that needs to be indexed is the one on the delegated model. This commit fixes this by always getting the `base_field` for the inverse field - if it's an inherited field, it will use the source field; if not, it will use the field itself. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr