Daily updates from Odoo
Wednesday, August 5, 2026
12 changes · master
Resolved issues and error corrections
Automatic bank transaction matching now ignores archived bank accounts when identifying the related customer or vendor. This prevents old or inactive bank details from assigning transactions to the wrong partner, improving reconciliation accuracy.
Original PR description
Steps to reproduce: - Have a partner with a bank account, then archive the res.partner.bank record (keep the partner active). - Import or create a bank transaction (e.g. via bank sync) whose account number matches that archived bank account, and whose label/payment_ref would otherwise match a reconciliation model for a different partner. - Let the transaction go through automatic partner retrieval. => The archived bank account's partner is assigned, even though a normal manual entry (which skips the account-number match) would have used the label instead. Cause of the issue: `AccountBankStatementLine._retrieve_partner()` matches statement lines to partners in batch using raw SQL joining `res_partner_bank`. The query's WHERE clause filters out archived partners (`AND partner.active`) but never filters `res_partner_bank.active`. opw-6340479 Forward-Port-Of: odoo/enterprise#124748 Forward-Port-Of: odoo/enterprise#124537
This fixes an issue in Studio approval requests where a reference field could be created without a valid related model. Ensuring the reference always points to a defined record type helps prevent approval setup errors and improves reliability for users configuring workflows.
Original PR description
studio.approval.request Many2oneReference must have a valid model field.
The Helpdesk unanswered filter no longer treats automatic acknowledgement emails as customer replies needing attention. This keeps support queues cleaner by showing only tickets that genuinely require a response from the team.
Original PR description
Steps to reproduce: --------- - install website_helpdesk - set an email address on the company partner if it is empty ( it is empty in a database without demo data). - generate a ticket from the website. - apply the Unanswered filter. Issue: ------ system generated acknowledgement message is considered an unanswered customer reply. Fix: -------- system generated acknowledgement messages are now considered answered. task-5138678 Forward-Port-Of: odoo/enterprise#125977
This fix prevents an error that could occur when appraisal survey settings were missing or empty. It helps ensure appraisal survey functionality continues working reliably during setup or upgrade scenarios.
Original PR description
Avoid a TypeError in _compute_allowed_survey_types when allowed_survey_types is False by falling back to an empty list before unpacking and appending the appraisal survey type.
```py
File "/home/odoo/src/enterprise/saas-19.3/hr_appraisal_survey/models/survey_survey.py", line 33, in _compute_allowed_survey_types
survey.allowed_survey_types = [*survey.allowed_survey_types, 'appraisal']
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Value after * must be an iterable, not bool
```
Ref: https://github.com/odoo/odoo/pull/268125
Bug introduced in: https://github.com/odoo/enterprise/commit/896f54532338b07265722cb4a4161131d408f58c
upg-[4458975](https://upgrade.odoo.com/odoo/request/4458975?debug=1)
Forward-Port-Of: odoo/enterprise#124417The Time Off Gantt view now only shows time off types that are currently available for selection. This prevents managers from accidentally choosing outdated or disabled leave types when planning time off.
Original PR description
Steps to reproduce: - In Time Off, create a leave with any selectable time off type - Modify this time off type so that it is not selectable anymore - Go to "Management" -> "Time Off" and select the gantt view - When clicking on a day, the now non selectable time off type still shows in the list of available time off types Reason: When fetching time off types to display, the code did not check if the time off type was selectable, leading to this issue. How it was fixed: Added a condition when fetching time off types to only get those that are selectable. Task ID: 6314831
Planning filters for employees and materials now apply the open-shift rule only to shifts without an assigned resource. This prevents assigned shifts from being incorrectly included or excluded, helping teams view the right planning data.
Original PR description
Before this commit, the domain wrongly assumes that we always search on shifts having no role or a role containing resources of types 'user' or 'material' (1). Additionally to the basic domain which searches on the shifts having resources of types 'user' or 'material' (2). After this commit, we add a condition on domain (1) to only apply it for open shifts (shifts having no resource_id). no-task Forward-Port-Of: odoo/enterprise#126616 Forward-Port-Of: odoo/enterprise#126247
Users can now duplicate several maintenance requests at the same time without the system showing an error. This makes bulk work in the maintenance app smoother and avoids interruptions for teams managing equipment requests.
Original PR description
Currently, when a user attempts to duplicate multiple maintenance requests simultaneously, the system throws a ValueError (Expected singleton). This PR fixes that. ### How to reproduce the issue: - Install `mrp_maintenance` module; - Open maintenance request list view; - Select multiple records and try to duplicate them using the Action button; - It will throw a traceback stating a singleton error. ### Expected behavior after PR is merged: Now multiple maintenance requests will be copied without raising any errors. Forward-Port-Of: odoo/enterprise#124255
A small issue in the accounting journal report was fixed by cleaning up unused date information in the report line actions. This helps keep the report interface consistent and reduces the chance of confusing or incorrect behavior for users.
Original PR description
Forward-Port-Of: odoo/enterprise#126603 Forward-Port-Of: odoo/enterprise#125266
The manufacturing planning tests were adjusted to match the corrected handling of demand for the current day. This helps ensure replenishment suggestions include same-day activity scheduled later in the day, reducing the risk of misleading planning checks.
Original PR description
Updated the forecast suggestion test expectations after monthly demand was updated to count the full current day, so same-day orderpoint replenishment moves scheduled later in the day are also included Community PR: odoo/odoo#262435 TaskID-5490137 Forward-Port-Of: odoo/enterprise#126732 Forward-Port-Of: odoo/enterprise#115944
Updated the Italian Balance Sheet report labels to use the correct Italian wording. This helps Italian-speaking accounting users read and interpret the report more accurately without changing the report's calculations or workflow.
Original PR description
### Steps to reproduce the issue: 1. Download Accounting and l10n_it 2. Install and switch to italian language 3. Go to Balance Sheets and select Balance Sheet (IT) 4. Some words are not correct [Here]( https://docs.google.com/spreadsheets/d/1-w83oAHTxDRIi-W_VSJiscNclw-yijzQUHOgMnTq7jE/edit?gid=0#gid=0) the wrong fields with their correct translations. opw-6424609 Forward-Port-Of: odoo/enterprise#126253
Users opening a bank statement line from an in-app notification will now see the related conversation and activity panel. This ensures tagged users can view the comment context immediately, reducing confusion during bank reconciliation work.
Original PR description
Problem: When navigating to a bank statement line through a notification, the chatter doesn't appear. Steps to reproduce: 1. Set in app notifications for one of the users 2. Open Accounting > Bank > To Reconcile 3. Select any bank statement line 4. Tag the user from step 1 in a comment 5. Log in as that user 6. Check notifications and click the new notification 7. Notice how the chatter does not appear on the bank statement line after navigating there Cause: The chatter was not enabled on the bank statement line form view. opw-6410186 Forward-Port-Of: odoo/enterprise#125777
Dropdown fields in account reports now show the text cursor aligned to the right instead of appearing in the middle. This improves the visual polish and usability of report filters without changing any business logic or report data.
Original PR description
Dropdown inputs inside of an account report show the cursor in the center of the input field. The cursor has been changed to be right-aligned. task-6247454 Forward-Port-Of: odoo/enterprise#120728