Daily updates from Odoo
Wednesday, April 23, 2025
30 changes
Enhancements to existing features
The message shown when an employee has no linked contact has been updated to explain the real requirement. This helps users understand that a valid associated contact is needed to use the Documents app from an employee record.
Original PR description
In order to use the Documents app from Employee, you need a valid associated contact. However, the error message when no contact exists was outdated and showed an irrelevant message. This commit updates the error message to indicate that a contact is needed to use the Documents app from the Employee. task-4684139
Generated Belgian payroll PDFs now use clearer, employee-specific file names based on the document type and period. This makes it easier for payroll teams and employees to identify, store, and share payslips, termination holiday documents, 13th month payments, and warrants.
Original PR description
Renaming generated PDF file names for structures: - Termination holidays N/ N-1: "[Employee Name] - Termination Holidays N/ N-1" - Monthly pay : "Payslip - [Employee Name] - [Month] [Year]" - 13th Month : "13th Month - [Employee name] - [Year]" - Warrant : "Warrants - [Employee name] - [Month] [Year]" task - 4582699
Approved approval requests are now protected from deletion, helping preserve important approval history and reduce accidental data loss. Users can also archive approval requests and use a filter to view archived records when needed.
Original PR description
This commit PR
- restriction to delete the requests which are in approved state.
- a filter to view archived "Approval Requests" (and `active` field to model
in order to archive the records)
Task-4639066Users can now receive a notification when they print a test receipt, label, or page through an IoT Box. This improves feedback during device setup and troubleshooting by confirming the test print result more clearly.
Original PR description
In order to display a notification when printing a test receipt/label/page, we need to listen for a lonpolling event returned by the IoT Box. Community PR: [https://github.com/odoo/odoo/pull/206696](https://github.com/odoo/odoo/pull/206696)
Planning managers now have a dedicated Open Shifts menu to quickly view and manage unassigned planning shifts. Reporting views are also organized to make open shift workload easier to review by role and time period.
Original PR description
- The Open Shifts menu is accessible only to planning managers. allowing them to easily view and manage open shifts. - In the Pivot view, only count is visible. Data in both Gantt and Pivot views is grouped by Role. Data in Graph views is grouped by start date: week > role. task-4701080
Point of Sale orders now include a clearer indicator to distinguish refunds from regular sales. This helps local electronic invoicing and settlement processes handle refund orders more reliably and with less ambiguity.
Original PR description
Add is_refund field in pos_order model to differentiate easily between refund and normal orders taskId: 4589361
Employee profiles are easier to use with cleaner skills, resume, organization chart, and gamification screens. The update also streamlines user and employee setup by automatically creating employee records and keeping job titles aligned with job positions when appropriate.
Original PR description
_* = hr_skills, hr_skills_survey, hr_org_chart, hr_gamification, gamification, hr_payroll Purpose: Enhance the user experience for managing skills, resumes, and employee- related features in HR.…
_* = hr_skills, hr_skills_survey, hr_org_chart, hr_gamification, gamification, hr_payroll Purpose: Enhance the user experience for managing skills, resumes, and employee- related features in HR. -------------------------------------------------------------------------------- Specification & Implementation: -------------------------------------------------------------------------------- Skill Timeline: - When no skills are available for an employee, the timeline is now hidden. Tag Placeholder: - Added tag placeholders for clearer user input. Reference. New Resume UX: - Revamped the resume section, ensuring better clarity and accessibility. Certification Field Visibility: - If the 'Category' is not Internal Certification, the certification field is hidden to avoid unnecessary clutter. Social Media Category: - Special UX adjustments for social media-related resume entries. Organization Chart Linkable Text: - Removed the smart button and made the 'Organization Chart' text linkable. - Added action functionality to the text link similar to the smart button. Gamification Empty Screen: - Improved the empty screen experience for gamification with more engaging UX. Badge Kanban: - Improved the kanban view format for gamification, making it visually cleaner and more engaging. Employee Creation on User Creation: - When creating a new user, the corresponding employee record is automatically created in the selected company. Job Position and Job Title Sync: - If the Job Title is empty, it now automatically copies the Job Position. - If the Job Position is later updated and the Job Title was customized, the title remains unchanged. - Task: 4391333
The Indian asset management features are now separated from the broader Indian reports package. This helps keep the reporting app lightweight and free to install while making asset-specific functionality available as its own module when needed.
Original PR description
this commit splits the `l10n_in_asset` module from the `l10n_in_reports` to ensure to stay in one app free when the module `l10n_in_reports` is installed. UPGRADE PR: https://github.com/odoo/upgrade/pull/7558
Point of Sale receipts have been redesigned to make totals, taxes, company details, VAT information, QR codes, and barcodes clearer and better organized. This improves the customer-facing checkout experience across standard POS, self-order, restaurant, loyalty, and local fiscal receipt flows.
Original PR description
`point_of_sale`, `l10n_co_pos`, `l10n_fr_pos_cert`, `pos_loyalty`, `pos_restaurant`, `pos_self_order`, `l10n_cl_edi_pos`, `pos_urban_piper` In this commit: === - Aligned order lines with total, tax line, etc. - font family changed to `monospace` for prices in ordelines. - Removed loyalty point lines. - Adjusted alignment of self-invoicing QR code and loyalty barcode code. - Added company name and address in the footer, moving contact details from the header to the footer. - Organized preset data properly in the header. - Added VAT prefix in ticket if county is in `Europian union VAT` country group. - `Untaxed Amount` text replaced with `Subtotal`. - Order tracking number configured only to show on self-order or kiosk receipt. Task: 4552788 Related PR: odoo/odoo#201105
The Belgian payroll spouse income field now uses a more relevant order and clearer explanations, making it easier for employees and HR teams to select the correct fiscal status. The same wording and default-value changes were applied in the salary configurator to keep the experience consistent.
Original PR description
In BE, the spouse revenue selection field has been improved. The order of the fields in the selection has been changed to be more relevant. Also, the explanation text of the different selection value has been improved and corrected. task-4680475
Administrators will now see a Studio icon even when Odoo Studio is not installed, making it easier to discover what Studio can do. Selecting the icon opens an informational wizard, helping promote Studio features without affecting regular users.
Original PR description
SPECIFICATION: When the Studio module is not installed, display the Studio icon to inform users about its features. Clicking the icon will open the `Odoo Studio` wizard, helping users understand its functionality. This studio icon will only be visible to the admin user. Task-4648879
The contract form now handles missing PDF templates more clearly by hiding unavailable contract sections and showing a helpful message. Users can upload the required PDF templates directly from the signatories area, making contract preparation smoother.
Original PR description
* = hr_contract_sign hr_contract_sign - Updated the widget used for uploading PDF templates. hr_contract_salary - Updated the Signatories tab in the contract form view to enhance UX. - When no PDF templates are present in the database: - Hide the "New Contract" and "Contract Update" sections. - Display a message indicating the absence of PDF templates. - Provide an option for users to upload PDF templates directly. task-4457876
Job applications created through the referral flow now automatically use “Referral” as their source when a referring user is present. This avoids conflicts with the referrer’s own marketing source and makes referral reporting clearer for recruitment teams.
Original PR description
add referral option in source field when there is a user in "referred by user" field "Referral" option will be selected in source field Instead of using the referrer's utm_source_id as the default source_id the 'Referral' source will now be set after new application through Referral. added placeholder for source, medium and Referred User fields Removed the test for ref_user_id since it is no longer dependent on source_id, and added ref_user_id to job_applicant task-4202786
Project-related apps now support task templates in more places, including field service, sales, timesheets, planning views, and appointments. This helps teams reuse standard task setups more consistently across workflows and reduces manual setup effort.
Original PR description
*=industry_fsm,industry_fsm_report,industry_fsm_sale,industry_fsm_stock,timesheet_grid,web_gantt,website_appointment_sale_project See the community PR for more details on the feature. This PR adapts some views and custom JS views to the task templates. --- Community: https://github.com/odoo/odoo/pull/200153 Task-4614548
The Sign app now adapts avatar cards to show when someone is on leave, helping users better understand signer availability. This improves coordination around document signing without changing the core signing flow.
Original PR description
Manually merge together PR to avoid conflicts. Enterprise counter-part. task-4653722 Community: https://github.com/odoo/odoo/pull/207009 Upgrade: https://github.com/odoo/upgrade/pull/7595 Taken from: - https://github.com/odoo/enterprise/pull/82159
The signing interface has clearer field labels and more visible delete icons, making document setup easier to understand. It also fixes strikethrough styling so it only appears where intended, reducing confusion for users completing mandatory fields.
Original PR description
This PR includes the following improvements: - Renamed fields for better clarity. - Updated trash icon colors for improved visibility. - Fixed strikethrough issue. - Ensured strikethrough is only applied when the field is mandatory. task-4656407
Users who receive shared documents can now use embedded document actions, such as marking a file as done, acknowledged, or paid, even without access to the original folder. Empty read-only fields in the document details panel now display cleaner placeholders instead of unusable dropdowns or bare icons, improving clarity and consistency.
Original PR description
It can be useful that users can execute embedded actions on documents even when they have no access to the folder itself. Flows similar to this are then enabled: A user is shared a document (as viewer) and is expected to 1. Do something about it, 2. Use an embedded action to add a "Done"/"Acknowledged"/"Paid" tag. Also * cleaning deprecated `action_folder_embed_action` `groups_ids` parameter. * When fields are empty and readonly, * showing dropdowns that will raise an access error is wrong * just showing icons with nothing next to them looks weird This way, we get a consistent look for the details panel fields (FU of https://github.com/odoo/enterprise/commit/b78e36b16a6b4b157c227d8b222b544f94cb9016). Task-4724349
Knowledge property fields now open in edit mode by default when users have permission to change them, making updates easier without needing an extra menu. Edit and move controls stay hidden until hover, reducing visual clutter and making the Knowledge interface cleaner.
Original PR description
In the community PR, we introduced an edit mode for property fields. Because the Knowledge editor doesn't include a cog menu to toggle this mode, the property field component now defaults to edit mode — provided the user has "write" access to the definition record. To reduce visual clutter, the buttons for editing or moving a property field will be hidden by default and shown only on hover. This helps create a cleaner and more intuitive interface. Task-4610816
Point of Sale preparation screens now capture how long each order and order line takes to prepare and serve. Managers can use the new reporting data to review kitchen or service performance, while completed orders can be cleared automatically to keep displays tidy.
Original PR description
- Added fields in `pos.prep.display`: `auto_clear` and `clear_time_interval` fields to auto-remove completed orders (from "Order status screen"). - Introduced `avg_preparation_time` and `avg_service_time` fields in `pos.order` to track order preparation and service durations. - Introduced `preparation_time` and `service_time` in `pos.order.line` to track preparation and service durations for each order line. - Introduced `pos.prep.order`.`completion_time` field to track total order preparation & service duration. - Updated POS order views to display `preparation_time` and `service_time`. - Added new `preparation_time_report` model & SQL view for preparation time analysis. task-id: 4623457
The Sign app’s enterprise test coverage was adjusted to align with a related change in the shared Odoo platform around avatar cards. This helps keep automated validation consistent and reduces the risk of regressions without changing day-to-day user workflows.
Original PR description
This commit adapts enterprise test to the community PR. Community: https://github.com/odoo/odoo/pull/202702 task-4653722
The Sign app now supports envelopes, allowing one signing template to include multiple documents in a defined order. This makes it easier to manage contracts or document packs that need to be reviewed and signed together, while also improving how completed signed files are stored for future enhancements.
Original PR description
In this commit, we added the envelope feature on `sign.template` by allowing handling multiple attachments in the same template. The changes description and coding choices explanations are described…
In this commit, we added the envelope feature on `sign.template` by allowing handling multiple attachments in the same template. The changes description and coding choices explanations are described below. **SignDocument addition** For achieving this, we created a new class called `sign.document` and made `sign.template` point to multiple of them. This class stores an attachment and holds the order information in the template, as well points to its `sign.item` records, previously done in `sign.template`. All the rendering code got moved from `sign.template` to `sign.document` since it now stores the attachment, making the `sign.template` code a lot cleaner and easying the adaptation of the JavaScript rendering as well. **SignCompletedDocument addition** Before this PR, the storage for the completed document in the `sign.request` was just a single Binary field, and its functions were defined at `sign.template`. In this PR, we added a new model `sign.completed.document` for holding it as moving the document geration over there. This made us keep the simplicity of working with the Binary field (instead of `ir.attachment` directly), we were able to move a function over there making it more maintainable and allowing future improvements such as moving the certificates logic. task-4555838 Co-authored-by: Gabriel Felix <gdpf@odoo.com> Co-authored-by: Ahmad Elmaghraby <alah@odoo.com> Co-authored by: Abdelrahman Fawzy <abdh@odoo.com>
The partner commission process now uses a newer progress-tracking approach when confirming purchase orders in the background. This keeps the system aligned with future platform updates while preserving the existing business workflow.
Original PR description
Rewrite the `_cron_confirm_purchase_orders` to use the new `_commit_progress` method. This is because we would like to deprecate `_notify_progress` in the future.
Field service teams can now capture geolocation when working on tasks, helping managers confirm where work is performed and improve accountability. This supports more accurate time tracking and better visibility into on-site operations.
Original PR description
Odoo lacks built-in GPS tracking for field service tasks, which is a key feature expected by customers, Geolocation on fieldwork helps track where employees are and ensures accurate time tracking, making work more efficient and accountable. task-4546189
Odoo Studio users can now edit Kanban header buttons directly, matching the existing List view experience. Invisible buttons are handled more consistently, making view customization clearer and easier to maintain.
Original PR description
This commit introduce for the Kanban editor a feature already available in List view. As the feature behavior should be identical, the same component has been made to make sure we can continue evolving the feature for both views more conveniently. Invisible buttons can now be edited properly in the Editor, while being hidden by default, and having the same appearance as other invisible elements while 'Show Invisible Elements' is checked. The commit also moves the ButtonProperties component, as it is now used in different editors, and not just in Form view. Tests and tours have been modified, to mock the new route, and adapt to the new way to edit attributes on the button node without having a dedicated modal. Some selectors have also been changed. task-4318325
Payroll administrators can now delete salary structures that are not used in any payslip without first manually removing all related salary rules. This reduces cleanup effort while still preventing deletion of structures that are already used in payroll records.
Original PR description
Currently, deleting unused structures is not straightforward as it requires to delete all attached salary rules first. It would be easier to automatically delete all salary rules of the structure upon deletion. This operation will fail in case the salary structure is used in at least one payslip, which is what we would expect. This PR allows salary structures to be deleted as long as they are not used anywhere. task-4702289
The main brand colors used across the enterprise web interface have been refreshed for both light and dark modes. This improves the visual appearance and helps the product feel more modern and consistent for users.
Original PR description
Before this commit, primary colors were not visually optimal and now it's more modern. community : https://github.com/odoo/odoo/pull/206890 task-4742840
The Swiss payroll module display name was updated to distinguish the ELM Transmission version from another similarly named module. This helps users identify the correct payroll accounting option more easily and reduces confusion in module lists.
Original PR description
- changed `l10n_ch_hr_payroll_elm_transmission_account`'s display name from "Switzerland - Payroll with Accounting" to "Switzerland - Payroll with Accounting (ELM Transmission)" because duplicated. Task-4717615
The Indian payroll demo data now includes a company bank account. This makes sample payroll scenarios more complete and easier to evaluate during demonstrations or testing.
Original PR description
Add demo bank account for the Indian company. task-4668323
Odoo now records the SSL certificate expiration date sent by each IoT Box. This helps users know when a certificate has expired so they can take action before connectivity or trust issues affect operations.
Original PR description
Before this commit, users didn't have any information on the expiration of the ssl certificate of their IoT box (after 60 days). We now send the certificate end date from the IoT Box to the database in order to inform the user if the date is passed. Community PR: [https://github.com/odoo/odoo/pull/206693](https://github.com/odoo/odoo/pull/206693) Task: 4737809
Once a salary offer is fully signed, important fields can no longer be edited. This helps protect contract-related information from accidental changes after agreement and adds a message to make the status clear to users.
Original PR description
This PR includes the following updates: - Made key fields read-only when the offer state is 'fully signed'. - Because, those some fields are related to contract. Task - 4633053