Daily updates from Odoo
Saturday, July 11, 2026
8 changes · saas-19.3
New functionality added to Odoo
This update allows users to immediately fetch invoices from the Polish KSeF platform directly from within Odoo. Previously, invoices were only retrieved through a scheduled process. This new 'Fetch e-Invoices' action provides greater control and flexibility for users needing to sync their documents promptly.
Original PR description
Previously, bills could only be retrieved from the KSeF platform via a scheduled cron job, leaving users with no option to manually sync documents on demand. An "Import from KSeF" action has been added to the gear (cog) menu within both the list and Kanban views. Clicking this option triggers the synchronization process immediately and reloads the active view. Task [link](https://www.odoo.com/odoo/project.task/6306892) task-6306892 Forward-Port-Of: odoo/odoo#274798 Forward-Port-Of: odoo/odoo#271459
Enhancements to existing features
The Time Off planning Gantt view now uses paging and opens at an overview scale by default. This should make larger schedules easier to browse and improve performance when viewing many records.
Original PR description
Add paging and default scale as the overview gantt task-6381315 Forward-Port-Of: odoo/enterprise#123936
Resolved issues and error corrections
The timesheet billable checkbox is now hidden when a project or task has no linked sales order, so users no longer see an option that does nothing. This reduces confusion and makes the timesheet billing interface reflect only actions that can actually affect invoicing.
Original PR description
Previously, the `is_billable` checkbox was visible in the timesheet systray even when no Sales Order was linked to the project or task. Toggling the checkbox in this state had no actual effect on billing, leading to user confusion. This commit introduces a non-stored computed field `has_available_so` on `account.analytic.line`. This field evaluates whether billing is possible based on the project and task configuration, and is used to conditionally hide the checkbox in the UI. task: 6328661 Forward-Port-Of: odoo/enterprise#122326
The Tasks Gantt view now correctly shows unavailable time slots when a user has employees in multiple selected companies. This keeps time-off warnings and greyed-out scheduling cells consistent, helping planners avoid assigning work during approved absences.
Original PR description
Steps to reproduce: - Create one user linked to two companies. - Create one employee per company for that user. - Select one company and approve a time off for the employee. - Open Tasks > Gantt and…
Steps to reproduce: - Create one user linked to two companies. - Create one employee per company for that user. - Select one company and approve a time off for the employee. - Open Tasks > Gantt and create a task during the approved time-off period the warning is shown and the Gantt cell is grayed out. - Select both companies and create a task during the same time-off period in Tasks > Gantt. Issue: When multiple companies are selected, the time-off warning is still displayed but the corresponding Gantt cells are no longer grayed out, leading to an inconsistency between the warning logic and the Gantt rendering. Cause: In multi-company setups, a user can be linked to multiple resources. The Gantt unavailability logic assumed a one-to-one relationship between user and resource causing unavailability intervals from some resources to be overwritten. Solution: Aggregate unavailability intervals from all resources linked to the same user, limited to the selected companies, and merge them with the company calendar unavailability to ensure consistent Gantt gray rendering. Related PR: https://github.com/odoo/enterprise/pull/57028 task-5089385 Forward-Port-Of: odoo/enterprise#123732 Forward-Port-Of: odoo/enterprise#105288
This update fixes an issue where the 'Commercial Invoice' report was incorrectly available to all companies, leading to confusion and duplicate options. Now, the report is restricted to invoices generated for Thai companies with a Sales journal type, ensuring accurate reporting and a cleaner user experience. This improves data consistency and simplifies the reporting process.
Original PR description
The "Commercial Invoice" report action had no domain, so it appeared as a print option for account.move records of any company, not just Thai ones. This caused duplicate-looking invoice print options when another localization was installed alongside l10n_th. Restrict the report's visibility to invoices whose company's fiscal country is Thailand and journal type is Sales. task-6372205 Forward-Port-Of: odoo/odoo#275213
This update resolves an issue with our Odoo installation related to a Python library dependency. Specifically, we've updated the library to the latest version (2.2) to ensure compatibility with Ubuntu Resolute and address a previous timeout problem. The change removes an outdated workaround, streamlining our system.
Original PR description
In python-stdnum 2.0+, the upstream issue regarding the zeep Transport class timeout handling has been resolved arthurdejong/python-stdnum@6cbb9bc09c25fbda7a032521bc57b44e0ce18ec4), and the method signature for `get_soap_client` was updated to include the `verify` parameter. Applying our legacy monkey patch on python-stdnum >= 2.0 causes signature mismatch issues and is no longer necessary. This commit: - Restricts the `get_soap_client` monkey patch to run only for `python-stdnum < 2.0`. - Updates `requirements.txt` to use python-stdnum 2.2 for Python 3.14+ to ensure compatibility with Ubuntu Resolute. Forward-Port-Of: odoo/odoo#275506 Forward-Port-Of: odoo/odoo#275046
This update resolves an issue where sending IT invoices again after initial email delivery caused an error in version 19.0. The fix ensures that users are guided to delete the PDF attachment before attempting to send to the tax agency, restoring the previous behavior and preventing the error.
Original PR description
**Steps to reproduce:** - Install the `l10n_it_edi` module and switch to an IT Company. - Create and confirm an invoice for a non-Italian customer. - Send the invoice, making sure that only `by…
**Steps to reproduce:** - Install the `l10n_it_edi` module and switch to an IT Company. - Create and confirm an invoice for a non-Italian customer. - Send the invoice, making sure that only `by Email` is enabled. - Attempt to send the invoice again. **Issue:** - In `18.0`, the XML file is not generated when re-sending an invoice that was previously sent only by email. - Starting from `19.0`, attempting to `Send to Tax Agency` raises an error: `UnboundLocalError: cannot access local variable 'attachment_name' where it is not associated with a value` **Root cause:** At [1], `_get_alerts` method does not check whether the invoice was previously sent only by email. As a result, the warning banner is not displayed, and allows the user to `Send to Tax Agency`. **Fix:** Restore the expected behavior by preventing `Send to Tax Agency` when the invoice was previously sent only by email. Instead, display the appropriate warning message instructing the user to delete the PDF attachment before sending to the Tax Agency, matching the behavior in `17.0` (confirmed with PO). [1]: https://github.com/odoo/odoo/blob/c0d8d36481e106f0209521bbb127cb3b1ad1059a/addons/l10n_it_edi/models/account_move_send.py#L27-L33 opw-6293519 Forward-Port-Of: odoo/odoo#275600 Forward-Port-Of: odoo/odoo#269547
This update resolves an issue where combo lines weren't being imported correctly, leading to inaccurate calculations. The fix allows users to specify combo items during import, ensuring accurate totals and proper handling of combo products within sales orders.
Original PR description
Issue: --- Importing combo lines from file is not working correctly. Combo amounts are not correctly calculated. Cause: --- Currently we cannot set `combo_item_id` field in import file, as filling it will cause import fail on `ensure_one()` being called on `lined_lines` while no line is still created. Fix: --- The proposition here is to pop the `combo_item_id` in import while creating SOLs and then writing these fields values after records are created. This will allow users to set `combo_item_id` in order to be able to import combo lines. opw-6355560 Forward-Port-Of: odoo/odoo#275069