Daily updates from Odoo
Monday, November 10, 2025
9 changes
5 changes
Enhancements to existing features
Employee payslips in India payroll no longer show internal salary rule descriptions meant for HR teams. This keeps payslips clearer for employees and prevents long internal notes from being cut off in the document.
Original PR description
Salary rule descriptions are intended for HR officers, not employees. Displaying them on the employee payslip is unnecessary and causes cropping issues when the text is too long. task-4984330
This update prepares Studio-related test environments for offline behavior, helping ensure the interface works reliably when offline support is enabled. It also makes an existing Studio test more dependable by avoiding clicks on a disabled menu icon.
The Indian Payroll payment advice wizard now lets users indicate whether a payment is made by cheque. When cheque payment is not used, the report hides cheque details instead of showing placeholder text, making payment advice documents clearer and more professional.
Original PR description
This commit allows the payment advice wizard to have the option of not using a cheque and therefore hiding the cheque details from the report if it is not needed instead of having XXXXXXXX as a placeholder. Task-ID: 5231902
The Payroll menu item previously called "Employment Types" is now labeled "Contract Types." This makes the wording consistent with the Employee module and helps users find the same concept under the same name across the system.
Original PR description
- Renamed the (hr_contract_type_action) menu item from (Employment Types) to (Contract Types) for consistency with the Employee module. task-5118865
The GST report columns for India have been reordered so IGST appears before CGST. This aligns Odoo reports with the government portal layout, making comparisons and submissions easier for users.
Original PR description
In this PR, the IGST column is moved before the CGST column to match the government portal report layout and provide a better user experience. task-5244841 Forward-Port-Of: odoo/enterprise#99062
3 changes
Enhancements to existing features
The Saudi localization demo data has been updated so the Sandbox uses current company, partner, and tax information. This helps the latest validation checks run cleanly and avoids warning messages in demo setups.
Original PR description
Our demo data for the Sandbox was outdated, and the new validations for the Other Seller ID triggered warnings. This commit updates the data to include the latest taxes, partners, and company details to ensure all validations pass. task-5152670 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The IGST column has been moved before the CGST column in Indian GST reports. This makes the reports match the government portal more closely and improves readability for users reviewing tax data.
Original PR description
In this PR, the IGST column is moved before the CGST column to match the government portal report layout and provide a better user experience. task-5244841
The VoIP app now uses the official country data stored in Odoo instead of a hard-coded flag mapping. This fixes cases where some places were shown with the wrong flag or country name, making contact information more accurate and consistent.
Original PR description
Previously, we hard-coded the URL according to the country code to display a country flag. However, this is not the case for all countries. Countries like Bonaire, Sint Eustatius, and Saba use the flag of the Netherlands. Additionally, Bonaire, Sint Eustatius, and Saba are shown as Caribbean Netherlands, which is inconsistent with the data from our res.country model. This commit changes it to use the data from res.country. Task-5207454 Forward-Port-Of: odoo/enterprise#99042 Forward-Port-Of: odoo/enterprise#98756
1 change
Enhancements to existing features
The bank statement validation process was optimized to run faster on large databases. This reduces waiting time for users and lowers database load, helping the system stay more responsive.
Original PR description
Description ----------- Avoid self-join of `account_bank_statement` that is done with a `Nested Loop` due to the `LATERAL`. Even if correlated, it requires two separate accesses to its index. Replaces it with a window function + `LAG` partitioned by the `journal_id`. This leads to a simpler plan (lower cost) and working in-memory instead of accessing disk pages (lower IO contention). Benchmark --------- On a database with 46k `account_bank_statement`, calling `_get_invalid_statement_ids` for all statements took: | [Before](https://explain.dalibo.com/plan/7605a4ddc42afbcf) | [After](https://explain.dalibo.com/plan/88d6ac1gee37aha3) | Speed-up | |--------|-------|----------| | 146ms | 72ms | 2x | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232980