Tuesday, February 24, 2026
19 changes · master
Resolved issues and error corrections
This update fixes a bug preventing users from searching the Colombian Daily Journal (Libro Diario). The issue was caused by missing data in the journal entries, which blocked the search bar. Now, all journal entries are searchable by move, partner, account, and label.
Original PR description
Steps to reproduce: 1. Open the Colombian Daily Journal (Libro Diario). 2. Type a move name or partner in the search bar. 3. Observe that no results are returned. Cause: Report lines were generated with an empty 'name' attribute. The accounting report framework uses this field for client-side filtering. Empty names make the search bar non-functional. Solution: Populate the 'name' field with move, partner, account, and label data. This enables the frontend search bar to match against these strings. opw-5495558 Forward-Port-Of: odoo/enterprise#106179
This update prevents unnecessary errors from being raised when the Codabox sync process (CRON) encounters temporary issues. This change improves the reliability of the system by avoiding automatic disabling of the sync process due to repeated errors, ensuring data stays synchronized when servers are briefly unavailable.
Original PR description
In case of a failure/downtime from the IAP/Codabox servers, an error is currently being raised. Although this is useful when manually clicking the Fetch button to see what happens, in the context of a CRON it's much less desirable as multiple failures from a CRON will automatically disable it which is not useful as the servers might be back up later on. Now, instead, we only raise if we're not in a CRON environment. opw-5922549 Forward-Port-Of: odoo/enterprise#107798
This update resolves a crash issue that occurred when using the pivot table autofill feature with invalid data. The fix ensures that autofill functionality remains stable while preventing tooltips from causing a system-wide error. This improves the reliability of pivot table data analysis.
Original PR description
If you try to autofill a pivot cell that has an invalid relational id in its domain (eg. `=PIVOT.HEADER(1, "stage_id", 99999999)`), the autofill actually works but the tooltip make everything crash. Task: [5913754](https://www.odoo.com/web#id=5913754&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form) Forward-Port-Of: odoo/enterprise#107807 Forward-Port-Of: odoo/enterprise#106601
This update resolves a technical issue preventing an 'add inputs' button from appearing on Swiss payroll payslips. This ensures accurate and complete payroll reporting for our Swiss clients. The fix addresses inconsistencies introduced after a recent update.
Original PR description
don't show add inputs button on payslips on the swiss localization. Forward-Port-Of: odoo/enterprise#107958
This update optimizes the creation of global invoices in the Mexican EDI module. By changing the wizard to a 'TransientModel,' data is no longer permanently stored in the database, leading to a more efficient and streamlined process. This change resolves a previous issue and enhances performance.
Original PR description
Change to TransientModel so a wizard is not permanently stored in db when creating a global invoice. Forward-Port-Of: odoo/enterprise#107950 Forward-Port-Of: odoo/enterprise#107244
This update fixes an issue where the 'Update Rental Prices' button disappeared after saving rental orders. The fix adds a field to the view that ensures the button remains visible when a rental period is adjusted. This ensures users can always update rental prices as needed.
Original PR description
Steps to produce: --- - Install `sale_renting` module. - Rental > Open any order > Change the rental period. - Save the record. Issue: --- - After saving the order, the `Update Rental Prices` button becomes invisible. Root cause: --- - The field `show_update_duration`, which controls the visibility of the button, is not present in the view. As a result, when the record is saved, the field is not included in the form data and its value is not properly maintained, causing the button to become invisible. - The field is removed from the view in this [commit]. Solution: --- - Added the `show_update_duration` field to the view to ensure its value is properly maintained. This allows the `Update Rental Prices` button to remain visible when applicable. [commit]: https://github.com/odoo/enterprise/commit/b90bbdef10a7a37fb065626ba995811ab388c7a1 opw-5937145 --- Forward-Port-Of: odoo/enterprise#108157 Forward-Port-Of: odoo/enterprise#107621
This update resolves an accounting error in the UK and Netherlands versions of Odoo by ensuring tax receivable and payable accounts are distinct. Previously, the same account was used, leading to incorrect reporting of tax balances. This fix ensures accurate tax reporting and avoids potential accounting discrepancies.
Original PR description
Forward-Port-Of: odoo/enterprise#94191
This update ensures that payslips created on-the-fly are automatically linked to the corresponding pay run. Previously, this connection was missing, causing potential data inconsistencies. This change improves the accuracy and reliability of payroll reporting.
Original PR description
**Description:** When creating a Pay Run on the fly from an off cycle payslip, the payslip should be properly linked to the created Pay Run. **Implementation:** . Update hr_payslip create() method to link it to the on-fly created payrun task-5959481
This update resolves a technical issue identified by the Odoo runbot testing system. The change ensures that work entries accurately reflect planned scheduling slots, preventing failures caused by adjustments to the slot calculation logic. This improves the reliability of the work entry planning feature.
Original PR description
update the test to ensure that workentries match the plannning slots rather than a literal value which will fail if the slot calc change Task: 5705528
This update enhances the automated process for merging duplicate partner records. Previously, large duplicate groups would cause system crashes. Now, the system processes up to 3 partners daily, distributing larger groups across multiple runs to prevent performance issues and ensure a smoother merging process.
Original PR description
Before this commit, automatic partner merging would crash when trying to merge more than 3 duplicates at once because the base merge wizard enforces a 3-partner safety limit. After this commit, the cron processes only 3 partners per day (2 source + 1 destination), leaving remaining duplicates for subsequent runs. This spreads large merge groups across multiple days. task-5864653
This pull request reverts a recent change to the web_studio UI test suite. The previous modification incorrectly checked for an exact element count of three, rather than verifying that the element appears at least three times. This reversion ensures the test suite accurately reflects the expected behavior of the web_studio feature.
Original PR description
Revert modifications made in https://github.com/odoo/odoo/pull/245680 With that modification, we checked that element is exactly 3 times, But this is not the same to check that the element is at least preset 3 times..
This update streamlines how leave entries are created in the Gantt view. Previously, users could add or replace existing entries, but this has been simplified to only adding new entries. This change aligns with recent updates to attendance work entries and improves the overall user experience.
Original PR description
Before this change, the shortcut behavior field had two options: add and replace allowing leave entries in the Gantt view to either add to or replace existing entries. This change completes a missing part of the Work Entries Apocalypse task. Since attendance work entries are no longer created by default, we no longer need different shortcut behaviors. Work entries should always be added, not replaced. Therefore, the shortcut_behavior field has been removed, and add is now the only behavior. Task-5942542
This update adjusts the layout of rental periods within Sales Orders to align with a recent change in how Sales Order headers are displayed. Moving the rental period field after the commitment date restores proper alignment and ensures a cleaner, more organized Sales Order view for rental agreements. This improves usability and clarity.
Original PR description
Before this commit: The `sale_renting` module inserted the `rental_period` field between `payment_term_id` and `commitment_date`. After the community change moving `commitment_date` to the Sales Order header, the `rental_period` field appeared in between fields. After this commit: Moved the `rental_period` field after `commitment_date` in the Sales Order header. task-5892894 See Also: Community PR:https://github.com/odoo/odoo/pull/246689
This update removes a confusing counter in the 'Logged On' column of grouped VoIP call reports. The change was implemented by hiding the counter using a CSS rule within the specific VoIP call list view. This simplifies the reporting experience for users.
Original PR description
Since [1], grouped VoIP call rows show a counter in the "Logged On" column. Added a scoped class on the VoIP calls list view and a CSS rule to hide that group header counter only in this view. I did not find a native list view parameter or option to disable it. [1]: https://github.com/odoo/enterprise/commit/ab2377ebf7d21c6bcb5fcde0e6e4c105c75c29cd task-5955136
A technical issue preventing the Payroll data update cron job from running correctly has been fixed. This update addressed a situation where the system was trying to access a missing file, causing an error. This ensures the payroll data is updated reliably after module installation.
Original PR description
When the ``Payroll: Update data`` cron is executed after installing the ``l10n_lu_hr_payroll`` module, a traceback is raised. Steps to reproduce the error: - Install ``l10n_lu_hr_payroll`` module - Run the ``Payroll: Update data`` cron Traceback: ```py FileNotFoundError: [Errno 2] No such file or directory: '/home/odoo/src/enterprise/saas-19.1/l10n_lu_hr_payroll/data/hr_payslip_input_type_data.xml' ``` In commit [1], ``hr_payslip_input_type_data.xml`` file was removed. However, it is still being referenced in the code below here. https://github.com/odoo/enterprise/blob/4174108cb98a9fd84a012ff9dca81ae322c5f338/l10n_lu_hr_payroll/models/hr_payslip.py#L209 As a result, when the ``Payroll: Update data`` cron runs, the system attempts to update a file that no longer exists, causing a FileNotFoundError. [1]: https://github.com/odoo/enterprise/commit/0fecd57652c8c72a4fb91d44bd0c5d75f621541a sentry-7278209115 Forward-Port-Of: odoo/enterprise#108068
This update fixes an issue where non-sale enabled products were incorrectly appearing in sales orders. The change ensures that only products designated for sale are selectable, preventing errors and improving order accuracy. This resolves a potential confusion for users creating sales orders.
Original PR description
Steps to produce: --- - Install `sale_renting` and `sale_management` modules. - Go to `Sales > Products > Products`. - Create a product and disable the Sales option (`sale_ok = False`). - Create a…
Steps to produce:
---
- Install `sale_renting` and `sale_management` modules.
- Go to `Sales > Products > Products`.
- Create a product and disable the Sales option (`sale_ok = False`).
- Create a Sales Order and try to add that product.
Issue:
--
- Even though the product is not sale-enabled (`sale_ok = False`), it is still selectable in the Sales Order.
Root cause:
---
- At [1], The issue occurs because `super_domain` was not always included.
- When `order_is_rental` is True, `super_domain + []` happens,
so only `super_domain` is applied.
- But when `order_is_rental` is False, instead of
`super_domain + [('rent_periodicity', '=', False)]`, only
`[('rent_periodicity', '=', False)]` was returned, and
`super_domain` was ignored.
- Because of this, base conditions from `super_domain` like
`sale_ok = True` were not applied.
Solution:
---
- Add parentheses around the conditional expression to ensure proper evaluation order and correct domain construction, so only products with `sale_ok = True` are selectable.
[1] https://github.com/odoo/enterprise/blob/abfde5f253c4c52d3a734ca8dafe6f8ed261cf75/sale_renting/models/sale_order_line.py#L49
opw-5902403
---
Forward-Port-Of: odoo/enterprise#107639This update resolves a technical issue preventing users from correctly selecting documents within the document creation dialog in the Enterprise module. The fix involved correcting a broken XPath expression, ensuring the dialog functions as intended and improving the user experience. This change ensures seamless document integration.
Original PR description
task-5952598 Forward-Port-Of: odoo/enterprise#107954
This update resolves an issue where the payroll sheet calculation would fail if there were any warnings present. The change allows the payroll sheet to be generated even with warnings, ensuring accurate payroll processing. This improves the reliability of the HR payroll module.
Original PR description
Revert https://github.com/odoo/enterprise/pull/104137 Forward-Port-Of: odoo/enterprise#108340
This update resolves a testing issue that prevented users from validating Arabic VAT invoices. The change uses elevated permissions (sudo) when writing temporary files, ensuring the testing environment functions correctly regardless of user access rights. This improves the reliability of the Arabic VAT invoice validation process.
Original PR description
This pull request makes a minor update to the `_dummy_afip_validation` method in `account_move.py`, improving its reliability for testing environments. * Testing reliability: The method now uses `sudo()` when writing dummy AFIP fields, ensuring that the operation succeeds even if the current user lacks write permissions. Without this fix, if the user doesn't belong to group "base system", it won't be able to validate invoices in testing environment. <img width="1258" height="454" alt="image" src="https://github.com/user-attachments/assets/522bfd9d-33be-4bcd-a60b-ef4c09a8e0d6" /> Forward-Port-Of: odoo/enterprise#107937