Daily updates from Odoo
Thursday, March 26, 2026
16 changes · master
New functionality added to Odoo
This pull request adds a mapping between payroll data and accounting records within the Enterprise module. This enhancement ensures that payroll expenses are correctly categorized and tracked for accurate financial reporting. It improves the integration between HR and finance processes.
This update introduces a new report (2069-RCI) for French tax filings, specifically related to the 'liasse fiscal'. The changes include dynamic section additions for accurate reporting and consistency improvements to existing reports, ensuring compliance with French tax regulations.
Original PR description
This commit will add the new report 2069-RCI from the "liasse fiscal". Some sections needed some dynamic section to be added in the report. For each of them, a new line "Add new section" has been added that will create the needed line with the correct figure type in the report. Also did some change on the 2033 F for the naming of lines and sequence to be consistent task-5417364
Enhancements to existing features
This update adjusts the payroll calculations in Belgium to comply with a new law regarding guaranteed salary during a phased return to work following a period of incapacity. The changes ensure accurate accounting for reduced earnings during this transition period, aligning with government policy. New tests have also been added to validate the updated logic.
Original PR description
[IMP] l10n_be_hr_payroll: update neutralisation of guaranteed salary during progressive work resumption Updates the logic to comply the law (Modification de l’article 52, §5, alinéa relatif à la neutralisation du salaire garanti en cas de reprise progressive du travail, Loi du 19 décembre 2025 exécutant une politique renforcée de retour au travail en cas d’incapacité de travail) and add tests. task-5936812
This update adds 'Load More' and 'Search More' buttons to the shift template selection field, allowing users to easily access and select any of the available templates, regardless of the initial 10 displayed. Previously, users were limited to only the first 10 templates, now they can efficiently manage a larger selection of shift templates. This enhances usability and flexibility for shift planning.
Original PR description
_*=project_forecast Before this commit, the shift templates only displayed the first 10 templates. If users wanted to select a template beyond these 10, there was no way to access them. With this commit: A 'Load More' button is added when there are more than 10 templates. Clicking this button loads 10 additional templates at a time.Once 20 templates are loaded, the 'Load More' button is hidden, and a 'Search More' button appears instead. Clicking it opens a dialog box that displays the remaining template, allowing user to select from all available templates easily. This improvement ensures that users can access and select any related template beyond the initial set of 10. Task-3350675
This update standardizes the display of percentage fields within the Swiss payroll module. Previously, percentages were represented as whole numbers, which has now been changed to fractional numbers (ratio of 1.0) and displayed using a dedicated percentage widget. This ensures consistent and accurate reporting for Swiss payroll calculations.
Original PR description
Generalised the definition of fields displayed as percentages in the Swiss payroll ocalization to be fractional numbers (ratio of 1.0) rather than whole numbers (ratio of 100.0), and used the percentage widget to display them all. task-5169522
This update enhances Sendcloud label generation by adding package names (Pack01, Pack02) alongside the sales order number. This clarifies which label corresponds to which package, especially when orders contain multiple shipments, improving accuracy and traceability during shipping.
Original PR description
Currently, labels generated via Sendcloud display only the SO number. When a single sales order contains multiple packages (e.g. , Pack01 and Pack02), all generated labels look identical (e.g., S00001). This makes it difficult for users to quickly identify which label corresponds to which package during packing or shipping operations. Now, the labels generated via Sendcloud now include the package name when a package is specified, or the delivery name when no package is defined, in addition to the SO number. This change ensures that each label clearly reflects the exact parcel it is associated with, even in multi-package delivery flows. After this change, if S00001 has two packages, the label order numbers display: - S00001-Pack01 - S00001-Pack02 This improves parcel identification, reduces the risk of mislabeling, and enhances traceability for multi-package deliveries. task-4509005
Resolved issues and error corrections
This update improves the way attachments are handled within the website helpdesk module. A recent change allows the `insert_attachment` function to return attachment IDs, which are now correctly passed back to the website helpdesk override. This ensures attachments can be used effectively and avoids potential conflicts.
Original PR description
Following the changes in [PR](https://github.com/odoo/odoo/pull/219914), `insert_attachment` now returns `orphan_attachment_ids` so they can be reused outside the method. To avoid return-value conflicts in the website_helpdesk override, we return the result of the super call here. task-[4364668](https://www.odoo.com/odoo/all-tasks/4364668)
This update ensures that waiting payslips are automatically recalculated whenever key information related to payroll is changed. This guarantees that employees receive accurate payment details, resolving potential discrepancies and improving payroll reporting. The change impacts the HR Payroll module.
Original PR description
This commit makes waiting payslips recomputes whenever inputs are changed to make sure the sheet is up to date with inputs Task#5439146
This update restricts the use of the `DotDict` class to testing environments only. Previously, its improper use could lead to unexpected behavior. This change enhances stability and reduces potential issues in production code.
Original PR description
The `DotDict` class can produce unexpected behaviour if used incorrectly. This commit moves this class so that it is only used in tests. task-4822364
This update resolves an issue related to the format of Client IDs used in the payroll module, specifically for the Belgian HR payroll (l10n_be_hr_payroll). The change allows for both the old and new Client ID formats (with and without a hash) to be processed correctly, ensuring seamless integration with external systems.
Original PR description
Forward-Port-Of: odoo/enterprise#111531 Forward-Port-Of: odoo/enterprise#111276
This update resolves an issue where the l10n_ar_edi module fails to function correctly after upgrading. The fix ensures the module has a direct dependency on the currency_rate_live module, which is now correctly installed, preventing an error related to a missing currency provider setting.
Original PR description
The module [adds](https://github.com/odoo/enterprise/blob/master/l10n_ar_edi/models/res_company.py#L64-L67) selection values to field `res_company.currency_provider`, a field [defined](https://github.com/odoo/enterprise/blob/3dc72c9641f62990f5ed3c0ce0cda5ed7b6784a1/currency_rate_live/models/res_config_settings.py#L194-L200) in module `currency_rate_live`, but althouth it is auto-install, it's not a direct dependency, which can trigger errors. To reproduce: - Install `l10n_ar_edi` in 19 - Uninstall `currency_rate_live` - Upgrade to saas~19.2 It will break with ``` AssertionError: Field res.company.currency_provider without selection ```
This update resolves a minor issue within the l10n_ch_hr_payroll module, specifically correcting a file name that caused a potential error. This ensures the payroll calculations function smoothly and reliably, preventing disruptions to payroll processing. The change is a straightforward fix with no impact on core functionality.
Original PR description
related PR : https://github.com/odoo/enterprise/pull/103118
This update fixes a misunderstanding regarding the date a W4 form is filed with an employer. Previously, the system incorrectly tracked when the form was filled in, rather than the actual filing date. This change ensures accurate reporting and compliance related to US payroll.
Original PR description
This field is about when the W4 is filed with the employer, not when it's filled in. opw-5096780 Forward-Port-Of: odoo/enterprise#111679 Forward-Port-Of: odoo/enterprise#111213
This update fixes a previous issue where users couldn't access worksheet properties within the Quality Check process. The changes now display the worksheet tab and add a simplified validation button, streamlining the workflow and enhancing the user experience. This improves efficiency and clarity for users managing quality checks and maintenance requests.
Original PR description
- Display the Worksheet tab to user in Quality Check and Maintenance Request form views when a worksheet template is set. Previously, the tab was hidden, preventing users from viewing or accessing the worksheet properties. - Added a Validate button in the Quality Check form view for worksheet-based checks, allowing users to validate directly based on worksheet property values Removed the Pass and Fail buttons in this case to streamline the validation flow and reduce user confusion. - Remove the worksheet template title from the Quality Check wizard when displaying worksheet properties to provide a cleaner interface. These changes ensure that users can easily access relevant worksheet properties and improve overall UI clarity. Community PR: [254794](https://github.com/odoo/odoo/pull/254794) Task Id: 5955976 Forward-Port-Of: odoo/enterprise#110899
This update fixes an issue where the SEPA payment file version was incorrectly displayed as empty in the Odoo interface. The fix ensures the correct 'PAIN 09' version is generated, aligning with the underlying database data. This improves the accuracy of payment file generation.
Original PR description
https://github.com/odoo/enterprise/commit/80f9f966d7db793ae82e65c76514323cb10e34ab tried to fix the issue, but assumed the field would be returned empty by the ORM when the value was inconsistent with the db. It's not true: it returns the database value ; only the UI shows the field as empty. Forward-Port-Of: odoo/enterprise#112141
This update fixes a crash that occurred when using the command palette to interact with the AI messaging feature. The change simplifies the AI action's return to prevent unexpected errors, ensuring a stable and reliable experience for users. This resolves a previous issue impacting AI functionality.
Original PR description
Prior to this fix, messaging the llm via the command palette would cause a crash because of some undefined value in the return of the action function in the `askAIProvide` method. This commit changes the action to a void returning function, which prevents the call from crashing.