Thursday, April 16, 2026
8 changes · 19.0
Enhancements to existing features
This update simplifies the generation of Spanish tax reports (303 and 347) by automatically displaying key fields. Specifically, the 'exonerated from 390' field is now visible on the print BOE wizard for relevant periods, and a new grouping is added for audit operations in report 347, streamlining the reporting process.
Original PR description
In this PR: - In tax report 303, the 'exonerated from 390' boolean field is now visible on the print BOE wizard , when period is either last month or last quarter so that user does not have to enable it manually on the AEAT page. - In the annual tax report 347, when a user clicks to audit the operations of the entity, a new group by is added in context to group the reports by move type and date(quarter). task-5863744 Forward-Port-Of: odoo/enterprise#113644 Forward-Port-Of: odoo/enterprise#108057
Resolved issues and error corrections
This update resolves a critical issue in the payroll processing for Mexico that could cause the system to crash when no bank account information was available for an employee. The change ensures the system handles missing data gracefully, preventing errors and maintaining accurate payroll calculations. This improves stability and data integrity.
Original PR description
Accessing the employee bank accounts using index [0] raised an IndexError when no accounts were defined. Additionally, computing the CLABE flag using len() caused a TypeError when the account number was missing. This change uses a safe recordset slice to avoid accessing empty records and guards the length check to only evaluate when a value is present. It prevents crashes while keeping the original behavior unchanged and avoids sending invalid empty values in the CFDI.
This update resolves a bug preventing portal users from uploading files correctly on mobile devices. The issue stemmed from a change in the user interface component, causing file selection to fail. The fix ensures proper file uploads for mobile users.
Original PR description
**Steps to reproduce:** - Install Documents app - As admin, share a folder to a portal user with editor access - Log as portal user on mobile view - Try to upload a new file from the control panel -…
**Steps to reproduce:** - Install Documents app - As admin, share a folder to a portal user with editor access - Log as portal user on mobile view - Try to upload a new file from the control panel - File dialog appears, but selected file is not saved **Issue:** Seems like changing the boostraps dropdown to the owl component created this issue. It is caused by Upload button trying to use the `<input>` of its parent dropdown. When the dialog opens, the current dropdown and its parent are removed (with the surrounding overlay) due to the default closingMode. `onSelected="() => this.uploadFileInputRef.el.click()"` Also the page has multiple time the same `<input>` element due to the duplication of the actions for the bottom drawer. **Fix:** Put the `<input>` element in a place where it won't be duplicated on mobile when creating the overlay with the upload interactions. This ensures we always use the same `<input>` element for the dropdown, so that files are properly added even if the dropdown is removed. We could also change the closingMode to `closest` or `none` and manually close the remaining dropdown(s) on file upload. dropdown component: https://github.com/odoo/enterprise/commit/06802d3d6cc5141842adba74f7c9f1970feeb263 similar issue for non-portal user: https://github.com/odoo/odoo/commit/8a871a120b75f7c09c70dbf07530239244dbb5d6 opw-6042353
This update addresses a regulatory requirement in Mexico regarding electronic payments (CFDI). The system now prevents users from registering payments with future dates, which were previously allowed and not compliant with government regulations. This ensures accurate and legal payment processing.
Original PR description
To sign a payment registered in the future is not allowed by the government. See http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Guia_llenado_pagos.pdf Steps: - Create a PDD invoice (the due date should be at least 1 month later than the invoice date) - Send it to CFDI - Register a payment in the future -> We have the 'Update payments' button that appear on the invoice view, if you clik on it the payment will be signed With this commit, we filter out the payments with a future date, that way we don't have the 'Update Payments' button if there are only future payments, or the future payments won't be taken into account when clicking on the button. opw-5934753 Forward-Port-Of: odoo/enterprise#113945 Forward-Port-Of: odoo/enterprise#112320
This update enables quick checkout by default for event and appointment bookings, streamlining the purchase process. Previously, a broad change risked disrupting existing flows, but we've determined that customer addresses aren't relevant for event taxes. A new system parameter allows businesses to retain full billing address details if needed.
Original PR description
Forward-Port-Of: odoo/enterprise#113724 Forward-Port-Of: odoo/enterprise#113575
This update fixes a reporting issue on the Swiss Balance Sheet by changing the date range used for calculating 'Current Year Retained Earnings'. Previously, the default date scope caused inaccurate figures. This change ensures the report reflects the correct fiscal year, improving the accuracy of Swiss financial reporting.
Original PR description
The "Current Year Retained Earnings" (CH_299_A) line on the Swiss Balance Sheet was using the default `strict_range` date scope. This commit forces the `date_scope` to `from_fiscalyear`. task-6119493
This update fixes a calculation error in the Luxembourg tax reports. Previously, a line item was displaying a negative value, which was incorrect. The formula has been adjusted to accurately reflect the credited amount, ensuring correct tax reporting for LU companies. This resolves a discrepancy impacting financial reporting accuracy.
Original PR description
Steps to reproduce: - Install `l10n_lu` module - Switch to `LU Company` - Create a invoice and in journal items use tax grid `226` - Open the Tax Report and check the line `226 - Supplies carried out within the scope of the special arrangement of art. 56sexies` - The value appears negative instead of positive. Cause: This issue is caused by the major tax revamp introduced in version 19 [commit]. The credited amount is currently displayed as a negative value, which is incorrect, it should be shown as positive. Solution: To resolve this issue, the formula has been modified from `226` to `-226`. [commit]: https://github.com/odoo/odoo/commit/17a6117ed88c29b5bc4db0c872bcdbc109a7d98b#diff-3441c5d05315ec0562923797f973eae66488452a6772d23e198998c1890aa06c opw-6050665
This update resolves an issue where the checkout process became unresponsive when using the Avatax module for Brazilian sales. The previous code was unnecessarily calling external tax APIs, leading to errors that blocked the confirmation step. This fix removes the unnecessary API call, restoring the checkout functionality.
Original PR description
Issue: --- The extra external_tax call introduced in odoo/enterprise#101579 is causing multiple issues: 1- It doesn't catch errors while `_get_and_set_external_taxes_on_eligible_records` easily raises errors, causing uncatch errors in `website_sale`. 2- Extra unnecessary external api call in non-express checkout methods which is not desirable. Steps to reproduce: --- 1- Install l10n_br_avatax_sale, website_sale 2- Using a public user, add a product to cart and got to checkout. 3- In the address form, use CPF identification type. Outcome: The confirm button is unresponsive. Cause: --- This is due to uncatch error raised by external tax call, while it was not necessary at this step of this flow to call external tax api. opw-6005767 Forward-Port-Of: odoo/enterprise#113861 Forward-Port-Of: odoo/enterprise#112515