Daily updates from Odoo
Monday, August 18, 2025
13 changes · master
Enhancements to existing features
Belgian payroll now excludes PFI contracts when calculating an employee's seniority for departure notice periods. This helps ensure notice periods for leaving employees follow Belgian rules more accurately and avoids overstating seniority from ineligible contract types.
Original PR description
When you generate the notice period for leaving employees, you must compute their seniority. In Belgium, PFI contracts should not be taken into account. This commit filters the contracts to ignore PFI ones. task-4788455
This update adjusts several Point of Sale compliance features for Belgian, Swedish, and EU scale certification requirements. It improves configuration, session handling, and self-ordering behavior so businesses can better meet local fiscal and device compliance obligations.
Businesses can now choose specific product categories where the Contact Us button appears for zero-priced rental or subscription items. If no categories are selected, the behavior remains unchanged and applies to all products, giving teams more control without disrupting existing setup.
Original PR description
- Added an option to choose specific product categories where the Contact Us button should appear for zero-priced items. - If no categories are selected, the rule still applies to all products (same as before). - Makes it easier to apply the rule only to certain collections only. See also: - Community PR: https://github.com/odoo/odoo/pull/215526 - Upgrade PR:https://github.com/odoo/upgrade/pull/7928 Affected_Version:Master Task_ID:4819657
Payroll now only offers pay schedules that are supported by each country’s localization, reducing the risk of incorrect payslip calculations. When monthly payroll is the only valid option, the schedule selection is hidden to simplify employee and contract setup.
Original PR description
In most locas, we only have correct computations for monthly payslip so we should restrict the choice depending on the loca. Also if there is only one choice, monthly, we should not display the selection field at all. Task: 4890507
Kiosk configuration now shows only settings that are relevant to kiosk mode. This reduces confusion for users setting up kiosks and makes the configuration process quicker and clearer.
Original PR description
Before this commit: =================== - Configuring a kiosk showed many settings that were not applicable to kiosk mode, creating unnecessary complexity. After this commit: ================== - We have removed all the irrelevant settings from the kiosk configuration Task: 4830228 Related Community PR: https://github.com/odoo/odoo/pull/212665
Document search filters now separate files into clearer categories such as PDF/documents, images/videos, URLs, and spreadsheets. This makes it easier for users to find the right content quickly, including linked shortcuts to those document types.
Original PR description
Add more granularity to the documents filter. - PDF/Documents: All binary documents (+ shortcuts) which are not image/video, spreadsheet or shortcut of those. - Image/Video: All image/video documents (+ shortcuts). - URL: All documents of type 'url' (+ shortcuts). - Spreadsheet: All spreadsheet documents (+ shortcuts). Task-4897125
Payroll accounting now supports assigning analytic distributions on employee versions and salary rules. This helps businesses allocate payroll costs more accurately across departments, projects, or cost centers without extra manual accounting work.
Original PR description
task-4775857
Belgian payroll can now include an employee's seniority from before hiring when calculating notice periods. This helps produce more accurate departure notice results when the company chooses to count prior seniority.
Original PR description
In this PR, we added seniority at hiring to the notice period computation. When the option of including the Seniority at Hiring is set, we consider the first_contract in the notice period calculation as `notice.first_contract - seniority at hiring (in years)`. Related task: 4936801.
Payroll users can now see employer cost directly on payslips and pay runs. This makes it easier to understand the full payroll expense without manually adding contributing salary rules.
Original PR description
Before: - The salary rule field was labeled "View on Employer Cost Dashboard" - Payslip list view did not include employer cost. - Pay run (batch) had no summary of total employer cost for all its payslips. After: - Renamed salary rule field to "Contributes to Employer Cost" for better clarity. - Added a computed "Employer Cost" field on the payslip, summing all rules marked as contributing. - Displayed "Employer Cost" by default in the payslip list view. - Added a new field on the Pay Run (batch) to show the total Employer Cost, computed as the sum of all employer costs from associated payslips. Task-4793801
The Point of Sale customer list now opens much faster when many customers are loaded and the cart has many items. This reduces delays for cashiers during checkout and improves the in-store sales experience.
Original PR description
Before this commit, opening the customer list in PoS could be slow when many customers were loaded (common in active PoS environments) and the current order had numerous orderlines. This performance hit was due to repeated recalculations of `get_total_with_tax`. This commit resolves the issue by storing the `get_total_with_tax` value of the current order when the customer list is opened. This value remains constant while the customer list is active, eliminating unnecessary recalculations. Performance Impact: With 500 customers loaded and 20 orderlines in the cart, opening the customer list improved from 5 seconds to 200 ms. opw-4921262 Forward-Port-Of: odoo/enterprise#92354 Forward-Port-Of: odoo/enterprise#89526
Spreadsheet users get a smoother experience when editing global filters, as panels now replace each other correctly and restore previous views when cancelled or removed. The update also protects performance by blocking very large static pivot insertions and adds chart zooming for easier analysis.
The Approvals app now presents request cards in a clearer, easier-to-scan Kanban layout. Status labels display the right text and colors, users can group requests by status, and approver avatars are visible in category lists for quicker recognition.
Original PR description
In this PR, Before: - The Approvals Kanban board was difficult to read at a glance. - Status labels (like “Pending” or “Approved”) sometimes displayed incorrect colors or text. - Users couldn’t group approvals by status in the search view. - The list view for approval categories didn’t show user avatars. After: - Redesigned the Kanban cards to be cleaner and more readable. - Status labels now show the correct name and color consistently. - Added support to group approvals by status in the search view. - User avatars are now visible in the list view of approval categories Task-4677549
Users can now create a blank dashboard without leaving the spreadsheet selector. This removes extra steps when adding list, pivot, or graph views and makes the dashboard creation flow faster, especially when no dashboard exists yet.
Original PR description
**Description of the issue/feature this PR addresses:** - Enable users to create a new blank dashboard directly from the spreadsheet selector dialog instead of being limited to inserting into existing dashboards. **Current behavior before PR:** * Users could only insert list/pivot/graph views into existing dashboards. * Creating a new dashboard on the fly via the selector was not possible. * If no dashboards existed, users had to leave the selector, create one manually, and reopen the selector to proceed. **Desired behavior after PR is merged:** * The selector now offers a **“Blank dashboard”** entry in the Dashboard notebook. * Selecting this entry opens a minimal creation form (Name, Section, Access Groups) in a dialog. * Once saved, a new dashboard is created and immediately opened in edit mode as the insertion target. Task: [4948417](https://www.odoo.com/odoo/project/2328/tasks/4948417)