Daily updates from Odoo
Sunday, February 15, 2026
8 changes · saas-19.1
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