Wednesday, December 24, 2025
12 changes · master
Enhancements to existing features
This update clarifies the filter options for overdue customer invoices within the account follow-up system. This change ensures users can more easily identify and manage overdue payments, leading to improved cash flow tracking and reporting. The update focuses on enhancing the clarity and usability of a key reporting feature.
Original PR description
opw-5232434 Forward-Port-Of: odoo/enterprise#100595
This update adjusts the deadline for providing feedback on appraisals to match the appraisal date itself. This simplifies the process for employees and ensures timely completion of the appraisal cycle. It improves the overall efficiency of the performance review workflow.
Original PR description
. Make feedback answer deadline equal to the appraisal date task-5176039
This update simplifies the salary calculator process by removing the direct employee creation option. Now, users can select an existing employee or leave the field blank, streamlining workflows and reducing potential data entry errors. This change improves the overall user experience within the HR contract salary payroll module.
Original PR description
This commit disables the option to create a new employee directly from the salary calculator. The employee field should be optional, and users may select an existing employee if required. Task: 5427477
Resolved issues and error corrections
This update fixes a calculation error in the product reporting module for Peru (l10n_pe). The initial product value was incorrectly set to zero, leading to inaccurate out-move reporting. This change ensures that product values are correctly calculated, reflecting the actual cost and improving reporting accuracy.
Original PR description
Since we create a product value with the initial cost of the product we need to adapt this test. Since it creates the product during the setup at date of today. It will register the current value of the product as 0. When you deliver it will take the current cost so 0. Thus the out move won't have any value. Forward-Port-Of: odoo/enterprise#102791
This update strengthens our point-of-sale testing process by ensuring that ticket generation tests accurately simulate real-world scenarios. The tests now correctly initialize tickets and validate them against printer models, leading to more reliable test results and improved product quality. This addresses a previous issue where tests were not fully representative of the actual ticket generation workflow.
Original PR description
Previously, ticket-generation tests relied on manual render calls, bypassing initialization logic and missing key method flows. This update refactors the test utilities to mimic real-life execution: tickets are now initialized via the main generation methods, and the final printed ticket is validated through the printer model. Task-5391327 Related: https://github.com/odoo/odoo/pull/238824
This update fixes a minor inconsistency in the documentation for our phone system features. The previous documentation incorrectly referenced a method that was never actually used. This change ensures the documentation accurately reflects the current codebase, improving clarity for our support team and developers.
Original PR description
A mention to `_voip_get_phone_field` appeared in [1] but this seems to never have existed. In any case, `_phone_get_number_fields` was used by the codebase in the end and should thus be the one mentioned. [1]: https://github.com/odoo/enterprise/commit/52b3065993c41c6b7c65dda586a66fdd865b3afd Forward-Port-Of: odoo/enterprise#102804
This update fixes an issue where opening invalid account return checks could display all `account.move.line` records, even when only one or zero matching records existed. The change ensures that the correct number of records are displayed, preventing unnecessary data loading and improving reporting accuracy.
Original PR description
Before this PR, opening invalid records from account return checks could show all `account.move.line` records when there were 0 or 1 matching record(s). Technical Reason: In `_get_records_action` domain is only applied when there are multiple records, so without a domain, all records are opened. With this PR, the domain is passed through the method arguments, and also action will be none if there are no records. task-5427746 Forward-Port-Of: odoo/enterprise#102424
This update corrects a previous change that incorrectly included legal reserves in the Belgian Balance Sheet reports. This change was unnecessary as legal reserve requirements have been removed since 2024. This reversion ensures accurate reporting for Belgian businesses.
Original PR description
In #95062, the BE Balance Sheet was changed to include Legal Reserves. However, since this is not needed since 2024, this change can be reverted. no-task Forward-Port-Of: odoo/enterprise#102766
This update ensures that inactive accounts are no longer included in reports, aligning with a change in how inactive status is tracked within the system. Previously, the system incorrectly displayed inactive accounts, which has now been resolved to improve report accuracy and data consistency. This change was made to streamline reporting processes.
Original PR description
In replacing the deprecated field with the special `active` field the account_codes prefix engine no longer displays values for accounts that are inactive.
This disables the active test in:
- computing the domain for accounts
- auditing the value (since the domain is `('account_id.code', 'in'...)`
opw-5226153
Forward-Port-Of: odoo/enterprise#101540
Forward-Port-Of: odoo/enterprise#100885Features or functions removed from Odoo
This update removes outdated code related to hiding GIFs in emails. The GIF hiding functionality has been successfully integrated into Composer actions, eliminating redundancy and simplifying the system. This change improves efficiency and ensures consistent email behavior.
Original PR description
The GIF picker logic has been refactored to composer actions. Refactor commit: https://github.com/odoo/odoo/commit/5e1daafeac231c333ea13369fc208627213d67d4 The previous Composer patch is now obsolete and no longer executed. Removing it avoids duplication, as GIF hiding is now fully implemented through composer actions. Task-5163888
Code cleanup and technical improvements
This update simplifies the way document folders are displayed in search panels by returning raw data from the model and allowing the client to handle the formatting. This change improves the search panel's performance and maintainability, ensuring a smoother user experience when navigating document folders.
Original PR description
We're choosing to keep the model method cleaner and return the raw field value, and let the client convert to number to construct the folders' tree. We're also setting the method as readonly as it does not modify data. Task-5272030
This update reorganizes testing code for the payroll account module, moving helper functions to a central base module. This simplifies testing and ensures consistency across the payroll system. The change improves the overall test structure and maintainability.
Original PR description
as journal_id missing is non blocking now a lot of tests should be moved back from l10n_xx_hr_payroll_account to l10n_xx_hr_payroll to be able to do that we should mode all the helper functions like _generate_payslip, _validate_payslip, _add_rule_parameter_value, _setup_common, ... to the base hr_payroll Task: 5403821