Daily updates from Odoo
Saturday, October 25, 2025
23 changes
6 changes
Resolved issues and error corrections
The Barcode app now rounds decimal quantities shown on the fulfill button, preventing confusing extra digits from appearing during receipt processing. This makes scanned quantities easier for warehouse users to read and reduces visual errors without changing underlying inventory calculations.
Original PR description
**Issue** In the Barcode application, floating-point values may display excessive decimals. **Steps to reproduce** - Open the Inventory app. - Create a receipt with a decimal quantity (e.g. 10.54)…
**Issue** In the Barcode application, floating-point values may display excessive decimals. **Steps to reproduce** - Open the Inventory app. - Create a receipt with a decimal quantity (e.g. 10.54) and mark it as To Do. - Open the Barcode app, open the corresponding receipt, and click the Edit button. - Increment the number of scans several times until you notice too many decimal digits (if you choose 10.54, you can test with 3). **Cause** A floating-point precision error occurs in the getter [`quantityToFulfill`](https://github.com/odoo/enterprise/blob/4b08734124c3bc84f7d95d170b39e9909e20d66b/stock_barcode/static/src/widgets/digipad.js#L55C9-L55C50), which is rendered directly [in XML templates](https://github.com/odoo/enterprise/blob/e8063141b33a9a8aa51d1ce94a66af313b2c1c89/stock_barcode/static/src/widgets/digipad.xml#L20C25-L21C89) without rounding. **Solution** Round the displayed value in the `quantityToFulfill` getter in the same manner than in [barcode_model](https://github.com/odoo/enterprise/blob/d4e5b69c7ea87fba3f2a5204ed6939b97879e4a8/stock_barcode/static/src/models/barcode_model.js#L99-L103). opw-5039796 Forward-Port-Of: odoo/enterprise#97475
Spreadsheets without a custom thumbnail now show a spreadsheet-specific image instead of a generic placeholder. This makes documents easier to recognize and improves the browsing experience for users working with spreadsheets.
Original PR description
## Description Before this fix, when a spreadsheet had no thumbnail, the system displayed the generic web placeholder image (`web/static/img/placeholder.png`). This PR updates the logic to display a more relevant default image specific to spreadsheets (`/spreadsheet/static/img/spreadsheet.svg`) when no thumbnail is available. Task: [4963284](https://www.odoo.com/odoo/project/2328/tasks/4963284) Forward-Port-Of: odoo/enterprise#96962
This fixes a problem in the Spanish Facturae electronic invoicing signature template that could cause generated invoices to fail validation. It removes an incorrect placeholder from the signature data so affected Spanish e-invoices can be accepted by the required validation process.
Original PR description
Commit 051b7bcdd12d669e203296515e57ca8bfdac45e8 introduced an ___ignore___ in the DigestValue tag of signature_templates.xml which does not pass the facturae validation opw-5111038 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#233028
This fix ensures automation rules and filters can find matching text even when it appears after a line break. It prevents rules based on text fields, such as task descriptions, from being missed because the content contains formatted blocks or newlines.
Original PR description
Problem: When the ilike comparator is applied in filtered_domain, it is unable to match text beyond a newline character (\n). This is due to the regex being used not having the DOTALL flag. Purpose: Add the DOTALL flag to the re.compile arguments when defining like_regex. Steps to Reproduce on Runbot: 1. Create an Automation Rule on the Task model with an Apply On condition of Description contains "test". 2. Create a Task and add an Info Banner element, then either within the element or afterwards include the "test" text, then save. 3. The automation rule does not trigger. opw-5134374 Forward-Port-Of: odoo/odoo#232632 Forward-Port-Of: odoo/odoo#232434
Self-ordering now handles multiple phones using the same table QR code according to the restaurant's payment setup. This prevents customers in “pay after each” mode from seeing or changing each other's orders, while still allowing shared table orders in “pay after meal” mode.
Original PR description
Before this commit orders were always shared between multiple devices using the same QR code. This could lead to issues when multiple customers were using self-ordering at the same table, as they could see and modify each other's orders. When multiple devices are used for self-ordering with the same QR code, there is now two mode possible: - Pay after each: orders are not shared, and the table isn't linked to the order when synchronizing. Instead the table number is in the floating order name. - Pay after meal: orders are shared, and the table is linked to the order when synchronizing. That's means that multiple devices can add products to the same order. taskId: 5187089 Forward-Port-Of: odoo/odoo#232659
Portal users who can view a field service task will no longer hit an access error when opening it without access to the related project. The quotation button is now shown only when appropriate, improving the customer portal experience while preserving project access rules.
Original PR description
Before this commit, the portal user who has access to a fsm task and not the project related could get an access error when he tries to access to the form view of that task inside his portal. The reason is because a check is made to know if the user has access to project sharing to display the quotations button in the portal form view of the task. This commit makes sure the project is in the parameter of the method in which we did that check to make sure the user comes from a project instead of `/my/tasks` route. Forward-Port-Of: odoo/enterprise#98023
4 changes
Resolved issues and error corrections
This fixes an issue where automated rules and filters using “contains” could miss matching text if it appeared after a line break. Users can now rely on these searches to find text in multi-line fields such as task descriptions, improving rule accuracy.
Original PR description
Problem: When the ilike comparator is applied in filtered_domain, it is unable to match text beyond a newline character (\n). This is due to the regex being used not having the DOTALL flag. Purpose: Add the DOTALL flag to the re.compile arguments when defining like_regex. Steps to Reproduce on Runbot: 1. Create an Automation Rule on the Task model with an Apply On condition of Description contains "test". 2. Create a Task and add an Info Banner element, then either within the element or afterwards include the "test" text, then save. 3. The automation rule does not trigger. opw-5134374 Forward-Port-Of: odoo/odoo#232632 Forward-Port-Of: odoo/odoo#232434
Spreadsheets without a saved preview now show a spreadsheet-specific default image instead of a generic placeholder. This makes document lists clearer and helps users identify spreadsheet files more easily.
Original PR description
## Description Before this fix, when a spreadsheet had no thumbnail, the system displayed the generic web placeholder image (`web/static/img/placeholder.png`). This PR updates the logic to display a more relevant default image specific to spreadsheets (`/spreadsheet/static/img/spreadsheet.svg`) when no thumbnail is available. Task: [4963284](https://www.odoo.com/odoo/project/2328/tasks/4963284) Forward-Port-Of: odoo/enterprise#96962
This fixes an issue that could cause Spanish Facturae electronic invoices to fail official validation because of an incorrect placeholder in the digital signature template. After the change, affected invoices should validate correctly for Spanish electronic invoicing requirements.
Original PR description
Commit 051b7bcdd12d669e203296515e57ca8bfdac45e8 introduced an ___ignore___ in the DigestValue tag of signature_templates.xml which does not pass the facturae validation opw-5111038 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#233028
Portal users who can view a field service task will no longer hit an access error when opening it without access to the related project. The quotation button is now shown only when appropriate, preserving access rules while improving the customer portal experience.
Original PR description
Before this commit, the portal user who has access to a fsm task and not the project related could get an access error when he tries to access to the form view of that task inside his portal. The reason is because a check is made to know if the user has access to project sharing to display the quotations button in the portal form view of the task. This commit makes sure the project is in the parameter of the method in which we did that check to make sure the user comes from a project instead of `/my/tasks` route. Forward-Port-Of: odoo/enterprise#98023
3 changes
Resolved issues and error corrections
This change updates internal Room app tests so they correctly wait for scheduled actions before checking results. It helps keep automated testing stable after a related platform change, with no direct impact on end users.
Original PR description
This commit follows a concomitant change in the community branch where `runAllTimers` is not run implicitly by `waitNotifications` anymore, resulting in a few tests to fail. This commit re-introduces these `runAllTimers` calls locally to fix these failures. backports: https://github.com/odoo/enterprise/pull/82734 community: https://github.com/odoo/odoo/pull/232939
Spreadsheets without a saved thumbnail now show a spreadsheet-specific default image instead of a generic placeholder. This makes document lists clearer and helps users identify spreadsheet files more easily.
Original PR description
## Description Before this fix, when a spreadsheet had no thumbnail, the system displayed the generic web placeholder image (`web/static/img/placeholder.png`). This PR updates the logic to display a more relevant default image specific to spreadsheets (`/spreadsheet/static/img/spreadsheet.svg`) when no thumbnail is available. Task: [4963284](https://www.odoo.com/odoo/project/2328/tasks/4963284) Forward-Port-Of: odoo/enterprise#96962
Portal users who can view a field service task will no longer hit an access error when opening the task from their portal, even if they cannot access the related project. The quotations button is now shown only when it is safe and appropriate, improving the customer portal experience.
Original PR description
Before this commit, the portal user who has access to a fsm task and not the project related could get an access error when he tries to access to the form view of that task inside his portal. The reason is because a check is made to know if the user has access to project sharing to display the quotations button in the portal form view of the task. This commit makes sure the project is in the parameter of the method in which we did that check to make sure the user comes from a project instead of `/my/tasks` route. Forward-Port-Of: odoo/enterprise#98023
2 changes
Resolved issues and error corrections
When a spreadsheet has no custom thumbnail, it now shows a spreadsheet-specific image instead of a generic placeholder. This makes document lists easier to understand at a glance and gives users a clearer visual cue for spreadsheet files.
Original PR description
## Description Before this fix, when a spreadsheet had no thumbnail, the system displayed the generic web placeholder image (`web/static/img/placeholder.png`). This PR updates the logic to display a more relevant default image specific to spreadsheets (`/spreadsheet/static/img/spreadsheet.svg`) when no thumbnail is available. Task: [4963284](https://www.odoo.com/odoo/project/2328/tasks/4963284) Forward-Port-Of: odoo/enterprise#96962
The Barcode app now rounds decimal quantities shown on the fulfill button, preventing confusing extra digits from appearing during receipt processing. This makes scanned quantities easier to read and helps warehouse users avoid uncertainty when working with decimal amounts.
Original PR description
**Issue** In the Barcode application, floating-point values may display excessive decimals. **Steps to reproduce** - Open the Inventory app. - Create a receipt with a decimal quantity (e.g. 10.54)…
**Issue** In the Barcode application, floating-point values may display excessive decimals. **Steps to reproduce** - Open the Inventory app. - Create a receipt with a decimal quantity (e.g. 10.54) and mark it as To Do. - Open the Barcode app, open the corresponding receipt, and click the Edit button. - Increment the number of scans several times until you notice too many decimal digits (if you choose 10.54, you can test with 3). **Cause** A floating-point precision error occurs in the getter [`quantityToFulfill`](https://github.com/odoo/enterprise/blob/4b08734124c3bc84f7d95d170b39e9909e20d66b/stock_barcode/static/src/widgets/digipad.js#L55C9-L55C50), which is rendered directly [in XML templates](https://github.com/odoo/enterprise/blob/e8063141b33a9a8aa51d1ce94a66af313b2c1c89/stock_barcode/static/src/widgets/digipad.xml#L20C25-L21C89) without rounding. **Solution** Round the displayed value in the `quantityToFulfill` getter in the same manner than in [barcode_model](https://github.com/odoo/enterprise/blob/d4e5b69c7ea87fba3f2a5204ed6939b97879e4a8/stock_barcode/static/src/models/barcode_model.js#L99-L103). opw-5039796 Forward-Port-Of: odoo/enterprise#97475
6 changes
Resolved issues and error corrections
Swedish Bankgiro and Plusgiro accounts are now handled correctly when generating SEPA payment files and Peppol BIS 3 invoices. This prevents missing bank clearing information and ensures required invoice payment details are included for Swedish payments.
Original PR description
… number Bankgiro and Plusgiro accounts in Sweden normally do not have a BIC. However, for Peppol BIS 3 invoices, a BIC tag is required in the XML. The existing _skip_CdtrAgt logic prevents…
… number Bankgiro and Plusgiro accounts in Sweden normally do not have a BIC. However, for Peppol BIS 3 invoices, a BIC tag is required in the XML. The existing _skip_CdtrAgt logic prevents _get_CdtrAgt from being called when no BIC is set, causing the clearing_number to be missing in SEPA payment files for Bankgiro and Plusgiro accounts. This commit introduces overrides for SE-specific account types: _get_cleaned_bic_code: Returns 'SE:Bankgiro' or 'SE:Plusgiro' for Swedish Bankgiro and Plusgiro accounts, ensuring a BIC is present for the invoice XML. _skip_CdtrAgt: Returns False for Bankgiro and Plusgiro accounts to ensure _get_CdtrAgt is called, including the clearing number in the payment file. This guarantees that SEPA payment files and Peppol BIS 3 invoices for Sweden are generated correctly while preserving standard behavior for other banks and countries. Backport of https://github.com/odoo/enterprise/commit/0534491bcd7eed7d246bea85d6ac217a80af815b Forward-Port-Of: odoo/enterprise#97330
This fix helps payment terminals connected through IoT Boxes keep working after a database update, even if the IoT Box has not been restarted yet. It reduces disruption for businesses by avoiding an extra manual restart step to load updated terminal drivers.
Original PR description
We previously backported the `iot_http` service to saas-18.4 in odoo/odoo#232282. This fw port included changes to the payment terminals drivers. For them to work correctly with the update of the database, IoT Boxes would have required a restart, in order to get the new drivers version. To avoid clients to do this, we ensure the service is able to understand the old version. Forward-Port-Of: odoo/enterprise#98093
Spreadsheets without a custom thumbnail now show a spreadsheet-specific default image instead of a generic placeholder. This makes document lists clearer and helps users identify spreadsheet files more easily.
Original PR description
## Description Before this fix, when a spreadsheet had no thumbnail, the system displayed the generic web placeholder image (`web/static/img/placeholder.png`). This PR updates the logic to display a more relevant default image specific to spreadsheets (`/spreadsheet/static/img/spreadsheet.svg`) when no thumbnail is available. Task: [4963284](https://www.odoo.com/odoo/project/2328/tasks/4963284) Forward-Port-Of: odoo/enterprise#96962
Saudi electronic invoices now handle missing tax information without causing the invoice generation process to fail. This reduces disruption for businesses issuing compliant invoices in Saudi Arabia.
Original PR description
Before this commit, if the tax_data was missing, it would raise a traceback during the electronic invoice generation. opw-5193614 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232978
This fixes a problem in the Spanish Facturae e-invoicing signature template that could cause generated invoices to fail official validation. It helps ensure Spanish electronic invoices are accepted by validation systems without manual correction.
Original PR description
Commit 051b7bcdd12d669e203296515e57ca8bfdac45e8 introduced an ___ignore___ in the DigestValue tag of signature_templates.xml which does not pass the facturae validation opw-5111038 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#233028
Portal users who can view a field service task will no longer hit an access error when opening it without access to the related project. The quotation button logic now avoids unnecessary project access checks and still shows relevant quotation access when appropriate.
Original PR description
Before this commit, the portal user who has access to a fsm task and not the project related could get an access error when he tries to access to the form view of that task inside his portal. The reason is because a check is made to know if the user has access to project sharing to display the quotations button in the portal form view of the task. This commit makes sure the project is in the parameter of the method in which we did that check to make sure the user comes from a project instead of `/my/tasks` route. Forward-Port-Of: odoo/enterprise#98023
2 changes
Resolved issues and error corrections
Portal users can now open field service task forms they are allowed to see without being blocked by missing access to the related project. The quotations button is shown more safely based on whether the task has linked quotations and whether project access is actually relevant.
Original PR description
Before this commit, the portal user who has access to a fsm task and not the project related could get an access error when he tries to access to the form view of that task inside his portal. The reason is because a check is made to know if the user has access to project sharing to display the quotations button in the portal form view of the task. This commit makes sure the project is in the parameter of the method in which we did that check to make sure the user comes from a project instead of `/my/tasks` route. Forward-Port-Of: odoo/enterprise#98023
Fixes an issue where some pages could accidentally make Odoo think the user had changed, causing real-time notification channels to be cleared. Users should now continue receiving their own presence updates reliably across browser tabs and sessions, improving accuracy for online/offline status.
Original PR description
The websocket worker holds a single WebSocket connection per browser. Clients pass the current user ID and DB name, which the worker uses to detect login/logout. Some pages omit the DB name, causing…
The websocket worker holds a single WebSocket connection per browser. Clients pass the current user ID and DB name, which the worker uses to detect login/logout. Some pages omit the DB name, causing the worker to incorrectly mark the user as changed. This clears previous channels, which may never be added back. This is particularly noticeable with presence channels: the user's own channel can be lost, preventing them from receiving their own presence updates (e.g. when another browser closes, the user cannot see they are disconnected and cannot correct the value). The user's own presence channel should be added server-side, so the first subscription immediately returns the user presence and the DB should not be taken into account if ommited. task-5096212 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232984