Daily updates from Odoo
Thursday, October 30, 2025
4 changes · saas-18.2
Enhancements to existing features
VoIP now tries to unregister a browser tab when it is closed and shortens how long unused phone registrations remain active. This helps customers avoid hitting provider registration limits when users have multiple Odoo tabs open.
Original PR description
Some providers like OnSIP allow for a limited number of registrations per user. This is a problem in Odoo because each tab opened creates a new registration for one hour. This commit mitigates the problems in two ways: - Sends an "unregister" request onbeforeunload to try to invalidate the registration upon closing the tab. - Reduces the TTL of registrations so that they get invalidated quicker in case the unregistration failed. Forward-Port-Of: odoo/enterprise#98305 Forward-Port-Of: odoo/enterprise#97963
Resolved issues and error corrections
The Chilean electronic invoicing process now selects only one matching company when several share the same tax ID. This avoids processing errors for businesses with branches or duplicate company records using the same RUT.
Original PR description
Before this commit, if multiple companies shared the same RUT (VAT), for example companies with branches, searching a recipient could return more than one company record. This could lead to errors when accessing variables that expect a single record. To prevent this issue, the search is now limited to one company record. OPW-5128543 Forward-Port-Of: odoo/enterprise#98352
This fix ensures Belgian payroll stops paying public holidays that fall during long-term sick leave after the legally defined 30-day period. It helps payroll teams calculate employee pay more accurately and stay aligned with Belgian rules.
Original PR description
Bug: In Belgium, after 30 calendar days of sick leave, all public holidays during the sick leaves are no longer paid. But here they were still being paid. Cause: The method that was checking what to do about public holidays was never seeing public holidays since they were already changed to their corresponding work entries at the work entry generation. Fix: Add the public holidays in the context and change the condition for checking if the current leave is actually from a public holiday or not. Task: 3864585 Forward-Port-Of: odoo/enterprise#98292 Forward-Port-Of: odoo/enterprise#95178
The update ensures automated salary package tests use a valid administrator email, preventing failures in environments without demo data. This helps keep HR salary contract checks reliable across different build setups without changing user-facing behavior.
Original PR description
the tests `test_submit_salary_package_employee` and `test_submit_salary_package` fail on no-demo builds with:
ValidationError: HR Responsible Administrator should have a valid email address
when New Contract Document Template is specified.
#### Root cause:
The `_check_hr_responsible_id` constraint in `hr_contract_salary` requires the HR Responsible to have a valid email.
On no-demo databases, `base.user_admin` has no email hence the failure.
#### Solution:
Set a valid email for `base.user_admin` in the tests setup.
[RB-233563](https://runbot.odoo.com/odoo/error/233563)