Daily updates from Odoo
Friday, July 18, 2025
6 changes · master
Enhancements to existing features
This change introduces a new HR access group and applies it across employee-related features such as payroll, appraisals, referrals, documents, and work entries. It helps standardize who can view or manage HR information across these apps, improving consistency and control for HR operations.
The Sign app now lets administrators set a default validity period in days for new signature requests. This reduces repetitive manual setup and helps ensure requests expire consistently across the business.
Original PR description
Added a setting in the Sign app to define a default validity period (in days) for sign requests. This improves the user experience by eliminating the need to manually set an expiration date for each new request. task-4942996
Odoo now remembers when a local IoT Box connection method has recently failed and temporarily skips retrying it. This avoids repeated waiting periods and helps affected users connect faster through the fallback method on networks where local requests are unreliable.
Original PR description
To contact an IoT Box, if longpolling fails, we fallback to websocket. We use this logic on every call: if the longpolling fails once, there is chance that it fails on the next call. We now avoid contacting via longpolling if it has failed during the last 20 minutes. We then avoid 6 seconds timeout on every call on networks where local requests fail (clients with DNS for example). Task: 4922624 Forward-Port-Of: odoo/enterprise#89733 Forward-Port-Of: odoo/enterprise#89598
Resolved issues and error corrections
When a field service task includes a kit product, its related delivery is now correctly validated when the task is marked done. This ensures delivered quantities update as expected and prevents orders from appearing undelivered despite the work being completed.
Original PR description
**Problem:** when the product in the sale order linked to a field service task is a kit and the task is marked as done, the delivery is not validate (as it would for a non kit product) **Steps to…
**Problem:** when the product in the sale order linked to a field service task is a kit and the task is marked as done, the delivery is not validate (as it would for a non kit product) **Steps to reproduce:** - Create a product and set up a Kit-type Bill of Materials for it (with at least two components) - Create a service-type product. - Set the Invoicing Policy to Prepaid/Fixed - set the "create on order" field to Task - assign the Project to Field Service. - Create a Sales Order using the service product. - Confirm the Sales Order. - In the linked task, click on the Products smart button - add the kit-type product from step 1. - Mark the task as done. **Current behavior:** On the sale order, the delivered quantity for the kit product is 0. If you click on the delivery smart button, you'll see that the picking is not validated yet **Expected behavior:** the picking should be validated **Cause of the issue:** https://github.com/odoo/enterprise/blob/d8dc0cabd83a29d0522cb5fd25c6956968d4408b/industry_fsm_stock/models/project_task.py#L23 the orer_line is considered as an exception because the order_line product_uom_qty is smaller than total_qty (the sum of the move_ids' product_uom_qty) But this is normal in the case of a kit opw-4848444 Forward-Port-Of: odoo/enterprise#89616 Forward-Port-Of: odoo/enterprise#88363
Restaurant bookings now show the number of guests entered during the reservation instead of incorrectly displaying zero or defaulting to table capacity. This helps staff see accurate party sizes and plan seating more reliably.
Original PR description
Currently when making an appointment for x amount of people, inside the restaurant it will show 0 as the number of people who booked. Steps to reproduce: ------------------- * Activate booking on the restaurant * Open the booking preview * Place a reservation for 5 people * In the restaurant and remove default filter > Observation: It shows 0p on the reservation Why the fix: ------------ By having a default value on the field is would not trigger the compute unless a change was made on `resource_ids` after the create was over. After fixing this bug we also aboserve that if we make a reservation for 1 person but all the tables in the restaurant are 4 person seatings, the reservation will show 4p. The reservation should in priority depend on the number entered while booking otherwise we can compute it regarding the resources. opw-4882681 Forward-Port-Of: odoo/enterprise#90277 Forward-Port-Of: odoo/enterprise#88777
Returned check approvals can now only be assigned to users in the Accounting Administrator or Bookkeeper groups. This prevents inappropriate users from being selected as approvers and improves control over accounting approval workflows.
Original PR description
Before this commit: - In the account_return_check any user can be set as approver, regardless of the group. After this commit: - Only Accounting Administrator and Bookkeeper groups can be set as approver on the check. task-4934329 Forward-Port-Of: odoo/enterprise#90159