Daily updates from Odoo
Tuesday, November 18, 2025
14 changes · master
Enhancements to existing features
Payroll users can now set a priority order for salary adjustments, such as deductions or attachments. This helps ensure the most important adjustments are paid first when the available payroll amount cannot cover them all.
Original PR description
add priority to salary adjustments to but an order of which one should be paid first if the total amount paid does not cover all Task: 5114092
The yearly salary report by employee in Indian payroll has been simplified to make it easier to read and use. This helps HR and payroll teams review annual employee salary information more efficiently.
Original PR description
Simplified yearly salary report by employee format. task-5126551
Point of Sale users in Belgium now see clearer error messages when the fiscal data module is disconnected or when required social security information is missing. The messages explain what action to take, helping staff resolve payment validation issues faster and reduce checkout disruption.
Original PR description
We now display an error when the FDM is disconnected, or when the user needs to fill in the social security number. We also advise what to do in such cases. Forward-Port-Of: odoo/enterprise#99546 Forward-Port-Of: odoo/enterprise#99285
Payroll users in Mexico can now generate a CFDI document for an entire pay run once it is ready, instead of handling payslips one by one. This streamlines payroll processing and helps teams complete required electronic payroll documentation more efficiently.
Original PR description
This adds a button to generate a CFDI for the whole payrun when ready. Task: 5224206 Forward-Port-Of: odoo/enterprise#98797
UAE employee cost calculations now include housing, transportation, other allowances, and relevant employer contributions. This gives businesses a clearer view of the true total cost of employing staff in the UAE.
Original PR description
Before this commit: - The employer costs section (Yearly and Monthly cost) not considered allowances. - This led to an inaccurate calculation of the actual employer cost. After this commit: - Added l10n_ae_hr_contract_salary benefits so Housing, Transportation, and Other allowances are included in employer costs. - This provides a more accurate reflection of the employer's total cost for an employee. Task-5065776
The UrbanPiper point-of-sale enhancements have been merged into the main UrbanPiper POS module. This simplifies maintenance and keeps related restaurant ordering, store timing, and preparation display capabilities together in one place.
Original PR description
In this commit: === - Merged the `pos_urban_piper_enhancements` module into the `pos_urban_piper` module to consolidate features and ensure streamlined functionality. Related: https://github.com/odoo/upgrade/pull/7042
Payroll users can now open an email composer directly from a payslip to send or resend it by email. This makes the process more consistent with other Odoo actions and reduces manual steps when sharing payslips with employees.
The default VOIP call graph now organizes calls by the week they were created instead of by user. This makes the report faster and easier to read when there are many users, while showing the time-based view users are most likely to need.
Original PR description
By default, the graph view of voip.call should be grouped by week of create_date instead of by user. When it is grouped by user we risk to have something that is too heavy, whereas it is never too heavy when it is by week even with many users. And it is what the user would be the most likely to want to see. We are choosing to use create_date instead of start_date because there is no risk that create_date is empty. task-5266035
Payroll users can now start a group salary adjustment from a wizard, which automatically creates a separate adjustment for each selected employee. This reduces confusion and prevents partially completed shared adjustment records by ensuring every salary adjustment belongs to one employee.
Original PR description
Purpose: Creating Salary Adjustment for multiple employees is weird, can lead to half-finished lines. It would be more simple to adopt same flow as Time Off Multi-Request, a wizard that will create multiple 1-1 Salary Adjustment. Current behavior: - added button `New group Sal. Adjustment` to open the wizard for creating multiple salary adjustments. - trasformed the field `employee_ids` on `hr.salary.attachment` into many2one `employee_id` to have each adjustment linked to only one employee. - added `test_salary_adjustment_multi_wizard` to test the multi adjustment generation - removed test `test_action_split_preserves_all_values` as the split logic is removed because there will be always only one employee for each attachment task-id: 5173000
The VoIP keypad buttons have been refined to make them easier to use, especially on mobile devices. The “Show more” layout is now more consistent across VoIP views, creating a smoother and more predictable calling experience.
Original PR description
This commit refines the keypad button design to improve usability on mobile devices. It also harmonizes the layout of the "Show more" component across allviews. task-5172842  
Turkish payroll now supports advance salary payments for employees going on regular or sick leave. This helps companies follow common local payroll practices and improves payroll accuracy for leave-related payments.
Original PR description
As companies in Turkey, should pay their employees an advanced salary when employees go on leave. Also, it is also a common practice that companies pay the employees an advanced salary when they go on sick leave. Task: 4910992
Website pages now automatically show helpful tooltip messages wherever they are configured. This reduces custom setup work and makes it easier to provide guidance to visitors consistently across online sales and rental pages.
Original PR description
* : website_sale_renting. Purpose: ====== This commit introduces default support for Bootstrap tooltips across all website pages. Before this commit: ======= Tooltips had to be manually initialized or handled case by case in JavaScript for each snippet/page with a specific Interaction. After this commit: ======= Any HTML node with the attribute `data-bs-toggle="tooltip"` automatically displays a Bootstrap tooltip without requiring custom initialization code. Task-5249371
Saudi payroll now calculates end-of-service benefits using actual service duration and legal year-based rules, improving accuracy for resignations, contract endings, and retirement. Payslip provisions also better reflect each employee's employment duration, with clearer labels and added validation tests.
Original PR description
- adjusted the calculation of end of service benefit to use actual number of days and changed the calculations to use total years instead of total days to be compatible with how it's stated by the law - changed the case of retirement to be handled the same as the case of contract ending and not resignation - changed the way eos provision is calculated on the payslip to account for the duration of employment of the employee - added test for eos benefit calculation which checks the cases of resignation and end of contract - changed the string and tooltip of `l10n_sa_number_of_days` to be more descriptive of what it does task-id: 4766060 Forward-Port-Of: odoo/enterprise#96404
Confirmation dialogs now use specific action words instead of generic labels like Ok or Cancel. This makes important decisions easier to understand and helps users avoid mistakes across several business workflows.
Original PR description
Improve the clarity of confirmation dialogs by replacing generic "Ok/Cancel" labels with descriptive, action-oriented verbs. This helps users understand the impact of their decisions and reduces ambiguity in critical actions. Task-5106240