Daily updates from Odoo
Thursday, August 13, 2026
12 changes · master
Resolved issues and error corrections
Planning overlap warnings are now hidden for tasks that are not linked to a project. This prevents users from seeing irrelevant alerts while creating private tasks and keeps scheduling feedback focused on project work.
Original PR description
Steps to reproduce: - - Create a task without a project (do not save) - Set planned_date_begin and date_deadline so it overlaps with another task for the same assignee Issue: - - The overlap warning is shown even though the task has no project. Cause: - - When creating a new record, the overlap warning was shown before saving as there was no check for private tasks (tasks with no project), so the warning could appear even when the task had no project. Solution: - - Add a project check so private tasks never show the warning, and recompute it whenever the project changes. Related PR https://github.com/odoo/enterprise/pull/109988 task-6140800 Forward-Port-Of: odoo/enterprise#122222
Sales users can now view invoices that include Kenyan electronic invoicing codes without needing accounting access. This removes an unnecessary access error while keeping the information available only for standard internal users.
Original PR description
The KE codes are used in invoices and when sales people who do not have accounting access, but still can see their own invoices open an invoice, right now they will have an access error because they do not have read access to the codes. So, we should just apply the same logic as is done in edi.documents and give base.group_user read access to those codes, which are not confidential anyways. Forward-Port-Of: odoo/enterprise#127443 Forward-Port-Of: odoo/enterprise#126825
The Helpdesk ticket quick create form in kanban view now has clearer spacing between the customer field and action buttons. This small visual fix makes the form easier to read and use when creating tickets quickly.
Original PR description
This commit add a space between the partner field and the buttons in ticket kanban quickreate. task-6443626 Forward-Port-Of: odoo/enterprise#126901
Users can now Ctrl-click a timesheet suggestion without accidentally opening a new browser window. The suggestion is added to the form as intended, reducing confusion and keeping timesheet entry smoother.
Original PR description
Currently, when a user use ctrl + click on a suggestion, instead of adding it to the view form, it opens a new window. This is due to the default behavior when ctrl+click is used on a link. Using a button instead of an a href="#" solves this issue. Forward-Port-Of: odoo/enterprise#127230 Forward-Port-Of: odoo/enterprise#126240
Belgian payroll users can now generate 274.xx tax XML reports even when the accounting payroll add-on is not installed. The required SME exemption setting has been moved into the core Belgian payroll configuration, preventing an error and making the report available in more setups.
Original PR description
[FIX] l10n_be_hr_payroll: fix 274.xx xml generation (without accounting)
Bug reproduction:
1 - Install only l10n_be_hr_payroll (without accounting) 2 - Belgium company → create new employee
3 - Create payslip with employee validate it
4 - Payroll → Reporting → 274.XX → Generate XML
5 - Traceback about exemption_sme_status is there
Bug cause:
1 - Field exemption_sme_status is defined in l10n_be_hr_payroll_account
1.1 - It can be defined in l10n_be_hr_payroll instead
2 - When there is only l10n_be_hr_payroll installed
2.1 - It cannot find the mentioned field
Bug solution:
1 - Move field From l10n_be_hr_payroll_account to l10n_be_hr_payroll
task-6422367This fixes an issue where closing entries from German point-of-sale sessions were not being recorded in the Fiskaly portal. The certification module now uses the updated accounting validation process, helping ensure compliant register closures after sales sessions.
Original PR description
Steps to reproduce: =================== - In a Fiskaly-enabled German company, open a PoS session and make some transactions. - Close the register. Issue: ====== - The closing register entry is not registered in the Fiskaly portal. Cause: ====== - `l10n_de_pos_cert` calls the _validate_session method. - After the PoS accounting refactor, `_validate_session` was replaced by `_validate_session_accounting`. Fix: ==== - Update the method call to use `_validate_session_accounting`. task-6455319
Mexican payroll now clearly separates Integrated Daily Wage for severance from Base Contribution Salary for Social Security, reducing confusion and improving confidence in payroll results. The Social Security salary calculation now uses actual accrued days from the prior two-month period, excluding unpaid absences, to better align with Mexican legal requirements.
Original PR description
In Mexico, there are two distinct payroll concepts: * Integrated Daily Wage (SDI): used for severance pay (liquidations). * Base Contribution Salary (SBC): used for Social Security (IMSS).…
In Mexico, there are two distinct payroll concepts: * Integrated Daily Wage (SDI): used for severance pay (liquidations). * Base Contribution Salary (SBC): used for Social Security (IMSS). Previously, these concepts were used interchangeably in the code. While the calculations for IMSS were mathematically correct, they incorrectly referenced the Integrated Daily Wage. This naming inconsistency could cause users to lose confidence in the system's accuracy. All IMSS rule calculations now correctly reference the SBC concepts. Additionally, to ensure strict compliance with Article 34 of the Mexican Social Security Law (LSS): > The daily wage will be determined by dividing the total amount of variable earnings obtained in the previous bimester by the **number of accrued wage days**, and adding its result to the fixed elements of the daily salary. The calculation for the variable portion of the SBC is updated to reflect the actual accrued days of the previous bimester, excluding unpaid absences. target: master task-6374791
This fix ensures employee departures are handled after payslips are created, so payroll records stay in the right order. It also recomputes payslip history when new payslips are added, improving accuracy for Belgian and Omani payroll processes.
Original PR description
Departure should be generated after payslips Forward-Port-Of: odoo/enterprise#127171
This fixes an access display issue where users with Accounting Read-Only rights could not see the General section on a contact's Accounting tab. Bank account details and related accounting information now remain visible to authorized users as intended.
Original PR description
Problem: The General group of the Accounting tab of the partner form view is not visible to some users, even if they have the access rights to see it. Steps to reproduce: 1. Create a user or edit an existing one, giving them Accounting Read-Only access rights. 2. Log in with that user. 3. Go to Contacts and select a partner. 4. Open the Accounting tab 5. Notice how the General group (with the bank account details) is not visible. Cause: In the account_accountant module, the partner form view is inherited in one of the views to add additional groups to the General group of the Accounting tab. However, it doesn't add the new group, but instead replaces the existing groups with the new one. opw-6413683 Forward-Port-Of: odoo/enterprise#126679
Employee appraisal skills are now shown with the strongest skill levels first within each skill type. This makes appraisal reviews easier to read by highlighting key strengths before lower-rated skills.
Original PR description
Same ordering issue as hr.individual.skill.mixin in hr_skills: skills were ordered ascending by level within each skill type, showing the lowest level first instead of the top skill. Drop the explicit order overrides on hr.appraisal.skill and hr.appraisal.goal.skill, now redundant with the mixin's fixed default. task-6459270
External sharing checks in Documents Spreadsheet now support spreadsheet functions that use array-based calculations. This prevents errors when sharing spreadsheets containing formulas such as survey or filter values, and added test coverage helps avoid regressions.
Original PR description
Current behavior before PR: - The external share check only handles functions with a `compute` implementation. - This causes an error for functions using computeArray, such as `=ODOO.SURVEY(...)` and `=ODOO.FILTER.VALUE(...)`. Desired behavior after PR is merged: - The external share check now also handles functions with a computeArray implementation. - The survey test now covers this patch to catch similar errors in the future. Task: [6441815](https://www.odoo.com/odoo/project/2328/tasks/6441815)
The payslip Calendar button now opens the calendar view first, matching what users expect. When creating time off from that flow, payroll teams can choose from the full set of allowed work entry types instead of a restricted list.
Original PR description
Steps to reproduce: - Open a payslip and click the Calendar smart button. - Gantt view opens instead of calendar view. - Creating a time off from there only offers work entry types flagged "Selectable in Time Off", not every allowed type. view_mode/views listed gantt first (wins as default), and referenced a gantt view without the unrestricted work-entry-type create form already used elsewhere for pay-run time off. Reorder view_mode/views so calendar loads first, and reuse the existing unrestricted gantt view (hr_holidays_gantt.hr_leave_gantt_view_payroll) instead of hr_payroll's own restricted one. Task 6443202