Friday, August 14, 2026
16 changes · master
Enhancements to existing features
Several Point of Sale related test flows were moved from slower browser tours to more focused automated tests. This keeps coverage for sales, Safaricom payments, stock, self-ordering, and core POS behavior while reducing test run time and maintenance effort.
Original PR description
*: sale, safaricom, point_of_sale In this commit: --- - Converted unnecessary tours (that only test basic frontend functionality without backend involvement) to HOOT tests. - Removed tours that are already covered by existing HOOT tests. - Replaced tours that are used only for order creation or preparation ticket flows with Python tests, avoiding the need to run tours. task-6210006 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The HR settings page has been adjusted to make options easier to scan and use. Checkbox alignment and spacing are cleaner, and the Work Organization section now appears before the Employees section for a more logical setup flow.
Original PR description
1 - The checkbox is aligned to the left and the gap between the text and checkbox is reduced. 2 - Work Organization block is moved above the Employees block. task-6463373 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update gives background processes in IoT device drivers meaningful names so error messages are easier to understand. Support and technical teams can more quickly identify which device component caused an issue, reducing troubleshooting time without changing user-facing behavior.
Original PR description
We name threads to get actual names instead of
`Thread-<n>` in tracebacks.
Before:
```python
ERROR ? odoo.addons.iot_drivers.exception_logger: Unhandled exception in thread Thread-11
Traceback (most recent call last):
...
raise Exception("in display driver")
```
After:
```python
ERROR ? odoo.addons.iot_drivers.exception_logger: Unhandled exception in thread DisplayDriver(HDMI-A-1)
Traceback (most recent call last):
...
raise Exception("in display driver")
```
Forward-Port-Of: odoo/odoo#281953This update modernizes how several Odoo reports and database-backed views are prepared behind the scenes. It reduces reliance on an older internal approach, making future maintenance safer without changing day-to-day user workflows.
Original PR description
The attribute `_table_query` should never be directly used as we have `_table_sql`. It is used to create SQL values by concatenation. To replace this with SQL wrapper, we may directly overwrite `_table_sql` and just deprecate the old attribute. We rewrite all such view initializations with the SQL wrapper. https://github.com/odoo/enterprise/pull/127209 https://github.com/odoo/upgrade/pull/10975 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update changes website-related automated tests to run with a dedicated test user instead of unrestricted administrator access. This better reflects real customer behavior and helps catch permission-related issues before they affect users.
The image URL picker in the Website builder now matches the look of other autocomplete fields. This creates a more consistent editing experience and reduces visual confusion for users building website pages.
Original PR description
The look of URL picker for images was not consistent with other autocomplete fields in the Website builder. Task-5409036
Amount formatting now adds clear shorthand letters when values are shown in thousands, lakhs, or millions. This makes large numbers easier to read at a glance, for example by displaying k, L, or M alongside the rounded value.
Original PR description
When formatting amounts with a `rounding_unit` ('thousands', 'lakhs', 'millions'), append the corresponding unit character shorthand ('k', 'L', 'M') in `formatLang`.
Enterprise PR: odoo/enterprise#120189
Task-6113583The manufacturing order form now places the bill of materials field before the quantity field, making quantity the final input. This creates a more natural data entry flow and helps users complete manufacturing orders with less backtracking.
Original PR description
Reordered the BoM and quantity fields in the MO form view so that quantity is the final input. TaskID:- 5864744
The ecommerce shop layout no longer forces the website header and footer to become full width. This keeps the storefront more consistent with the selected website theme and gives businesses more predictable branding across pages.
Original PR description
This commit removes the override done on the header and footer width based on the ecommerce shop page layout that has been selected in the configurator. Before: full width layout -> full width header and footer Now: full width layout -> theme dictates header and footer's width task-6425890 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The search view editor now hides fields that belong to the search panel from its suggestion list. This reduces confusion for users by only showing relevant fields when configuring search views.
Original PR description
The search view editor displays the fields from the search panel, which can be confusing for the user. This commit filter's out those fields from the autocompletion container. tasl-6366232
Belgian payroll salary rule categories for meal vouchers, representation fees, and private car reimbursements have been renamed to make their purpose clearer. This helps payroll users understand that these categories indicate eligibility, reducing confusion in configuration and reporting.
Original PR description
Meal Voucher, Representation Fees and Private Car Reimbursement categories were renamed from boolean fields and kept awkward, unclear names. Rename them to Meal Voucher Eligible, Representation Fees Eligible and Private Car Reimbursement Eligible. Task 6459956
Studio users can now choose which field is totaled in kanban views directly from the sidebar. This makes it easier to customize dashboards and boards without needing technical changes.
Original PR description
The `sum_field` cannot be set in kanban views through Studio. This commit exposes it as a new property in the sidebar. task-6366141
Belgian payroll users can now see Dimona information directly on the employee form when a Dimona environment is configured. Internal synchronization controls remain hidden in debug mode, so everyday users get the relevant information without exposing technical settings.
Original PR description
Dimona fields on the employee form were restricted to debug mode. Expose the Dimona group to standard users when a Dimona environment is configured, while keeping internal sync flags restricted to debug mode. Task: 6441891
Refused time off requests are now hidden from the Time step in payroll runs because they do not affect payroll calculations. This keeps the payroll review screen cleaner and helps payroll teams focus only on relevant absences.
Original PR description
Refused time off has no impact on the pay run, so there is no reason to keep showing it in that step. Exclude it from the action domain instead, so the request simply disappears once it is refused. task-6446029
The appraisal survey setup now shows placeholder text in the “Shared With” field. This small usability improvement helps users understand what information to enter when configuring survey sharing.
Original PR description
. Add a placeholder for Shared With field task-6439149
The Obox status widget now uses simple colored icons to show whether each connection type is available. This makes it easier for users to quickly understand websocket and local network connectivity at a glance.
Original PR description
We update the Obox status widget to only display icons with colors depending on wether the connection type is available. <img width="758" height="92" alt="image" src="https://github.com/user-attachments/assets/069962ee-a2b2-4c23-97d5-807b200e332a" />