Daily updates from Odoo
Sunday, February 15, 2026
15 changes
8 changes
Resolved issues and error corrections
This update fixes an issue where network interruptions during check-in/out could lead to duplicate attendance records and inaccurate data. The fix introduces a timeout for location tracking and prevents multiple clicks, ensuring data integrity and a smoother user experience.
Original PR description
when using signInOut with geolocation, slow or temporarily unavailable network connections could cause getCurrentPosition to hang indefinitely (default timeout is infinite). This led to: - Frontend…
when using signInOut with geolocation, slow or temporarily unavailable network connections could cause getCurrentPosition to hang indefinitely (default timeout is infinite). This led to: - Frontend not updating, allowing multiple clicks and creating duplicate attendance entries - Incorrect check-in/check-out data __Steps to reproduce:__ 1. check in while online and server reachable 2. disconnect network or make server unreachable 3. check out Currently, getCurrentPosition would hang indefinitely. till the network is restored. then it will trigger the rpc call much later than the action time. in the meantime, the user could click multiple times, creating multiple attendance records. With this fix, getCurrentPosition will timeout after 10 seconds, then it will proceed without position. and if the server is unreachable, it will show an error notification without allowing multiple clicks. __FIX__ - Adds a timeout to getCurrentPosition - Uses a `_attendanceInProgress` flag to prevent multiple clicks - Ensures only the first callback (success or error) triggers the RPC opw-5414044 Forward-Port-Of: odoo/odoo#247285 Forward-Port-Of: odoo/odoo#244477
This update corrects a minor issue where empty 'LineExtensionAmount' values in imported UBL invoices were causing problems. The change simply ignores these empty amounts, ensuring invoices are processed correctly without disrupting core accounting functionality. This improves the reliability of UBL invoice imports.
Original PR description
Zero LineExtensionAmount have no purpose after import so they can simply be ignored. taks-5881008 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248761 Forward-Port-Of: odoo/odoo#245862
This update fixes a potential issue where translation mapping could fail when the number of translated terms didn't perfectly match the original language. By defaulting to the original language's values, the system now handles these discrepancies more reliably, ensuring accurate translations. This prevents errors and improves the overall translation process.
Original PR description
When the number of translated terms differs between the base language and its translation, fall back to the base value instead of attempting to map terms. This avoids potential errors and incorrect translation mappings. 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#248648 Forward-Port-Of: odoo/odoo#248474
This update corrects a technical issue that was preventing our e-invoices from meeting PDF/A-3 standards. Specifically, the way file sizes were stored within the PDF was causing validation errors. This fix ensures that our invoices are correctly formatted for compliance, avoiding potential problems with document processing and archiving.
Original PR description
The `/Size` parameter in embedded file `/Params` was being set using `NameObject` instead of `NumberObject`, resulting in the size value being stored as a PDF Name Object (e.g., `/19410`) rather than a numeric integer (`19410`).
This causes PDF/A-3 validators to report zero-size or invalid attachments, breaking compliance with ISO 19005-3 (PDF/A-3A).
Steps to reproduce:
- Generate an e-invoice PDF with XML attachments (e.g., Factur-X)
- Validate the PDF with veraPDF or Adobe Acrobat Preflight
- Embedded file size is reported as zero or invalid
Fix:
```diff
- NameObject('/Size'): NameObject(f"/{len(attachment['content'])}"),
+ NameObject('/Size'): NumberObject(len(attachment['content'])),
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#248621This update strengthens invoice security by preventing unauthorized access to accounts when processing inbound invoices. The team removed unnecessary code related to account management and now relies on existing methods, improving efficiency and reducing potential vulnerabilities. This change also includes logging of bank account numbers for added auditability.
Original PR description
fixed some tests and remove the computation logic from account_move_reversal wizard, to rely on existing compute method --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247954
This update ensures the 'Contact Us' button appears correctly on product pages when a product is priced at zero. The issue was caused by a conditional check that prevented the button from loading in certain scenarios. This fix guarantees a consistent user experience for all product variations, regardless of price.
Original PR description
### Steps to reproduce: - Download eCommerce app. - Create a product priced at zero. - Add an attribute and make the FIRST value of the attribute priced at more than 0. - Check Configuration >…
### Steps to reproduce: - Download eCommerce app. - Create a product priced at zero. - Add an attribute and make the FIRST value of the attribute priced at more than 0. - Check Configuration > Settings > Prevent Sale of Zero Priced Product. - Open the created product on the website, choose the zero-priced variant. ### Issue: The 'Contact Us' button doesn't appear when you view the zero-priced variant. This happens because when you initially load the product that has a positive price, the contact us component isn't loaded because it has an if condition that checks if the price is above 0. https://github.com/odoo/odoo/blob/cda011dc8590773f6c3a26f4ae9d5242a3147024/addons/website_sale/views/templates.xml#L2147-L2154 Consequently, when https://github.com/odoo/odoo/blob/7a39185f83d0daca207c8007512f4700537c7e88/addons/website_sale/static/src/js/variant_mixin.js#L302-L315 tries to load the 'Contact Us' button via the query selector, it gets null as a return value. The test made for this issue loaded the variant that has the zero-price first, so the 'Contact Us' button was loaded normally. ### Note about the test: Edit the test so that the positive priced variant is loaded first, which will fail in case that the fix isn't applied, as the 'contact-us-wrapper' component won't be loaded at the start of the test. opw-5491935 Forward-Port-Of: odoo/odoo#247220
This update allows store managers to directly create new products within the Point of Sale (POS) interface. Previously, this functionality was restricted to system administrators, limiting store managers' ability to respond quickly to customer needs and manage product offerings. This change improves operational efficiency and responsiveness for retail locations.
Original PR description
Before this commit, only system users could create products from the POS interface. This limited the ability of store managers. opw-5418727 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246555 Forward-Port-Of: odoo/odoo#240520
This update strengthens the security of invoices by preventing untrusted accounts from being associated with inbound invoices. The change addresses a vulnerability identified in Odoo's core accounting system, ensuring that invoices are only processed with authorized accounts. This enhances data integrity and protects against potential fraud.
Original PR description
fixed some tests see odoo#247954 Forward-Port-Of: odoo/enterprise#106980
5 changes
Resolved issues and error corrections
This update addresses a security vulnerability by ensuring that invoices with untrusted accounts are not processed. The team simplified the process by removing unnecessary computation logic and relying on existing methods, improving efficiency and reducing potential risks. This change enhances the security of our invoicing system.
Original PR description
fixed some tests and remove the computation logic from account_move_reversal wizard, to rely on existing compute method --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247954
This update fixes a potential issue where translation mapping could fail when the number of translated terms didn't perfectly match the original language. By defaulting to the original language's values, the system now handles these discrepancies more reliably, ensuring accurate translations. This prevents errors and improves the overall translation process within Odoo.
Original PR description
When the number of translated terms differs between the base language and its translation, fall back to the base value instead of attempting to map terms. This avoids potential errors and incorrect translation mappings. 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#248648 Forward-Port-Of: odoo/odoo#248474
This update corrects an issue where e-invoices generated with attachments were failing PDF/A-3 validation. The problem stemmed from incorrectly storing file sizes, leading to errors reported by PDF validation tools. This fix ensures our e-invoices meet the required PDF/A-3 standards, guaranteeing compliance and proper processing.
Original PR description
The `/Size` parameter in embedded file `/Params` was being set using `NameObject` instead of `NumberObject`, resulting in the size value being stored as a PDF Name Object (e.g., `/19410`) rather than a numeric integer (`19410`).
This causes PDF/A-3 validators to report zero-size or invalid attachments, breaking compliance with ISO 19005-3 (PDF/A-3A).
Steps to reproduce:
- Generate an e-invoice PDF with XML attachments (e.g., Factur-X)
- Validate the PDF with veraPDF or Adobe Acrobat Preflight
- Embedded file size is reported as zero or invalid
Fix:
```diff
- NameObject('/Size'): NameObject(f"/{len(attachment['content'])}"),
+ NameObject('/Size'): NumberObject(len(attachment['content'])),
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#248621This update ensures that pickings are automatically created when validating POS orders linked to sale orders, especially when inventory management creates pickings at the end of a session. Previously, stock levels weren't updated correctly. Now, stock levels will accurately reflect the items sold through POS orders.
Original PR description
Before this commit, when validating a POS order linked to a sale order, if the Inventory Management was configured to create pickings at the end of the session, no picking was created for the order, and the sale order stock was not updated. This commit fixes this issue by ensuring that the picking is created for the imported sale orders in real time. opw-5423113 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#248424 Forward-Port-Of: odoo/odoo#244739
This update strengthens the security of invoices by preventing untrusted accounts from being associated with inbound invoices. The change addresses a vulnerability related to invoice processing, ensuring greater data integrity and protection against potential misuse. This update was made as part of a broader effort to enhance the security of the Odoo Enterprise platform.
Original PR description
fixed some tests see odoo#247954 Forward-Port-Of: odoo/enterprise#106980
1 change
Resolved issues and error corrections
This update streamlines the way users access options within the Enterprise module. Previously, option groups were collapsed, but now they are folded and can be expanded by clicking on their headers. This change improves usability and provides quicker access to relevant settings.
Original PR description
To have a quicker access to the options related to the element the user clicked, the groups above the last one are folded. The user can fold/unfold a group by clicking on its header (with the name of the element). This PR fixes a test that needs to change to unfold the group
1 change
Resolved issues and error corrections
This update strengthens the security of invoices by preventing untrusted accounts from being used in the 'is_inbound' process. The change addresses a vulnerability that could have allowed unauthorized access to financial data. The fix was implemented through updated tests, as detailed in the original issue (odoo#247954).
Original PR description
fixed some tests see odoo#247954 Forward-Port-Of: odoo/enterprise#106980