Daily updates from Odoo
Thursday, October 9, 2025
17 changes · master
Enhancements to existing features
The US payroll demo data now includes a Developer USA employee record so demo payroll setup starts with the needed sample information. This helps demos run more reliably by ensuring salary structure defaults are applied after the demo record is available.
Original PR description
Added the Developer USA demo data record in the l10n_us_hr_payroll.xml file instead of leaving it empty for the sake of the demo data being added before triggering the _default_salary_structure function in hy_version.py Task ID: 5003603
Belgian payroll now uses a clearer residency status with Resident, Non-Resident, and Frontalier options. For Frontaliers, withholding tax exemption is applied automatically and locked in the interface, reducing manual errors while keeping flexibility for other employees.
Original PR description
- Add l10n_be_resident_situation field with 3 options: Resident, Non-Resident, Frontalier - Compute no_withholding_taxes automatically for Frontaliers with readonly UI behavior - Maintain backward compatibility with computed is_non_resident field - Update employee and contract template views to use new selection field - Update test data to use new field structure Frontaliers now automatically get no withholding taxes with a disabled checkbox, while Residents and Non-Residents can still manually control the setting. task-4936512
The Hong Kong payroll employee form now places employee name fields under the private contact information section instead of location information. This makes the information easier to find in the most relevant area and improves form organization for HR users.
Original PR description
before: the names were under location information after: moved the names under private contact information task-5042649
Pay Run cards now show icons and clearer, capitalized information text, making payroll runs easier to scan. The Pay Runs action also has a cleaner navigation path, improving consistency when users access this area.
Original PR description
- added icons in Pay Run card and capitalized the info texts - added path to Pay Runs action (as `pay-runs`) task-5109059
A new filter helps users quickly find salary offers that are waiting for their signature. This makes it easier to focus on pending actions and replaces an older default filter with the clearer, dedicated option.
Original PR description
Add filter for 'Waiting For Me' in salary offer search view, returning only offers with signature expected (half signed). Also context filter replaced with the newly introduced one Task ID: 5031087
Payslips that have been validated now show the status as "Done" instead of "Validated". This creates consistent wording between individual payslips and payroll runs, reducing confusion for payroll users.
Original PR description
If the payslip status is "validated", the display status for the payslip is "Validated". The display has been changed to "Done" to match with the payrun's status. Forward-Port-Of: odoo/enterprise#95182
Users can now duplicate existing records even when creating brand-new records is disabled. This gives businesses more precise control, allowing teams to reuse approved records while still preventing unrestricted new entries.
Original PR description
*: documents, web_studio This commit allows record duplication even when creation is disabled (create="0"). Duplication permissions should depend only on specific duplication rules (e.g., duplicate attribute) and server-side access rights — not on the create attribute. This makes sense in cases where users are allowed to duplicate existing records but not create new ones from scratch. task-5131124
The VoIP call history and softphone views now show clear icons when calls include recordings or AI-generated transcriptions. This helps users quickly identify which past conversations have supporting audio or text records available for review.
Original PR description
Task-4962728
Work entries now show where they came from, such as schedules, time off, planning, attendance, or manual creation. Access to work entries is also aligned with HR and payroll roles, helping teams review payroll-related records with clearer ownership and permissions.
Original PR description
- added Source field in `hr_work_entry_view_form` which takes value from:
- `resource_calendar_id` if the work entry has been generated from the working schedule
- `leave_id` if the work entry has been generated from a time off
- `planning_slot_id` if the work entry has been generated from a planning
- `attendance_id` if the work entry has been generated from attendance
- Manual if the work entry has been generated manually
- removed the expand button in the `hr_work_entry` pop up
- added inherited views for `hr_work_entry_view_form` in `hr_work_entry_attendance` and `hr_work_entry_palnning` to show corresponding fields
- changed access of the work entries smart button to be only `group_hr_manager` and then change to `group_hr_payroll_user` when payroll is installed
- removed access to work entries from `group_hr_manager` when payroll is installed
Task [link](https://www.odoo.com/odoo/project.task/5118852)
task-5118852Financial reports now use parent accounts to group and present accounting data, replacing the previous account group approach. This makes reports such as trial balance, aged partner balance, asset reports, and localizations more consistent and easier to interpret for finance teams.
Original PR description
WIP: implement parent account in reports Task: [5055586](https://www.odoo.com/odoo/project/967/tasks/5055586)
Cashiers can now use a dedicated Food Platform button on the POS ticket screen to quickly view orders received through UrbanPiper. This makes it easier to separate third-party delivery orders from in-store sales, while replacing the previous UrbanPiper search filter with a clearer workflow.
Original PR description
In this commit: =============== - Added a "Food Platform" filter button on the ticket screen to show only orders received from UrbanPiper. This helps cashiers quickly identify and manage third-party food platform orders separately from in-store orders. - Removed the UrbanPiper search filter since a dedicated filter button has now been added on the ticket screen for managing UrbanPiper orders. Task-5033759 Related PR: https://github.com/odoo/odoo/pull/224217
Desktop users can now copy the text of AI chat messages directly from the message actions. This makes it easier to reuse AI-generated responses outside the conversation without manual selection.
Original PR description
This commits enables the copy text message action on desktop. task-3509874
Payroll salary rules can now be created without assigning them to a category. This simplifies payroll setup by avoiding unnecessary one-off categories and makes salary rule management easier for teams.
Original PR description
**Issue** To simplify salary rule configuration and reduce unnecessary records the salary rule category field is made non-mandatory, to avoid creating categories that contain only a single rule and making the setup easier to manage. Task ID: 5126314
This update changes how accounting-related demo and localization data is loaded, making setup more consistent across modules. It mainly supports smoother testing and onboarding environments without changing day-to-day business workflows.
Original PR description
More information in community PR
This update changes Bangladesh payroll benefits so they are handled as employee properties rather than fixed payroll inputs. It makes benefit setup more flexible and helps payroll calculations retrieve configured values more reliably.
An unused field in the Appraisal Skills module was removed because it was no longer serving any purpose. This helps keep the module simpler to maintain without changing expected user behavior.
Original PR description
manager_ids is a computed field defined on hr.appraisal.skill model, but it's never used. task-5072467
Payroll users can now generate payslip PDFs more conveniently from list views, with small batches created immediately. Printed payslips are also saved directly on the employee payslip record, making documents easier to find and manage.