Daily updates from Odoo
Thursday, February 19, 2026
9 changes · saas-18.2
Resolved issues and error corrections
This update resolves an issue where DHL shipping rate calculations failed when requested for dates outside of business hours. Adding a 'next business day' flag ensures rates are accurately calculated, preventing errors and ensuring reliable shipping options for customers. This addresses a previous problem that resulted in unavailable product messages.
Original PR description
Before this commit, there was an issue when trying to get the rates for DHL shipping late in the day. The issue happened because `plannedShippingDate` fell outside of the working hours. This commit adds the nextBusinessDay flag for the rating request to avoid the error. Error: ``` Product not found 996: The requested product(s) not available for the requested pickup date. Process ID associated for this transaction') ``` opw-5393684 Forward-Port-Of: odoo/enterprise#107153
This update resolves an issue where users in the Invoicing and Banks security groups were unable to access certain basic reports. The change adds necessary security permissions, allowing these users to open and utilize key reports without encountering access errors. This ensures consistent reporting functionality for all user groups.
Original PR description
* Revert commit https://github.com/odoo/enterprise/commit/86c3c212bb79fbc2becac46f4d83b6f2fc381854 that introduced having Accounting features, menu items, and Account on invoice lines available for Invoicing users. * Allow Invoicing & Banks group to access basic reports * Backport missing access rights to properly open the reports without an access error. task-5925567 Forward-Port-Of: odoo/enterprise#107654
This update streamlines testing within the Odoo Enterprise platform by resolving an issue where test patches were causing errors. The team has converted specific patches to use a standard method, improving the reliability and stability of the testing process. This change ensures more consistent and accurate test results.
Original PR description
Otherwise they trip the on-test-side-effect-detector (at least in its current incarnation). Forward-Port-Of: odoo/enterprise#106948
This update resolves a potential issue where global invoices from the POS system in Mexico could fail to send correctly to the SAT portal. Increasing the timeout for communication with the SAT portal helps prevent errors and duplicated documents, ensuring accurate invoice processing. This improves the reliability of the system for Mexican businesses.
Original PR description
**Fix:** Increase the read timeout for POST requests to SW sapien PAC. It may prevent timeout issue when sending a global invoice from the POS with a lot of POS orders that could lead to duplicated documents on the SAT portal when retrying to send the global invoice again. opw-5347962 Forward-Port-Of: odoo/enterprise#107735
This update resolves an issue where test runs were repeatedly generating unnecessary assets, slowing down the testing process. By adding a key asset bundle to the test preparation list, we've eliminated redundant generation and significantly improved test performance. This ensures faster and more reliable testing of the Odoo Enterprise platform.
Original PR description
During tests runs, lazy loaded assets are generated on the fly, and eventually multiple hundred of times (i.e. +/- 150 times on runbot). This commit adds the `web_studio.studio_assets` bundle to the pregeneration list to avoid regenerating during tests runs. Forward-Port-Of: odoo/enterprise#107147
This update corrects a problem preventing wage statement files from being properly sent to the Swiss tax authorities (ELStax). The fix ensures accurate and timely submission of these crucial documents, complying with Swiss tax regulations. This resolves a potential delay in tax reporting for businesses using the Odoo Enterprise module.
Original PR description
Forward-Port-Of: odoo/enterprise#107827
This update fixes an error in how holiday pay is calculated for employees in Belgium with non-standard working schedules. Previously, the system incorrectly deducted holiday pay based on a default 38-hour week. Now, the calculation accurately reflects the employee's actual working hours, ensuring correct pay adjustments.
Original PR description
**Steps to Reproduce:** 1 - create an employee in Belgium company with hourly rate 20.62 and 40h/week working schedule 2 - Set 10 paid time off to this employee 3 - Set 2000 euros in recovery amount…
**Steps to Reproduce:** 1 - create an employee in Belgium company with hourly rate 20.62 and 40h/week working schedule 2 - Set 10 paid time off to this employee 3 - Set 2000 euros in recovery amount holiday n-1 4 - Set 10 days in recovery day holiday n-1 5 - Employee takes 5 paid time off in February and 5 in December 6 - Do one payslip for this employee for February and validate it 7 - Do one payslip for this employee for December Current behaviour : - the holiday n-1 amount for February = 824.80 - the holiday n-1 amount for December = 742.32 Expected behaviour : - the holiday n-1 amount for December should be 20.62 (hourly_rate) * 5 (days) * 8 (hours) = 824.80 **Reason** - The daily recovery amount was calculated using hardcoded standard working hours (38h/week) instead of the employee's actual schedule (40h/week), causing an incorrect deduction rate for non-standard schedules. **Solution** - Replace the hardcoded reference with the actual hours per week from the employee's resource calendar to ensure the correct hourly rate is applied. Forward-Port-Of: odoo/enterprise#107740 Forward-Port-Of: odoo/enterprise#106205
This update fixes an issue where OCR-extracted expense amounts were incorrectly converting to USD, forcing a 1:1 exchange rate. The change ensures that expense amounts are accurately converted to the company's default currency based on the system's exchange rates, improving the reliability of financial reporting.
Original PR description
Steps to reproduce: 1. Initialize an expense with a foreign currency (e.g., EUR). 2. Trigger OCR extraction on a receipt with a specific total. 3. Observe that both 'Total In Currency' and 'Total' (USD) are set to the same value. 4. The exchange rate is forced to 1.0, ignoring the system's exchange rate. Cause: The _fill_document_with_results method assigned the OCR total to both 'total_amount_currency' and 'total_amount' as a placeholder. This triggered the field's inverse logic during the write() call, causing Odoo to treat the input as a manual exchange rate override of 1:1. Solution: Remove the 1:1 placeholder assignment. The method now explicitly calculates 'total_amount' using the _convert() helper once the currency is identified, ensuring the company currency total reflects the actual system exchange rate. opw-5437611 Forward-Port-Of: odoo/enterprise#107534
This update addresses a technical issue related to the transmission of Swiss payroll data (LPP). Specifically, it ensures the 13th month salary is correctly included in the base calculation for reporting purposes, aligning with Swiss tax regulations. This correction improves the accuracy of Swiss payroll reporting and compliance.
Original PR description
Forward-Port-Of: odoo/enterprise#107908