Daily updates from Odoo
Monday, August 4, 2025
11 changes · master
Enhancements to existing features
The Studio Exporter now uses a more precise tooltip for the attachment option. This helps users better understand what the setting does before exporting customizations.
Original PR description
**Purpose:** The current tooltip of the attachment bool in Studio Exporter lacks precision. **Spec:** The attachment tooltip needs to be modified to provide more precise information. task-4939258
Revised analytical budgets now automatically include the current date in their name. This makes it easier to distinguish multiple budget revisions and improves traceability for budget tracking.
Original PR description
In this PR: - When an analytical budget is revised, append the current date to the revised budget's name in the format: `<original name> REV <YYYY-MM-DD>`. - This improves traceability and clarity when multiple revisions are created. task-4781780
Sales team members can now add notes when entering forecasted commission targets. This gives managers and colleagues more context behind the numbers, making forecast discussions clearer and more informed.
Original PR description
Before: * Sales team members could enter their forecasted targets, but had no way to explain the reasoning behind them. * There wasn’t any place to leave comments or context for the numbers they submitted. After: * A Notes field has been added to the commission list view. * Team members can now write additional details when entering their forecasted targets. Impact: * Makes it easier for team members to understand the thinking behind each forecast. task-4876539
Resolved issues and error corrections
This update keeps several Odoo Enterprise areas working reliably with Python 3.13 and Debian Trixie. It adjusts tests and message checks so routine upgrades of underlying software do not create false failures, helping maintain platform stability.
Original PR description
Forward-Port-Of: odoo/enterprise#91149 Forward-Port-Of: odoo/enterprise#90352
This update prevents an error when users manually enter a tracking reference for a Sendcloud delivery. Instead of showing a technical crash, Odoo now handles the missing Sendcloud parcel data gracefully and can display a proper user-facing error.
Original PR description
**Steps to reproduce:** 1. Install delivery_sendcloud. 2. Create a new shipping method (Inventory -> Configuration) - Provider: sendcloud - Put the public and secret key - Assign Delivery Product 3.…
**Steps to reproduce:** 1. Install delivery_sendcloud. 2. Create a new shipping method (Inventory -> Configuration) - Provider: sendcloud - Put the public and secret key - Assign Delivery Product 3. Create a sales order with a deliverable product 4. Confirm the sale order 5. Go to the delivery 6. Manually enter a random tracking reference. 7. Make sure carrier is set to the Sendcloud delivery method 8. Click on "tracking," or get back to the sales order (click "preview"). 9. A traceback occurs. **Issue:** `A TypeError: 'bool' object is not subscriptable` when accessing sendcloud_parcel_ref, which is expected to be a list or JSON but is instead a boolean. **Causes:** The code assumes the presence of valid Sendcloud parcel reference data, but manually entering a tracking reference bypasses the [_send_shipment](https://github.com/odoo/enterprise/blob/6ecf0af6b6874460d300ede6cc7c092927607810/delivery_sendcloud/models/sendcloud_service.py#L102) method that populates this field. As a result, sendcloud_parcel_ref can remain False. https://github.com/odoo/enterprise/blob/df924ef8adffb3e42419a44ecf22fec3059917c4/delivery_sendcloud/models/delivery_carrier.py#L196 **Solution:** Return None if there is no Sendcloud parcel reference, which will raise a UserError from the below line https://github.com/odoo/odoo/blob/17.0/addons/stock_delivery/models/stock_picking.py#L288 Co-Author By - alsh@odoo.com opw-4894677 Forward-Port-Of: odoo/enterprise#89444
This update corrects missing module dependencies so related live chat and WhatsApp stock features install and reinstall reliably. It helps prevent nightly validation failures and reduces the risk of deployment issues caused by modules loading in the wrong order.
Original PR description
- `ai_website_livechat` hooks on an element added by `ai_website` but does not depend on that module, breaking uninstall/reinstall nightly (https://runbot.odoo.com/runbot/build/86142380) - `whatsapp_stock` hooks on an element added by `stock_enterprise, but does not depend on that module, breaking uninstall/reinstall nightly (https://runbot.odoo.com/runbot/build/86142941)
Installing Payroll on a new Australian database no longer crashes when pay schedule information is missing. The system now safely uses a monthly default so payroll setup can complete reliably.
Original PR description
When installing the payroll app with a new db initialized in Australia, we would get a traceback because the schedule pay is False at some point. This was due to the compute of schedule pay which did not handle the case where the structure type is not set. This fixes the issue by checking if the structure type is set to set the schedule pay and adding a default value to monthly. Ticket: 4974520 Forward-Port-Of: odoo/enterprise#91255
Updated automated tests so they create and manage records only with the permissions they are supposed to have. This improves confidence that business workflows in payroll, accounting, field service, and payments respect access controls and remain reliable.
Original PR description
Tests need to configure their ACLs properly.
The Preparation Display no longer shows a blank screen when using demo data. The fix handles missing customer notes safely so restaurant staff can open and review preparation orders without interruption.
Original PR description
Steps: - Initialize a database with demo data - Open the demo Preparation Display - Blank screen appears due to an error cause: - Preparation lines have false as the customer note value in the demo data. Fix: - Added a fallback to an empty string when the customer note is defined. Task: 4988252
Live chat AI setup now uses a simpler prompt format that works beyond a single AI provider. This helps keep AI live chat compatible with future provider options and avoids format-related issues.
Original PR description
Previously, preprompts were added as objects of the form {'rule': ..., 'content': ...}. However, this format is specific to OpenAI API. The task 4915266, [PR](https://github.com/odoo/enterprise/pull/90124) has changed the format from an object to a string to be extensible and to support providers other than OpenAI.
Thus, this commit adapts the preprompt of livechat channels to the new format.Corrected a small formatting issue in the Sign app's date filter so it displays with the proper spacing. This makes the filter text clearer for users working with signature requests.