Monday, July 27, 2026
5 changes · 19.0
Enhancements to existing features
Users who try to create an expense card before Stripe is connected are now directed to the settings page to complete the connection. This makes setup clearer and helps users resolve the issue without needing technical support.
Original PR description
When a user tries to create a card but the configuration is not connected, redirect the user towards the settings to do the connection. task-6272805
Resolved issues and error corrections
The AI tool descriptions were cleaned up to remove misleading labels that could cause agents to request a tool that does not exist. This reduces avoidable AI workflow failures and helps automated actions run more reliably.
Original PR description
Purpose: -------- Agents occasionally fail by trying to call a `search` tool that does not exist. This seems to come from the `Tool Name: search` header in the tool description, which can be confused with the actual tool name used by the LLM, i.e. the tool xmlid. This commit removes these headers from the search and read group tool descriptions. They were missed in [this commit](https://github.com/odoo/enterprise/commit/912bce43a98d45e90dbd24328fa2f46caba4c887 ), which removed the same headers from the other tools. Task-6401285
The French accounting report tests were updated to match the latest fallback behavior for FEC export labels. This helps ensure the export validation remains reliable after the related core accounting change, with no expected change for day-to-day users.
Original PR description
Adjust the FEC export test expectations to match the updated `EcritureLib` fallback logic introduced in the related community change. Related: https://github.com/odoo/odoo/pull/257242 task-5346068
The rental order form now displays the duration and pricing update button correctly when translated button labels are longer. This prevents overlapping text, making rental durations easier to read across languages and screen sizes.
Original PR description
**Steps to reproduce:** 1. Set the UI language to Spanish (or any language with a long "Update Rental Prices" translation) 2. Create a rental order with a rental period that has both days and hours…
**Steps to reproduce:** 1. Set the UI language to Spanish (or any language with a long "Update Rental Prices" translation) 2. Create a rental order with a rental period that has both days and hours (e.g. July 15 10:00 → July 25 14:00 = 10 days 4 hours) 3. Observe the "Duration" field in the form after zooming (depends on screen resolution) **Issue:** The duration row displays overlapping text **Why this happens:** The "Update Rental Prices" button and the duration text share the same o_row flex container. In translated UIs the button text can be significantly wider than in English, pushing the total row width past the form value-cell boundary. When the row overflows, only spans and the button shrink, the integer field widgets do not. The threshold at which this triggers is zoom dependent based on screen resolution. **Fix:** Add `.flex-wrap` utility class to the duration `o_row` so the button wraps to the next line when space is insufficient, keeping the duration text intact on a single line. opw-6389526
This fix prevents Swiss payroll processing from failing when a related payroll rule has been archived. It helps payroll teams continue monthly value handling without unexpected interruptions caused by inactive rules.
Original PR description
Forward-Port-Of: odoo/enterprise#103677