Thursday, March 19, 2026
8 changes · 17.0
New functionality added to Odoo
This update incorporates a new rule (SE-R-005) from the PEPPOL BIS3 standard for UBL billing. This ensures our system complies with European regulations for electronic invoices, specifically related to the SE region. This change is necessary to maintain accurate and compliant invoice processing for international transactions.
Original PR description
Rule information: https://docs.peppol.eu/poacc/billing/3.0/2025-Q4/rules/ubl-peppol/SE-R-005/ OPW-5881918 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
This update relaxes a previous restriction, allowing employees to create leave requests even if payroll data is present for the period. This change ensures greater flexibility in managing employee time off, particularly in scenarios where continued pay percentages are fully utilized. It simplifies the process for creating leave while maintaining accurate payroll calculations.
Original PR description
Currently we block leave creation if the employee has a validated payslip in that period. In this commit we relax the constraint in the following way, we will allow to put the leave if: - `l10n_ch_swissdec_payroll_impact` is False - `l10n_ch_continued_pay_percentage` and `l10n_ch_disability_percentage` are BOTH 100% if `l10n_ch_swissdec_payroll_impact` is True - `l10n_ch_swissdec_work_interruption` cannot be True in both cases task-5948505
Resolved issues and error corrections
This update fixes a limitation in how service products are linked to projects. Previously, only task-based projects were displayed. Now, both task and employee-based projects are visible, ensuring more accurate project tracking and reporting for sales orders.
Original PR description
**Steps to reproduce (with demo data):**
- Install sale_timesheet.
- Create a product:
- Type: Service
- Create on Order: Task - Project: select (AGR - S00021 - Sales Order)
**Issue:**
Currently, only projects with task_rate pricing type are displayed in the project field.
**Fix:**
In this commit, we updated the domain of the project field to also include employee_rate.so, both task-based and employee-based projects are now visible.
**Technical:**
In the _search_pricing_type() method, we were using the = operator. To keep minimal changes in the stable version, we used the | operator in the field domain instead of modifying the existing logic extensively. like- ('pricing_type', 'in', ('task_rate', 'employee_rate')
task-5118940This update corrects a visual issue where the company header in accounting reports appeared grayed out in dark mode. The change ensures consistent color styling by updating the header's color to match other muted data elements, improving the user experience across both light and dark themes.
Original PR description
Before this pr: - The company header in the accounting reports is grayed out in the light mode only, not in the dark mode. Reason: - Until now, we have been using the hard-coded 'lightgrey' color for the company header. After this pr: - In this pr, we are changing the color of the company header from hard-coded 'lightgrey' color to the standard variable color '--AccountReport-muted-data-color' used for muted data in account reports. Task-5960592
This update fixes a technical issue with how images are displayed in Odoo reports. Specifically, a mistake in the way image URLs were handled was corrected, ensuring images are now rendered correctly across various reports. This improves the visual quality of reports for users.
Original PR description
Forward-Port-Of: odoo/odoo#254633
This update resolves an issue where importing Peppol bills with lines lacking names would cause an error in the system. The fix ensures the system can handle bills with unnamed lines, preventing import failures and improving data import reliability. This impacts the process of receiving and recording invoices from external suppliers.
Original PR description
**PROBLEM** When importing a peppol bill, if the partner have bills with unnamed lines there is a traceback. **STEP TO REPRODUCE** 1. Download the xml attach to the ticket. 2. Go to Accounting/Vendors/Bills, and upload it. 3. modify the Bill, removing the labels on the line so they are unnamed. 4. Upload the xml one more time, to create a new bill. 5. You should have a traceback. opw-6022549
This update resolves an issue where users with limited accounting access couldn't successfully reject XML bill imports. The fix involves a change in how system settings are configured, ensuring that restricted users receive the expected error message and preventing unauthorized imports. This improves data integrity and security.
Original PR description
[FIX] account_edi_ubl_cii: restricted access user cannot import bill To reproduce: - create a user that has readonly access in Accounting - try to import a XML in vendor bills -> should traceback This commit modifies the `res_field` assignation by setting both `res_model` and `res_id` at the same time
This update replaces the old iDEAL logo with the current Wero logo for improved brand consistency. The change also includes a new 'Wero' payment brand designation, ensuring accurate representation of the payment method for customers. This ensures our system reflects the latest iDEAL branding standards.
Original PR description
Before the commit: The iDEAL payment method was using the existed legacy iDEAL logo. After the commit: - Updated the display name to "iDEAL / Wero". - Replaced the legacy iDEAL logo with the new Wero logo. - Introduced a separate "Wero" payment brand. task-5922938