Daily updates from Odoo
Monday, May 18, 2026
12 changes · master
Enhancements to existing features
This update standardizes the handling of employee legal names (first and last) across all Odoo localization modules. Previously, each localization had unique logic for these names, leading to inconsistencies. This change aligns with a new, unified approach, ensuring accurate and consistent name formatting in payroll reports and documents for all supported countries.
Original PR description
Replace l10ns specific logic for legal first name and legal last name with the generic one introduced in https://github.com/odoo/odoo/pull/262180
Resolved issues and error corrections
This update resolves a bug that prevented the JS tour for setting up overtime rules from functioning correctly. The fix ensures the tour accurately targets the correct fields and the save button is properly displayed, allowing users to successfully configure overtime rules. The test case confirms the fix.
Original PR description
Before: - Tour filled the ruleset name instead of the rule name due to selector mismatch. - Tour failed when saving ruleset because modal save did not close, hiding main save. After: - Target rule creation wizard via `.modal-dialog` selectors for accurate field editing. - Ensure modal save is clicked and form is visible before saving the ruleset. Impact: - JS tour `overtime_ruleset_flow` behaves as expected again. - Test `TestOvertimeRulesetFlow.test_overtime_ruleset_flow` passes. Task: - 5391395
This update simplifies access to Codabox transaction data. Previously, users needed write access to the company record, which wasn't necessary after the initial connection was established. This change streamlines the process and improves efficiency.
Original PR description
Currently, we use the `_l10n_be_codabox_verify_prerequisites` method before trying to fetch transactions. This method checks if the user has write access rights on res.company model which should not be mandatory to fetch transactions from codabox when the connexion is already created. opw-6108811 Forward-Port-Of: odoo/enterprise#117097
This update resolves an error that occurred when loading sample data for work orders. The issue stemmed from sample data containing missing BOM line information, which caused a system error. This fix ensures that the system only attempts to link BOM lines when they actually exist, preventing the error and allowing sample data to load correctly.
Original PR description
Currently, an error occurs when loading sample data in work orders. **Steps to Reproduce:** - Install `mrp_workorder` without demo data. - Go to `Settings` > `Users & Companies` > `Groups` and open…
Currently, an error occurs when loading sample data in work orders. **Steps to Reproduce:** - Install `mrp_workorder` without demo data. - Go to `Settings` > `Users & Companies` > `Groups` and open the `Manage Work Order Operations` group. - Add the `administrator` to the `users` list. - Open the `Shop Floor` and, if you see `Activate your Work center`, click on it and then click `Configure Later`. - Click on `Load Samples`. `AttributeError: 'NoneType' object has no attribute 'id'` After this [recent commit], sample data loading in mrp_workorder started linking Quality Points to a specific BOM line [1] using the provided sample data [2]. However, some sample entries contain None [3] as the bom_line, which raises the error [1]. This commit ensures that the BOM line ID is only set when a BOM line exists. [recent commit]: https://github.com/odoo/enterprise/commit/c2a3e89c3ff5bc201bf7307b3b7d322d7bd0eecc [1]- https://github.com/odoo/enterprise/blob/0b08377e4e485a1b1da347dd2384b6c17bbb089e/mrp_workorder/models/mrp_production.py#L233 [2]: https://github.com/odoo/enterprise/blob/0b08377e4e485a1b1da347dd2384b6c17bbb089e/mrp_workorder/models/mrp_production.py#L251 [3]: https://github.com/odoo/enterprise/blob/0b08377e4e485a1b1da347dd2384b6c17bbb089e/mrp_workorder/models/mrp_production.py#L242 sentry-7475493233 Forward-Port-Of: odoo/enterprise#117037
This update fixes an issue where the FEC import parser would fail due to empty lines in the input files. The change now automatically skips these empty lines, ensuring all valid FEC files are processed correctly and preventing import errors. This improves the reliability of the French localization import process.
Original PR description
It could happens that we have some empty lines in the fec files, the parser was returning an error when that happened. We still want to process the file so we will just skip the empty lines. task-6169168 Forward-Port-Of: odoo/enterprise#115758
This update resolves an issue where opening the historical payslip view for Indonesian employees was failing. The change involved updating a key reference and correcting a data structure update to ensure the view functions correctly and accurately displays payroll information.
Original PR description
The xml_id `hr_payroll.act_contribution_reg_payslip_lines` was removed in bd2a0767079, so opening the "historical lines" view from an Indonesian employee raised `ValueError: External ID not found`. Replace it with `hr_payroll.hr_payslip_line_action_report` and rename the stale context key `search_default_category_id` to `search_default_category_ids` to match the current search view's filter (the field became M2M). task-6208698
This update corrects an issue where the Website Studio XML editor incorrectly used translations for all websites, regardless of the active one. The change ensures that translations are only applied within the Website Studio's HTML/CSS editor when a specific website is selected, improving the user experience and preventing unintended translation conflicts.
Original PR description
Problem: When opening the Studio XML editor when Website is installed, the translation terms corresponding to the Default Language of the first website in the database are used. This behavior should…
Problem: When opening the Studio XML editor when Website is installed, the translation terms corresponding to the Default Language of the first website in the database are used. This behavior should only be applied to the HTML/CSS Editor in Website. Purpose: Modify Website's override of get_related_views to only return translated views when called with a specific website in context. This is done here by adding a context flag, as to not interfere with customizations made in stable versions. This will be changed for master. Steps to Reproduce in Runbot: 1. Activate a non-English (US) language. 2. Add this language to the Website with the lowest ID in the database, then set it to the Default Language of the Website. 3. While in debug mode, enter Studio and navigate to a view that has translation terms (ex. Sale Order Form view), then open the XML editor. opw-5136124 Foward Port of https://github.com/odoo/enterprise/pull/110418 Forward-Port-Of: odoo/enterprise#116771
This update corrects a visual issue where a 'compute' button was incorrectly displayed for payslips that have already been finalized. The fix ensures this button is only shown for active payslips, improving the user experience and reducing potential confusion. This change was made to streamline the payroll process.
Original PR description
The Bug : Compute button appearing when payslips are in "done" state
The Reason : The action name of the compute button has been updated at the view level, but not the controller level,
given that the updated name doesn't appear in this list `displayHeaderButtonsTransitions`, The function
`displayButton` always return True (always displays it).
The Fix : updated the action name inside `displayHeaderButtonsTransitions`.
task - 6212789This update enhances the system's ability to accurately track employee attendance by now considering officially designated non-working days as absences. This ensures more precise reporting and analysis of employee time, leading to better workforce management decisions. The change improves the reliability of attendance data.
Original PR description
…non-working days as absence Task: 5076624
This update resolves an issue where tours in the Enterprise module were behaving inconsistently. The team refined tour triggers to ensure a more predictable and reliable user experience. This improves the overall usability and stability of the system for users.
Original PR description
Fix undeterministic tours by making some triggers more precise in a few steps.
This update removes a confusing default toggle from the salary rule selection input, streamlining the process for users. The change ensures the first option is automatically selected as the default, improving usability and consistency across employee and payslip views. This simplifies the configuration of salary rules and ensures accurate payroll calculations.
Original PR description
[IMP] hr_payroll: remove salary rule selection input default
There was a default toggle in the selection input for determining the input_default_selection.
1 - I removed it and according to the sequence, the first one is selected as default.
2 - input_default_selection field is dropped.
3 - exclusive_toggle_boolean widget is deleted (its test is deleted as well)
4 - In l10n_lt_employees_salary_taxable_amount_disabled salary rule, it was including input_default_selection, that is removed.
4.1 - The sequences of hr_salary_rule_input_selection_disabled_(1,2,3) is adjusted to still satisfy the default for l10n_lt_employees_salary_taxable_amount_disabled salary rule.
task - 6023720This update simplifies the sales order form by removing a rarely used resource field. The change improves the overall user experience by decluttering the form and focusing on core sales functionality. This ensures a cleaner and more intuitive interface for sales teams.
Original PR description
Before this commit, a resource field has been introduced in sale.order.line model and added in the list view shown inside the form view of `sale.order` model. The problem is that field "pollutes a bit the form view" because that field is only useful in an use case. Since that field is not used in basic Sales flow, it is thus not needed to show it by default. This commit hides that field by default.