Daily updates from Odoo
Wednesday, June 17, 2026
13 changes · master
New functionality added to Odoo
This update adds crucial product information – like price, tax details, and supplier codes – to the data sent to Pricer. This enhancement enables more accurate pricing calculations for common sales scenarios. The update also ensures Pricer tags are automatically updated when related product information changes.
Original PR description
We are currently missing some fields which must be sent to Pricer for some basic use-case scenarios This PR adds - Price before taxes - Taxes name (ex: 21%) - Supplier product code - Supplier reference - Units of measure of the product The PR also triggers the update of the pricer tags when the models indirectly related to Pricer are modified (taxes name / supplier reference / supplier product code) + cleans up the code a bit task-4506260 Forward-Port-Of: odoo/enterprise#120226 Forward-Port-Of: odoo/enterprise#78009
Enhancements to existing features
This update brings the Owl library used in several Odoo modules up to the latest version. The change involves adapting the codebase to align with the new prop syntax introduced in the updated Owl library, ensuring continued functionality and compatibility.
This update enhances Odoo's security by standardizing how access rights are managed across multiple modules. The changes consolidate access control definitions, ensuring consistent and predictable behavior, and ultimately strengthening the overall security posture of the system. This simplifies maintenance and reduces the risk of access-related issues.
Original PR description
See https://github.com/odoo/odoo/pull/166359
This update enhances the Odoo Enterprise payroll system by displaying a warning banner directly on the employee form. This allows payroll officers to quickly identify and address any missing or incorrect employee data, streamlining their workflow and improving data accuracy. The changes ensure payroll users receive critical alerts regarding pay runs and other relevant information.
Original PR description
To ensure Payroll officers can quickly identify missing or incorrect employee data, this commit extends the warning banner to the top of the Employee form view. Changes: - Extended `_compute_issues` in `hr_payroll` to safely append payroll-specific warnings (e.g., missing pay runs) without overwriting the base HR issues. - Leveraged the existing `actionable_warnings` widget in `hr_payroll` to handle the combined, multi-level warnings for payroll users. - Inherited the view in `hr_payroll` to dynamically replace the widget with `actionable_warnings` specifically for users in the `hr_payroll.group_hr_payroll_user` group. task-5118781
This update enhances the user experience by automatically displaying a paperclip icon on statement lines when supporting documents are attached. Additionally, the system now refreshes statement lines after document uploads, eliminating the need for manual page refreshes to view attachments. This streamlines the process of managing and accessing supporting documentation for financial statements.
Original PR description
Users can add supporting documents directly on a statement line. Make the statement line show a paperclip in this case. Also refresh the statement line after posting a log note because without that the attachments uploaded through a log note would require the user to refresh the page to show the paperclip. --------------------------------------------------------------------------------------------------------------------- Use the statement line attachment field when downloading attachments instead of searching the same attachments separately. task-6237923
This update simplifies the HR payroll configuration menu by renaming the 'Work Entries' section to 'Time Management'. This change enhances user experience and aligns with updated terminology within the Odoo Enterprise system. It follows up on a previous task to streamline the setup process.
Original PR description
This PR expected to rename 'Work Entries' in configuration menu to 'Time Management'. follow up from from previous task: 5976238. task: 6290162
This update enhances the working file exports by now including related checks alongside the trial balance. The changes add a new page for the checks, grouping them by cycle and displaying relevant notes, while also removing unnecessary account state information for a cleaner export.
Original PR description
Before the change when you export a working file, we print the trial balance filtered on the accounts audited during the considered period. Users however expect to also export the related checks. This change include the checks in the export, the first page is dedicated to the trial balance. The checks list start on a new page and the checks are grouped by cycle with the notes shown if there is an input. Also, the account states are removed from the pdf export. task: 6124865
Resolved issues and error corrections
This update resolves an issue where the Intrastat CSV export was failing due to incorrect formatting of numerical data. The fix ensures that data is properly converted to numeric values before calculations, preventing errors and improving the reliability of Intrastat reporting. This ensures accurate data export for Dutch businesses.
Original PR description
During Intrastat CSV export, fields `supplementary_units` formatted using [formatLang](https://github.com/odoo/enterprise/pull/81711/changes), which converts numeric values into strings (e.g.,…
During Intrastat CSV export, fields `supplementary_units` formatted using [formatLang](https://github.com/odoo/enterprise/pull/81711/changes), which converts numeric values into strings (e.g., '84,0'). These string values are later reused in computations, leading to errors like:
```.py
File "/home/odoo/src/enterprise/19.0/l10n_nl_intrastat/models/account_intrastat_report.py", line 163, in l10n_nl_export_to_csv
supp_unit = str(round(res['supplementary_units'])).zfill(10) if res['supplementary_units'] else '0000000000'
TypeError: type str doesn't define __round__ method
```
https://github.com/odoo/enterprise/blob/2bfe0f32c0cec426fc7345ef716395146cc569ca/l10n_nl_intrastat/models/account_intrastat_report.py#L164 This occurs because the export logic expects numeric values, but receives localized strings or None.
Cause:
`formatLang` is applied at the report data level, converting floats into locale-formatted strings. These values are then used directly in arithmetic operations without normalization.
Fix:
Normalize values before computation by:
- Converting input to string
- Replacing locale-specific decimal separators (',' -> '.')
- Casting to float
- Falling back to 0 when value is None or empty
opw-6182286
Forward-Port-Of: odoo/enterprise#116166This update fixes a bug where 401K matching contributions were incorrectly calculated for hourly employees with zero fixed wages. The change ensures that matching contributions are accurately determined based on actual gross pay, providing consistent and correct retirement plan benefits for all employees. This improves payroll accuracy and compliance.
Original PR description
*= test_l10n_us_hr_payroll_account The employer matching cap for pre-retirement plans (401KMATCHING) evaluates to zero for hourly wage employees if wage is set to zero. ### **Steps to Reproduce:** 1)…
*= test_l10n_us_hr_payroll_account The employer matching cap for pre-retirement plans (401KMATCHING) evaluates to zero for hourly wage employees if wage is set to zero. ### **Steps to Reproduce:** 1) Install l10n_us_hr_payroll. 2) Create an employee with an hourly wage and set the fixed wage to 0. 3) Configure the retirement plan parameters as follows: - 401(k) = 3% - Matching Amount = 100% - Matching Yearly Cap = 100% 4) Generate a payslip for this employee and compute the sheet. ### **Observed Behavior:** The "Benefits Matching to Retirement Plans" line computes as zero for the hourly employee. ### **Expected Behavior:** The employer matching contribution should dynamically scale based on the actual gross pay period earnings instead of evaluating to zero. ### **Root Cause:** The calculation of `partial_cap` uses `version.wage` directly at [1]. For hourly employees, the fixed 'wage' field defaults to zero, causing the entire multiplication to cancel out. [1]- https://github.com/odoo/enterprise/blob/4c540f450d4de8b59b871662123f85ed54cca2a9/l10n_us_hr_payroll/data/hr_salary_rule_data.xml#L167 ### **Fix:** This commit computes the retirement matching eligibility cap from `gross annualized wages` and applies the employer matching percentage on the eligible contribution amount. This ensures retirement matching is calculated consistently regardless of the employee's contract type. **opw-6181024** Forward-Port-Of: odoo/enterprise#120570 Forward-Port-Of: odoo/enterprise#119370
This update resolves a technical issue impacting the accuracy of tests across several Odoo modules. The team removed a fallback mechanism that was causing inconsistencies in test results. This ensures more reliable testing and ultimately contributes to a more stable and dependable Odoo Enterprise platform.
Original PR description
Removed fallback. https://github.com/odoo/odoo/pull/270190
A recent issue preventing the successful installation of demo data for the pos_restaurant_appointment module has been resolved. The fix corrects a coding error that was preventing the correct data loading process, ensuring demo data can now be properly installed.
Original PR description
Demo data installation failed because `_load_pos_self_data_read` was used instead of `_load_pos_data_read`. Use the correct loader to allow successful module installation. Runbot Error-940277
This update removes a misleading warning related to R&D time reporting, streamlining the payroll process for users in Belgium. Additionally, an unused field related to contract withholding taxes exemptions has been removed, simplifying data management. This change improves the accuracy of payroll reports and reduces potential confusion.
Original PR description
. Remove not needed Missing R&D Time Rate warning . Remove l10n_be_contract_withholding_taxes_exemption field task-6296840
This update corrects a duplication of the 'abstract field' feature that was previously introduced in the base Odoo module. The change removes an unnecessary override in the web_studio module, ensuring consistency across the Odoo platform. This streamlines development and avoids potential conflicts.
Original PR description
The abstract field was added in odoo/odoo#186121 in the base module. Removing the overwrite here.