Tuesday, July 14, 2026
12 changes · master
Resolved issues and error corrections
Corrects where initialization is applied in the Spanish reports module after a previous change placed it on the wrong field. This helps ensure the related reporting data is prepared correctly without changing user workflows.
Original PR description
https://github.com/odoo/enterprise/pull/118398/ moved the initialization code on the wrong field. Moving it where needed.
Dimona status updates now only apply to companies registered in Belgium. This prevents non-Belgian companies from seeing irrelevant payroll messages when contract start dates are set.
Original PR description
The Dimona status "To Do" appeared in the chatter for non-Belgian companies when setting a contract start date. This commit restricts the Dimona field updates and automated action hooks to companies with the 'BE' country code. task-6344781
The Belgian payroll warning for part-time employees now displays minimum wage amounts with the intended number of decimal places. This makes the warning easier to read and avoids confusion caused by overly long numbers.
Original PR description
For part-time employees, the minimum wage in the warning message shows too many numbers after the virgule. This fixes the message to display exactly two decimals. task-6375081
This update adds the Belgian CODA extension number entry to the translation configuration. It helps ensure this localization component can be handled properly by the translation system, with no expected direct impact on daily users.
Original PR description
This commit will add l10n_be_coda_extension_number in the weblate json file. no task id Forward-Port-Of: odoo/enterprise#124053
Unanswered outgoing VoIP calls, such as rejected or cancelled calls, now clean up the automatic follow-up activity they created. This keeps record chatter cleaner and prevents users from seeing stale call tasks that no longer need action.
Original PR description
…calls When placing an outgoing call from a phone field on a record, an automated activity is created in the chatter and expected to be mark as done and archived after call ends. If the call is not answered (rejected or aborted), the activity stays in the chatter, which is not what we want. Add a `_cleanup_automated_activity` helper that deletes automated activities linked to calls reaching a non-ongoing terminal state. Also remove the explicit `automated=False` override in `_create_call_activity` so these activities correctly default to `automated=True`.
This fix prevents an internal translation marker from being sent to the browser when views are loaded. It keeps the data delivered to users cleaner and avoids unnecessary or confusing technical details being exposed in the client interface.
Original PR description
Before this commit the directive "t-translation" was transmitted to the client. This made little sense as: - the `get_view` method already yields the translated version of a View - views of type other than qweb are not Qweb, so t-translation is not meaningful when fetching them - views are never used as is. They are parsed or compiled, so chances are OWL (which can deal with t-translation) never sees the colour of that attribute After this commit, t-translation directive are not sent to the client when asked via get_view
Users can no longer save an IoT report printer configuration without choosing an actual printer device. This prevents failed print jobs later by catching incomplete setup during configuration.
Original PR description
Community PR: https://github.com/odoo/odoo/pull/273723 Before this commit, you could configure an IoT report printer but not select any IoT printer device, which would cause printing to fail later on. After this commit, the field is required so the user must select a printer device before saving. task-6333695 Forward-Port-Of: odoo/enterprise#122652
This fixes an internal Swiss payroll test so it still checks that employees without a private country trigger the expected warning. The change keeps automated payroll quality checks reliable after a related default-country behavior change.
Original PR description
The warnings test expects a warning to be generated on the payslip because the employee is missing a private country. However, the referenced change introduced a default value for the private country based on the active company. Because the field is no longer blank upon employee creation, the payroll engine no longer flags it as missing, causing the test to fail. See odoo/odoo#275579 task-6361855
Users who are not linked to an employee can now create expenses from documents, as long as they have permission to create expenses for another employee. This removes an unnecessary blocker while keeping existing access controls in place.
Original PR description
Removes the constraint saying a user has to be linked to an employee to create an expense from a document. In this case, the user still needs the rights to create an expense for another employee. task-6237021 Forward-Port-Of: odoo/enterprise#123635 Forward-Port-Of: odoo/enterprise#118955
This fix updates tax-related modules so calculated values refresh correctly when draft or in-memory records are created. It helps prevent stale or missing external tax information in workflows that rely on Avatax or external tax integrations.
Original PR description
Now field dependencies of abstract models are resolved on the abstract model itself in order to trigger the recomputation of computed fields on new() records of abstract models. These changes are safe to apply independently of the ORM change, since dependencies that do exist on the concrete models are unaffected. Community PR: https://github.com/odoo/odoo/pull/275788.
This fixes an inconsistency in how the Hong Kong payroll rental field is configured between employee records and version records. The change helps prevent related automated test failures and improves reliability without changing day-to-day payroll workflows.
Original PR description
The readonly value inconsistency between l10n_hk_rental_id field in the employee's model and the one in the version's model was provoking some tests to fail. Related runbot error: https://runbot.odoo.com/odoo/error/241956 task-6306032 Forward-Port-Of: odoo/enterprise#120673
Fixed an issue where opening a Measure step in Shop Floor could fail because required dialog information was not passed correctly. This ensures operators can record measurements without interruption after the underlying component behavior changed.
Original PR description
Steps to reproduce: - Open Shop Floor - Create a Measure step - Click on the Measure Button - Encounter the error Upon further observation, it was noticed that the properties were not passed correctly to the MrpMeasureDialog component. This happened due to incorrect property definition in OWL 3, while with OWL 2 it was correct. Property definition was changed to comply with OWL 3. task-6345156 Forward-Port-Of: odoo/enterprise#122269