Daily updates from Odoo
Saturday, October 18, 2025
10 changes · master
Enhancements to existing features
The IoT client no longer waits for each message to the IoT Box to finish sending before continuing. This reduces delays in related workflows and helps keep the user interface more responsive when communicating with connected devices.
Original PR description
In order to avoid blocking code execution when sending websocket messages to the IoT Box from the client, we stopped waiting for the `send_message` call to complete. Forward-Port-Of: odoo/enterprise#97431 Forward-Port-Of: odoo/enterprise#97267
This update aligns tax rounding behavior with recent changes for Mexican electronic invoicing and related tax calculations. It helps produce more accurate compliant invoice totals and reduces rounding discrepancies in localized accounting flows.
Original PR description
Forward-Port-Of: odoo/enterprise#97443 Forward-Port-Of: odoo/enterprise#96809
Belgian CODA bank statement imports now include more useful payment references for POS and SEPA transactions. This helps Odoo match payments to open items more reliably, reducing manual reconciliation work for accounting teams.
Original PR description
When importing a coda file, we deduce the payment ref depending on what is put in the coda. In the case of pos and sepa, we could add the reference in the payment ref to ease the process of auto reconcile. task-5065438 Forward-Port-Of: odoo/enterprise#94093
Resolved issues and error corrections
Project calendar views now apply the right filtering when finding tasks that can be planned. This helps ensure users see the appropriate tasks in scheduling workflows and avoids confusion from irrelevant task results.
Original PR description
This commit overrides a hook created in related Community PR to add a condition in the domain to fetch tasks to plan inside for task calendar views. Forward-Port-Of: odoo/enterprise#97343
This fix ensures customers and staff see the correct overweight package message when no Sendcloud shipping method can handle a package. It prevents a system error from appearing and helps users understand that the package weight is the issue.
Original PR description
When a package exceeds the maximum weight supported by all shipping methods, the system raised an error (`KeyError: 'name'`) because the `stock.move` field was removed in commit #211488. This fix replaces the deprecated `stock.move.name` reference with the product name to correctly display the overweight message. opw-5137167 Forward-Port-Of: odoo/enterprise#96744
The automated payroll test for Belgian employee job changes has been updated to follow the current offer process. This keeps the test aligned with the user interface, including contract template selection and internet subscription setup, reducing false test failures.
Original PR description
- changed the step of generate offer to work with the offers smart button instead of old Generate offer button and added `autoExpandMoreButtons` to handle if it's in the popover - added a step to choose contract template to make the values of the offer auto fill from it - added a step to set internet subscription to show the internet invoice upload button afterwards (the upload is hidden if the value is not set) task-id: 5155927 Forward-Port-Of: odoo/enterprise#96730
Fixed an issue in Odoo Sign where dragging a non-PDF file into an empty document view could show the same warning twice. Users now receive one clear warning, reducing confusion while preserving the existing upload behavior.
Original PR description
Issue: - When no documents exist and a user drags/drops a non-PDF file, the warning pop-up appears twice instead of once. - This happened when there were no documents in the view (when actionhelper is visible). Root Cause: - The `useSignViewButtons` hook was used in both the main view (List/Kanban) and the SignActionHelper component. - When a file was dropped, both components received the bus event and attempted to upload the file independently. - This caused duplicate processing and duplicate warning popups. Solution: - Added condition on bus call to distinguish between components. - Modified the bus event handler to skip processing in SignActionHelper components. - This ensures only the main view component handles file uploads from drag-and-drop. Impact: - Users now see the warning pop-up only once when uploading invalid files - Maintains all existing functionality while fixing the duplicate behavior task-5103284 Forward-Port-Of: odoo/enterprise#95512
Users viewing a fully signed document in the portal will no longer see the Thank You dialog every time. This keeps the portal viewing experience cleaner after signing is complete.
Original PR description
Version: - 19.0 Steps for reproduce: - Install the Sign module - Upload a PDF and sign it - Open the fully signed document in the portal view - The Thank You dialog always appears Issue: - The Thank You dialog shows every time in the portal view. Solution: - Hide the dialog in the portal view when document is fully signed. impact: - Users can view signed documents in the portal without the Thank You dialog showing. task-5088937 Forward-Port-Of: odoo/enterprise#94726
This fix prevents failed Chilean electronic invoice attachments from leaving the automated email import process in a broken database state. It helps the scheduled fetch continue handling recoverable import issues more reliably, reducing interruptions for invoice processing.
Original PR description
During l10n_cl_edi's fetchmail cron, if the decoding of a DTE attachment fails, `_create_records_from_attachments` rolls back the transaction, which prevents the savepoint in `_fetch_mail` from being…
During l10n_cl_edi's fetchmail cron, if the decoding of a DTE attachment fails, `_create_records_from_attachments` rolls back the transaction, which prevents the savepoint in `_fetch_mail` from being restored. Doing a commit/rollback within a `cr.savepoint()` is not correct. Since a new transaction is started, the savepoint no longer exists. Failing to restore the savepoint leaves the transaction in a broken state. Thus, we need to remove either the savepoint or the commit + rollback performed by `_create_records_from_attachments`. See https://github.com/odoo/odoo/issues/230014 We can remove the savepoint because `_extend_by_attachments` already catches exceptions which typically represent decoding errors (such as ValidationError, UserError, ValueError, psycopg2.errors.IntegrityError). These errors are recoverable from a transaction point of view; the import fraw recover from them by leaving an empty invoice with the attachment. Other errors are typically not recoverable and it does not makes sense to attempt to recover from them using a `cr.savepoint()`. opw-5147385 Forward-Port-Of: odoo/enterprise#97158
Code cleanup and technical improvements
This update removes outdated styling labels from the Documents app views. It keeps the codebase cleaner and more consistent without changing how users work with documents.
Original PR description
This commit is the counter part of the last commit in odoo/odoo#232125 where we remove unused classnames. One of them was only used once, in documents, instead of the regular `o_renderer`.