Daily updates from Odoo
Tuesday, October 7, 2025
9 changes · master
Resolved issues and error corrections
A test for the Chilean electronic invoicing module now skips cleanly when optional demo data is not installed. This prevents false test failures in environments that run without demo data, improving reliability without changing customer-facing behavior.
Original PR description
The test `test_demo_certificate_serial_number` failed when running without demo data, since the XMLID `l10n_cl_edi.l10n_cl_demo_certificate` is only present in demo mode. This commit updates the test to use `raise_if_not_found=False` and skip gracefully when the demo certificate is not available. The assertion now only runs if the certificate exists, ensuring the test passes consistently both with and without demo data. [RB-231573](https://runbot.odoo.com/odoo/error/231573) Forward-Port-Of: odoo/enterprise#95917
The message shown when no bank transactions are found now displays correctly instead of showing raw formatting codes. This improves clarity for users when fetching transactions or changing filters produces no results.
Original PR description
Before this commit : - The help message shown when no transactions were fetched by the 'Fetch Transactions' button in the 'Bank' journal contained raw html tags, as markup was not getting applied. - Also, removing a filter (without reloading) and applying another filter that resulted in no matches, the same issue occurred. After this commit: - The help message is now consistently rendered with markup applied. task-4942234 Forward-Port-Of: odoo/enterprise#95514
Employees with flexible working schedules will no longer see Saturdays and Sundays incorrectly marked as unavailable in the timesheet grid. This keeps the timesheet view aligned with flexible work arrangements, where employees may work on any day.
Original PR description
To reproduce: ============= 1- Update employee worktime to be flexible 2- Go to timesheets -> saturday & sunday are marked grey Problem: ======== Can't apply https://github.com/odoo/odoo/blob/ce2d134d3e8e5c0d96529c1d0490f1e0c5e28294/addons/resource/models/resource_calendar.py#L511 This logic cannot be applied when an employee's work time is flexible, since they can work whenever they want. Fix: ==== When employee work time is flexible we just return empty list for the unavailable dates. opw-5031144 Forward-Port-Of: odoo/enterprise#96181 Forward-Port-Of: odoo/enterprise#94346
The Belgian EC sales report now correctly handles VAT numbers entered without the Belgian country prefix. This prevents valid VAT numbers from being shortened incorrectly and helps keep Belgian tax reporting accurate.
Original PR description
It could happen that the user set his vat number without the country code before the number. In this case, we removed the two first digits of the vat number. Also changing other occurrence using the company_vat to get the country, since we are in the belgian ec sale list, the country_code should be 'BE' everytime task-5039969 Forward-Port-Of: odoo/enterprise#93377
Users can now open the AI assistant from the Physical Inventory list and send messages without hitting an error. The fix handles pages that do not have a linked action, improving reliability for Inventory users.
Original PR description
Currently an error is generated when a user tries to send a message to AI while the current page is in `Physical Inventory`list view. Steps: - Install `Inventory` - Go to Inventory > Operations >…
Currently an error is generated when a user tries to send a message to AI while the current page is in `Physical Inventory`list view. Steps: - Install `Inventory` - Go to Inventory > Operations > Physical Inventory - Click the AI icon from the systray menu. - Ask anything in AI >>> error generated Error: ```UnboundLocalError:cannot access local variable 'current_action' where it is not associated with a value``` This issue arises because in line [1] of the code, the variable `current_action` is assigned a value inside an `if-elif` block based on `action.type`. However, since the `Physical Inventory` page does not have any associated action, the variable `current_action is` never set. Consequently, attempting to access this variable results in an error. This commit fixes the above issue by initializing the `current_action` variable as `None` outside the `if-elif` block and adding handling for cases when `current_action` is `None`. [1] - https://github.com/odoo/enterprise/blob/2ea15cc9c7c5f114b3786b256c64e269b3e3a313/ai/models/ai_agent.py#L750-L755 sentry-6913801088 Forward-Port-Of: odoo/enterprise#96253
This update adds test coverage for an issue where editing a Sales dashboard list and choosing the Medium field matching could trigger an error. It helps ensure spreadsheet dashboard filters behave reliably and avoids a disruptive traceback for users.
Original PR description
Steps to reproduce: 1. Open the Sales dashboard 2. Edit the first list 3. Try to set the "Medium" field matching => Traceback This commit contains only the test as the fix is in the community PR. Task: 5101093 Forward-Port-Of: odoo/enterprise#95990
Documents can now create server actions for journal entries in journals marked as Credit Card. This removes a blocker for teams that manage credit card statements through Documents and need the same automation available for other journal types.
Original PR description
We are unable to create an action to create a credit card statement on a journal with type credit card Allow to create a Server Action to create Journal Entries in journals of type "Credit Card" in Documents. task-5123868 Forward-Port-Of: odoo/enterprise#95905
This update removes an unused Lithuanian payroll input type and adds safeguards to prevent duplicate payroll input selection keys. It helps keep payroll configuration cleaner and reduces the chance of inconsistent salary rule setup.
Opening a spreadsheet-based quality step in the shop floor workflow now works without displaying a traceback. This removes a distracting error for manufacturing operators while keeping the spreadsheet step behavior unchanged.
Original PR description
To reproduce: - Make a new BOM for new product P, with 1 operation on assembly line 1 - Add a spreadsheet step to the operation - Make a MO for 1x P - Open shop floor, assembly line 1, click on the spreadsheet step Current behaviour: - The spreadsheet step opens correctly, but we get a traceback Expected behaviour: - The spreadsheet step opens correctly, no traceback task-4965313 Forward-Port-Of: odoo/enterprise#94657 Forward-Port-Of: odoo/enterprise#91505