Daily updates from Odoo
Wednesday, February 18, 2026
26 changes ยท master
Enhancements to existing features
This update adds a convenient button to payruns that allows users to instantly print a test copy of their payslips. Previously, users had to manually select all payslips and navigate through the system to print a test. This streamlines the process and ensures accurate printing before generating final payslips.
Original PR description
-Originally, the user has to manually select all payslips and then navigate to cog menu to print the payslips. -Currently, a button has been added to allow for test printing at the payrun.
This update simplifies the point-of-sale refund process by removing the refund button from the action menu. This change prevents unintended refund actions and streamlines the user experience. The change was driven by a community contribution and a related task.
Original PR description
Removed the refund button from the action menu, so this override will never be called Task-[5145135](https://www.odoo.com/odoo/project/1737/tasks/5145135) Community PR-[#230334](https://github.com/odoo/odoo/pull/230334)
Resolved issues and error corrections
This update simplifies the process for creating expense accounts by removing automated data pre-filling for KYC verification. This change addresses potential errors caused by inconsistent data formats in certain regions, like the Netherlands, and ensures a more reliable and accurate manual verification process.
Original PR description
Context:
When creating a livemode account, the data pre-sent by the database to stripe may cause issues in some localizations. e.g. the Netherland where people are forced to use a zip in the "\d{4} ?[A-Z]{2}" pattern, which they do not alway do
Solution:
Pre-filling KYC was deemed too error-prone and this would be switched to a fully manual KYC
OPW-5899276
Linked (but not depending on) https://github.com/odoo/iap-apps/pull/1431
Forward-Port-Of: odoo/enterprise#107115This update corrects a bug that occurred when KPIs with the same label but different identifiers were being sorted. The fix ensures accurate sorting by using a more efficient method within the system's data processing, preventing errors and improving data reliability.
Original PR description
When two KPIs have different identifiers but the same label, the call to `sorted` on a list of (priority, label, dict) tuples was wrong. As the two first criteria were the same, the comparison was made on the dict, which is not comparable, leading to the following error:
TypeError: '<' not supported between instances of 'dict' and 'dict'
With this commit, we instead use the `key=` argument to `sorted` in order to build the `(priority, label)` tuples, which is cleaner.
OPW-[5932549](https://www.odoo.com/odoo/project.task/5932549)
Forward-Port-Of: odoo/enterprise#107481This update resolves an issue related to how version numbers are tracked within the Belgian HR Payroll module. The fix ensures accurate identification and management of module versions, preventing potential errors during updates and deployments. This improves the stability and reliability of the payroll processing functionality.
Original PR description
Forward-Port-Of: odoo/enterprise#107482
This update corrects a display issue where percentage fields in employee contracts were showing decimal values (e.g., 0.25%) instead of the intended percentage format (e.g., 25%). The underlying calculations remain accurate, and this change ensures a more user-friendly presentation of percentage data within the HR contract module.
Original PR description
Percentage fields are stored as a decimal in the DB (0.25) but represent a percent value (25%) The calculations are correct but the display to the user shows 0.25%, this PR fixes that without modifying the values stored on the database task-5350196 Forward-Port-Of: odoo/enterprise#106989
This update fixes a problem where the system was creating multiple, empty pay runs when generating payslips. The change ensures that only one temporary pay run is created during the selection dialog process, preventing unnecessary database clutter and improving system stability. This resolves a potential performance issue and ensures accurate payroll data.
Original PR description
When generating payslips from the selection dialog the UI previously created a new hr.payslip.run on every attempt; server-side validation can fail and each failed attempt left an empty pay run in the database. Fixed by allowing the dialog to create at most one temporary pay run per dialog lifecycle, reuses it on retries, and removes it if generation fails or the dialog is closed. task-5920710 Forward-Port-Of: odoo/enterprise#106857
This update fixes a payment error related to work accident entries on employee payslips. Previously, a new entry type wasn't correctly linked, leading to accidental payments. The fix adds the necessary entry type to the payroll structure, ensuring accurate payment processing for work accident compensation.
Original PR description
The unpaid work accident work entry type was added, but not included in `unpaid_work_entry_type_ids`, causing it to be paid by mistake. Add it to `unpaid_work_entry_type_ids` for the following structures: - structure_type_employee_cp200 - structure_type_employee_cp200_pfi Task: 5484866 Forward-Port-Of: odoo/enterprise#106435
This update corrects a minor issue in the calculation of payroll fees and deductions, specifically related to union and professional association fees. The change ensures more accurate processing of these deductions, improving the reliability of payroll reporting for Australian businesses using the Enterprise module.
Original PR description
. Update `Union and professional association fees` code in computations of `Fees and Deductions` rule task-5402666 Forward-Port-Of: odoo/enterprise#104911
This update ensures that all rates displayed on printed payslips are formatted to a maximum of 4 decimal places. This improves the clarity and professionalism of the payslip document, aligning with standard reporting practices. The change was implemented to address a formatting issue.
Original PR description
This commit improves the payslip display by limiting all rates to 4 decimals max on the printed pdf payslip. Task: 5709739 Forward-Port-Of: odoo/enterprise#104915
This update resolves a bug preventing users from saving the CDI - Experienced Developer (BE) contract template. The change removes a default checkmark for an inventory car, which was causing a required field error. This ensures the template can be successfully saved and used.
Original PR description
Before this commit, when the CDI - Experienced Developer (BE) contract template is loaded, the inventory car is checked, but no car is selected, so you can't save. This commits unchecks the inventory car on the template to avoid this issue. Task: 5892344 Forward-Port-Of: odoo/enterprise#107584 Forward-Port-Of: odoo/enterprise#105992
This update corrects a data issue in the demo payroll system for Anita Oliver. Specifically, the first month's payslip data has been added, enabling the 'Time Off to Defer' functionality to work correctly. This ensures the demo data accurately reflects payroll processing.
Original PR description
Add first month's payslip in demo data for Anita Oliver, so that Time Off to Defer works correctly. task-5912512 Forward-Port-Of: odoo/enterprise#106685
This update resolves an issue where the header in the sign application was overlapping with a red color bar. The fix removed a styling tag that caused this overlap, ensuring the header is now displayed correctly and consistently. This improves the user experience for signing documents.
Original PR description
Remove `top` tag to prevent header overlap due to neutralize red color bar Before fix: <img width="1953" height="790" alt="image" src="https://github.com/user-attachments/assets/dd9f7a00-eaea-4304-a22d-d8df96203823" /> After fix: <img width="1892" height="639" alt="image" src="https://github.com/user-attachments/assets/247e6067-570a-4fcb-a0e9-6f2640940f21" /> opw-5900244 Forward-Port-Of: odoo/enterprise#106844
This update corrects a technical issue where the contract template was being unnecessarily created during salary configuration. This prevented certain calculations from running correctly. The fix ensures the template data is now correctly handled, resolving the problem and improving system performance.
Original PR description
Writing the contract template on the new version created by the salary configurator is not necessary and caused some computes to not trigger. The contract template values are already included in the `_get_version` method. task-5324222 Forward-Port-Of: odoo/enterprise#107582 Forward-Port-Of: odoo/enterprise#99781
A recent update to the project timesheet forecasting module caused errors when accessing all timesheets. This fix addresses a technical issue where an outdated field reference was preventing proper grouping of timesheets by employee. The update ensures the timesheet functionality is stable and reliable.
Original PR description
Steps to reproduce: - install project_timesheet_forecast - open timesheets app - open all timesheets menu => error Source of the bug: - planning_slot has no more employee_id field, it was replaced by employee_ids - when trying to group planning slots by employee_id, the key "employee_id" doesn't exist. Fix: The group_expand based on planning when the section field in the grid view is employee_id. task-5945958
This update ensures that the SOL (Service of Logistics) is correctly displayed in the invoicing notebook for sales orders when the project is set to 'is_fsm' and the partner type is a delivery partner. Previously, this information was missing for delivery partners, leading to potential invoicing inaccuracies. This change improves the accuracy and completeness of invoices for delivery-based sales.
Original PR description
Before this commit: When the project `is_fsm`, the timesheet product is displayed in the invoicing notebook regardless of partner type. After this commit: When the project `is_fsm` and the partner is of type delivery, the SOL displays correctly in the invoicing notebook. task-4764834
This update removes automatic completion of document activities when an account move is created. Previously, activities were marked as done regardless of their purpose, which was causing confusion and potential errors. This change ensures activities are only marked complete when directly related to an account move action.
Original PR description
Purpose: Avoid closing document activities that may not be related to performing a document action. Specification: When an account move is created from a document, the current logic automatically marks all document activities as done. This behavior is removed because document activities can exist for purposes unrelated to the performed action, and should not be completed implicitly as a side effect of it. Task-5075307
This update corrects a minor visual issue with the Gantt chart's side panel icon. The icon was previously displaying as if it should rotate, which was an unintended leftover setting. This change ensures the icon appears correctly, improving the overall user experience.
Original PR description
This commit removes the fa-flip-horizontal class from the gantt side panel icon which was mistakenly left as is in https://github.com/odoo/enterprise/pull/107520
Features or functions removed from Odoo
This update removes the 'New' button from the DIMONA Declaration List view in the odoo/enterprise module. This simplifies the process for users creating new DIMONA declarations, streamlining workflows and reducing potential confusion.
Original PR description
. Remove the New button on DIMONA Declaration List view task-5471873 Forward-Port-Of: odoo/enterprise#105783
This update streamlines the demo data for Odoo's Indian payroll module (l10n_in_hr_payroll) by removing redundant working schedules. The change consolidates to a standard 40-hour work week, improving data clarity and reducing complexity within the demo environment. This ensures a more accurate and easily understandable representation of payroll setup for Indian businesses.
Original PR description
### AIM - In the demo data, there is no need to create multiple working schedules for Indian locations. - We can use a single working schedule of 40 hours per week. Task: 5899739 Forward-Port-Of: odoo/enterprise#106151
This change removes the default root initialization file in Odoo Enterprise. This update disrupts existing setups that rely on the PYTHONPATH environment variable, requiring adjustments for those systems. This change ensures greater consistency and simplifies the Odoo environment.
Original PR description
Added by #101497, breaks PYTHONPATH setups.
This update streamlines the project_enterprise_hr_todo module by removing a redundant dependency on the 'test_mail' module. This simplifies the project's setup and reduces potential complexity, resulting in a more efficient system.
Original PR description
This commit removes `test_mail` in the dependencies of project_enterprise_hr_todo since it is not really needed to depend on that module.
This update removes a redundant check within the ai_fields module. A recent update to Odoo (odoo/odoo#249054) now supports the 'SET' command, making the previous special case handling obsolete. This change improves code efficiency and simplifies the module.
Original PR description
Since odoo/odoo#249054, the command SET is now supported by `_applyCommands`, which means that the specialcase here isn't useful anymore. This commit thus removes it.
This update removes a redundant view related to attachment storage within Odoo Enterprise. Previously, users had access to duplicate attachment information, which has now been consolidated into the standard Technical/Attachments menu. This streamlines the user experience and reduces complexity.
Original PR description
Before: A Storage view showed read-only attachment size information with no available actions and an unclear details view, duplicating data already accessible from Technical/Attachments. After: The Storage view, action, and model were removed. users now rely on the standard Technical/Attachments menu Taskid-5864785
This update removes a general SSN field across several Odoo payroll modules (for countries like Egypt, Mexico, South Africa, and the US). Previously, a single SSN field was used, leading to inconsistencies. This change introduces a more standardized approach, aligning with existing practices and improving data accuracy for each country's payroll processing.
Original PR description
xx: eg, mx, sa, us for each l10n we interduced `l10n_xx_ssn` to have this number with its constrains and usage unique for each l10n like the niss in the l10n_be Task: 4384436
This update removes unnecessary calculated fields from the contract templates. These fields, like reimbursed amounts, were previously copied but should be automatically computed. This simplifies the template and improves data accuracy.
Original PR description
Some fields such as the reimbursed amounts are computed and should not be copied from the template. This commit removes these fields from the contract template. task-5948571