Daily updates from Odoo
Sunday, September 7, 2025
15 changes · master
Enhancements to existing features
The user preferences and administrator user forms have been streamlined to show more relevant information and use consistent naming. Users can now update more of their own employee information from preferences, with HR teams notified of relevant changes, and signature font loading is more reliable.
Original PR description
This PR aims to improve the UI of the forms allowing users to read or modify their own data or those of other users. It has been spit in several commit. - Commit 1: remove unused fields. - Commit 2: make sure fonts are loaded before rendering font selection widget in sign. - Commit 3: fields of the preferences form and the user form for administrators are modified to only display relevant fields. The preferences form is now displayed in a modal. - Commit 4: users can edit their own employee data from the preferences form. The hr employee are notified when some changes are done. The notification is sent by the hr module and not by the hr_payroll module anymore. - Commit 5: the preferences form is sometime referred as the profile form. From now on, it is only referred as the preferences form. task-4775990
Helpdesk teams can now start and manage product returns more easily from tickets, with clearer links between returns and the related customer issue. The update improves return creation, address selection, and visibility controls so teams spend less time correcting return details.
Original PR description
- make return button always visible - create new return when confirming a return for this new picking - link return with helpdesk ticket - create `Ticket` stat button in return form - add visibility rules for the `Ticket` stat button - select the customer delivery address if he set it - exclude `receipts` from the `Delivery to Return` domain - fix delivery generation when creating return - make the return line warning disabled in case no picking is selected - added test file to ensure the code flow Task-4781404
The online rental shop module has been adjusted to stay aligned with recent changes in the core website sales platform. This helps keep rental product pages and checkout flows working consistently as the broader system evolves.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/225092
Appointment-related website snippets now get more appropriate sizing when placed inside grid layouts. This helps pages built with these snippets look more consistent and polished without extra manual adjustment.
Original PR description
In PR [1], the inner snippets were allowed to be dropped as grid items. Their grid column span can be specified with the `t-grid-column-span` attribute so they have more appropriate dimensions. This commit therefore adapts the enterprise snippets. [1]: https://github.com/odoo/odoo/pull/223990 task-3369611
Barcode-based inventory adjustments have been revamped to make stock counts easier and more reliable for business users. The update adds clearer confirmation flows, counting requests, configuration options, and supporting access controls so warehouse teams can manage inventory checks more efficiently.
Original PR description
Task-4681370
Resource-based appointment calendars now use resource filters instead of attendee filters. This makes it easier for staff to find relevant bookings without searching through attendee lists, improving calendar usability for resource scheduling.
Original PR description
Purpose ======= Removing the attendee filter on the resource based appointment calendar view as filtering on resource based events using the attendees is tedious. Add a filter on the linked appointment type resources instead. Specification ============= The attendee filter isn't adequate when talking about resource based bookings. The bookings aren't displayed if you don't set one of its attendee in the filters and looking through attendees using the "+ Add attendee" widget in the sidebar is not a viable solution. Technical ========= Removing all the 'filters', 'write_model', 'write_field', 'filter_field' and 'avatar_field' attributes from the 'partner_ids' field as using any of those automatically add the field in the filters (they are OR-ed to add the filter info in the calendar arch parser). Task-5059001
Task templates are now stored separately from day-to-day tasks, reducing confusion and preventing templates from appearing in normal task workflows. This makes task lists cleaner and helps teams avoid accidentally using or editing templates as real work items.
Original PR description
_*= industry_fsm_report,industry_fsm_sale,industry_fsm_stock, timesheet_grid, project_enterprise, project_helpdesk, website_appointment_sale_project ### Challenge: Previously, both regular tasks and…
_*= industry_fsm_report,industry_fsm_sale,industry_fsm_stock, timesheet_grid, project_enterprise, project_helpdesk, website_appointment_sale_project ### Challenge: Previously, both regular tasks and task templates were stored in the same `project.task` model and distinguished using the `is_template` field. This caused unnecessary domain filters and confusion across features where task templates were not expected. Every task-related action required an explicit domain to exclude task templates. If the domain was missing, both records would appear, leading to confusion and potential misuse. ### In this improvement: - We introduced a new model `project.task.template` for storing task templates. - All existing tasks with `is_template=True` have been moved to the new model. - Removed the chatter from project.task.template to keep the interface clean and reduce unnecessary activity logs. - Archived task templates older than 3 months as part of routine system cleanup **Example (Before):** **Model**: `project.task` | Name | Allocated Hour | Worksheet | Subtask | Priority | Template | |------------------|----------------|-------------------|-------------|----------|----------| | Task A | 20 | Default Worksheet | Subtask 1 | High | False | | Template Task B | 20 | Default Worksheet | Subtask 2 | Low | True | ------------- ### **Now:** **Model**: `project.task` | Name | Allocated Hour | Worksheet | Subtask | Priority | |---------|----------------|-------------------|-----------|----------| | Task A | 20 | Default Worksheet | Subtask 1 | High | **Model**: `project.task.template` | Name | Allocated Hour | Worksheet | Subtask | Priority | |------------------|----------------|-------------------|-------------|----------| | Template Task B | 20 | Default Worksheet | Subtask 2 | Low | This separation ensures clearer architecture and avoids accidental inclusion of templates in task operations. task-4919945
Several business dashboards now use newer spreadsheet capabilities such as geo charts, carousel views, and improved sorting. This makes key CRM, payroll, marketing, purchasing, rental, and subscription metrics easier to explore and present.
Payroll users now see worked days and salary inputs in separate tabs instead of a combined worked days and inputs tab. This makes payslip review easier by placing additional salary items in the dedicated salary input area across affected payroll localizations.
Original PR description
We split the worked days & inputs tab into worked days and the salary input tab which already exists.
Location forms now show a barcode preview when a barcode is set, making warehouse setup easier to verify. The obsolete scrap-location flag was replaced by the existing Inventory Loss location type, reducing duplicate configuration and simplifying location organization.
Original PR description
- Removed the `Is scrap location` field and replaced it with the `Inventory Loss` location type because `Is scrap location` is useless when we already have an lcoation type of inventory Loss. - A barcode preview is now displayed on the location form view when a barcode is set for the location. TaskId: 4728397
This update simplifies Danish tax return handling by merging related reporting modules and adding Denmark-specific VAT return support. It also helps users submit Intrastat and EC Sales List documents with clearer guidance, downloadable files, deadlines, and Danish translations.
Original PR description
This commit will merge the two modules, it will be easier for user to use the tax return api. Also, following the implementation of the Tax returns feature in 18.3 which was focused on the general implementation and Belgium, we want to add the specification for other country and in this case Denmark. Instrat and ec sales list is a part of this which is generated when the VAT Return is submitted. task-4826286
The invoice OCR can now recognize when an uploaded document is a receipt. When a receipt is detected, the system updates the document type automatically, reducing manual corrections and helping accounting teams process documents faster.
Original PR description
The OCR can now detect whether a document is a receipt. If it is, it will automatically update the `move_type` accordingly. task-[4776275](https://www.odoo.com/odoo/project/2068/tasks/4776275)
The appointment calendar now focuses resource-based bookings on appointment resources instead of attendees, making it easier for staff to find the right bookings. Related calendar and Gantt booking screens were also streamlined so users can create, edit, and manage appointments with clearer capacity handling.
Original PR description
Purpose ======= Removing the attendee filter on the resource based appointment calendar view as filtering on resource based events using the attendees is tedious. Add a filter on the linked appointment type resources instead. Specification ============= The attendee filter isn't adequate when talking about resource based bookings. The bookings aren't displayed if you don't set one of its attendee in the filters and looking through attendees using the "+ Add attendee" widget in the sidebar is not a viable solution. Technical ========= Removing all the 'filters', 'write_model', 'write_field', 'filter_field' and 'avatar_field' attributes from the 'partner_ids' field as using any of those automatically add the field in the filters (they are OR-ed to add the filter info in the calendar arch parser). Task-5059001
Belgian credit time is now managed through work entry types in working schedules instead of a general part-time setting on employee versions. This makes Belgian payroll setup better aligned with local legal rules and clarifies how HR teams create credit time arrangements through the schedule change wizard.
Original PR description
task-4578909
This update changes how tax report lines handle reverse-charge and similar tax tag scenarios, reducing the risk of amounts being shown with the wrong sign. It improves the reliability of accounting and statutory reports across multiple country-specific reporting modules.
Original PR description
See community commit for more details