Daily updates from Odoo
Monday, June 15, 2026
15 changes · master
New functionality added to Odoo
This update adds several new leave types to the payroll system, specifically designed to accommodate situations related to variable salary. These include options for family events, legal duties, and educational time off, ensuring employees can accurately reflect their time off when their compensation fluctuates. This enhancement improves payroll accuracy and employee support.
Original PR description
This commit adds those leaves for the loss on variable salary LEAVE550 Marriage (Employee) LEAVE551 Marriage of a Family Member YOUNG02 Child Ceremony (Communion / Secular Youth) LEAVE230 Birth Leave (Father / Co-parent) LEAVE650 Child Adoption / Long-Term Foster Care LEAVE450 Death of Partner or Child LEAVE451 Death of Parent or In-law LEAVE452 Death of Extended Family Member LEAVE453 Death (One Day Leave) LEAVE350 Civic or Judicial Duty LEAVE250 Urgent Family or Social Reason (Unpaid) LEAVE213 Extra Legal Time Off LEAVE260 Educational Time Off WORK207 Non-taxable service for political representatives LEAVE600 Solicitation Time Off Task-6275805
This update allows clients to track and pay monthly homeworking fees to employees as a benefit. New salary rules and associated benefits were added within employee settings, providing a structured way to manage these expenses. This improves payroll accuracy and reporting related to remote work arrangements.
Original PR description
In order to allow clients to allocate daily homeworking fees to be paid as a monthly benefit to the employees, new salary rule and its benefit were added to the employee settings. Task: 6037614
Enhancements to existing features
This update adjusts the Odoo Enterprise menu to place the Obox application at the end of the app list, just before the 'Apps' and 'Settings' sections. This change improves user discoverability of Obox within the application interface.
Original PR description
This commit changes the Obox menu sequence so that the app appears at the end of the apps list by default (just before Apps and Settings). task-6275407 Forward-Port-Of: odoo/enterprise#119337
Resolved issues and error corrections
This update fixes a problem where tax lines were missing from the 2307 tax return PDF when the report was folded. The fix ensures that tax information is always included in the PDF, regardless of the report's layout. A new test has been added to verify this correction.
Original PR description
Current behavior: -- Tax lines are missing from the 2307 certificate PDF. Expected behavior: -- The tax lines should always appear on the certificate, regardless of the fold state of the report. Steps to reproduce: -- 1. Create and confirm a bill with any tax on the PH localization. 2. Open the 2307 tax return and export the certificate to PDF. 3. The tax line is missing from the PDF. Cause of the issue: -- The PDF is exported with the report folded, so the partner lines' children (the tax/ATC lines) are never generated. _custom_line_postprocessor then has no tax lines to decorate with the month-wise amounts. Fix: -- Expand each folded partner line down to the ATC level in _custom_line_postprocessor, and mark it unfolded so the new lines survive _filter_out_folded_children. Also added a test covering the folded lines. opw-6235956
This update resolves an issue preventing users from selecting contacts with VAT numbers as feedback recipients within appraisals. Previously, a technical restriction based on VAT presence incorrectly classified these contacts as 'companies.' Removing this restriction now allows for broader feedback recipient selection, though users may need to perform a manual sort.
Original PR description
Issue: ---------------------------------------- We cannot add a contact with a VAT as a feedback recipient. Steps to reproduce: ---------------------------------------- - Have a contact with a VAT - Go to a confirmed appraisal and select 'Ask Feedback' - We cannot add the contact as recipient. Cause: ---------------------------------------- There is a domain on the field to only accept non company contacts. The idea of the domain was to restrict the field to persons only. But since f2965048f60fe6c815b3e50fa714c97a93dfb5d3 the field `is_company` is computed based on the VAT presence. So a contact with a VAT specified is considered a company. Solution: ---------------------------------------- Remove the domain. We allow to select all contacts, the users will have to do the sort. opw-6280689 Forward-Port-Of: odoo/enterprise#120236
This update ensures that non-mandatory text fields in sign documents appear with a transparent background when using dark mode in browsers. A recent update to PDF.js automatically adjusts element colors based on the browser theme, and this fix prevents the non-mandatory fields from inheriting the dark background color.
Original PR description
## Issue When using the browser's dark mode, non-mandatory text fields in sign documents appear with a dark background, which does not match the aesthetic of the rest of the page. ## Steps to…
## Issue
When using the browser's dark mode, non-mandatory text fields in sign documents appear with a dark background, which does not match the aesthetic of the rest of the page.
## Steps to reproduce
1. Set your browser's theme to a dark theme (in Chrome, go to Settings > Appearance > Theme, chose a theme from the dark options)
2. Install Sign (`sign`)
3. Open a Sign template and add 3 Text fields:
- Mandatory
- Non-mandatory
- Read-only (for comparison)
4. Click *Sign Now*
5. **The non-mandatory text field has a dark background.**
## Cause
Since a [PDF.js update](https://github.com/mozilla/pdf.js/commit/ae1cbc6a9ecc738d6777830488ad5481b97338bc), the `light dark` color-theme was added to `:root`. This means that the element will react to the settings of the browser and adapt its background and text color. In this case, there's no other `background-color` provided to mandatory fields, resulting in them using the dark color of the browser theme.
## Fix
We make the default background of text fields transparent then we update the selector of `.o_sign_sign_item_required` to prevent their `background-color` from being overwritten by that new transparent background.
| | Before | After |
|------------|--------|-------|
| **Light mode** | <img width="211" height="99" alt="6213059-before-light" src="https://github.com/user-attachments/assets/c4c70394-c7c2-4dbf-92b9-c1362d1cf9c8" /> | <img width="207" height="89" alt="6213059-after-light" src="https://github.com/user-attachments/assets/63142be5-9f7d-4d5d-94e8-ef9428e1b778" /> |
| **Dark mode** | <img width="220" height="95" alt="6213059-before-dark" src="https://github.com/user-attachments/assets/19149c3d-511e-407c-821e-f318f373368a" /> | <img width="210" height="103" alt="6213059-after-dark" src="https://github.com/user-attachments/assets/0b412d4f-061f-41b3-aae9-569b9a8219dc" /> |
opw-6213059
Forward-Port-Of: odoo/enterprise#117589This update corrects a visual issue where new timesheet entries created from the systray menu were always added to the bottom of the list, requiring users to scroll to see the most recent entry. The fix ensures entries are sorted by creation date, placing the newest entries at the top for easier viewing. This improves user efficiency and the overall timesheet experience.
Original PR description
## Issues When creating a new timesheet entry from the systray menu, that entry is added at the end of the list, which is inconvenient when the list gets long, as it requires to scroll through the…
## Issues When creating a new timesheet entry from the systray menu, that entry is added at the end of the list, which is inconvenient when the list gets long, as it requires to scroll through the entirety of it to see the most recent entry. ## Steps to reproduce 1. Install Timesheets (`timesheet_grid`) 2. Open the systray menu 3. Create two timesheet entries 4. The second (= most recent) entry appears below the first (= oldest) entry ## Cause Since https://github.com/odoo/enterprise/commit/5901619141c81085111f2ee65b54492abf1e324f the entries are sorted based on the create date in ascending orer. This means that the oldest entries appear at the top, and the most recent at the bottom. On top of that, new entries were added at the end of the list instead of the start. ## Test The existing test `Creating a new timesheet places it at the top of the list` was only adding one entry to the list, thus was not properly testing **where** the new entries were added. opw-6284059 Forward-Port-Of: odoo/enterprise#120258
This update resolves an issue where users without HR access rights were seeing a placeholder image instead of their avatar in the timesheet grid view. The fix ensures that the correct employee avatar is displayed, regardless of user permissions, improving the user experience.
Original PR description
Steps to reproduce: ------------------- - Install the hr_timesheet module - Create a user without HR access rights - Create a timesheet - Log in with the above user - Open the kanban view Issue: ------- Instead of showing the employee's avatar, a placeholder image is displayed. Reason: ---------- The user does not have access to the hr.employee model. Fix: ----- In this commit, if the user does not have access to hr.employee,we fetch the image from the hr.employee.public model. task: 4461272 Forward-Port-Of: odoo/enterprise#120361 Forward-Port-Of: odoo/enterprise#83574
This update corrects a misleading warning message displayed during pay run creation. Previously, users received warnings for pay runs where the employee was already included, even if the warning was incorrect. Now, the system only alerts users to pay runs where the employee is genuinely missing, improving accuracy and reducing unnecessary notifications.
Original PR description
Previously, when creating a new version of an employee, warnings would have been shown telling the user that the employee is missing in every pay run already created, even the ones where the employee was actually already included. Now, only the right pay runs missing the employee are shown on the warnings. task-6252396
This update corrects an issue where planning roles weren't being assigned correctly in the Enterprise system. The change ensures that the default planning role is set properly after other role assignments, streamlining the planning process for users. This improves the overall efficiency of project planning within Odoo Enterprise.
Original PR description
https://github.com/odoo/odoo/pull/265469
This update fixes a potential issue where employee payslips in the Belgian payroll module (l10n_be_hr_payroll) could display a negative net salary due to high fiscal voluntarism deductions. The change caps these deductions to prevent net salaries from going below zero, ensuring accurate payroll calculations.
Original PR description
In cases where an employee has a low taxable amount (e.g. due to many unpaid work entries) and a high fiscal voluntarism deduction, the resulting payslip could compute a negative net salary. This commit caps the fiscal voluntarism deduction to the remaining taxable income after withholding taxes, ensuring the net salary never drops below zero due to this rule because of the Fiscal Voluntarism Task Id: 6283617
This update removes duplicate time off types from the l10n_be_hr_payroll module. We've streamlined the system to only retain the essential Postponed Paid Time Off N-1 and N-2 types, simplifying payroll processing and reducing potential errors. This change ensures consistency and accuracy in time off calculations.
Original PR description
We only keep the Postponed Paid Time Off N-1 and N-2 types. task-6292642
This update ensures the correct appraisal template is automatically assigned to employees based on their department. Previously, the system ignored department-specific templates. Now, it selects the lowest numbered template matching the employee's department or a template with no department assigned, ensuring accurate appraisal workflows.
Original PR description
**Before this commit:** - We were never setting the appraisal template based on the employee's department. Instead, we were ignoring all templates that had a department assigned. And were choosing the first template. **After this commit:** - We will select the first lowest sequence template that satisfies either of the following conditions: 1. The template's department matches the employee's department. 2. The template has no department assigned. task: [6255087](https://www.odoo.com/odoo/project/1251/tasks/6255087)
Features or functions removed from Odoo
This pull request removes several community-developed apps from the core Odoo Enterprise platform. These apps were identified as no longer essential and were removed to streamline the system and reduce potential maintenance overhead. This change improves the overall performance and stability of the Odoo Enterprise environment.
Original PR description
- Community https://github.com/odoo/odoo/pull/267998
Code cleanup and technical improvements
This update simplifies the underlying code for our account reporting modules. As part of a larger migration, the team has replaced older components (`t-custom-model`) with newer, more efficient structures (`t-model` and `t-model.proxy`). This ensures continued stability and performance.
Original PR description
* = [accountant_knowledge] As part of the migration from `owl 2` to `owl 3`, this commit replaces uses of `t-custom-model` with `t-model` or `t-model.proxy`. community: https://github.com/odoo/odoo/pull/269573