Monday, April 27, 2026
15 changes · 19.0
Resolved issues and error corrections
This fixes how the Time Off app identifies relevant leave records when processing employee version information. It helps ensure leave data is matched accurately, reducing the risk of incorrect time-off results or processing errors.
Odoo now loads upgrade scripts under the correct internal upgrade package name. This improves consistency in upgrade logging and ensures related warnings are filtered as intended, helping upgrades run with clearer diagnostics.
Original PR description
The resulting modules should be bound to the `odoo.upgrade` package. Side effects: - the loggers created inside the upgrade scripts are now in the `odoo.upgrade` namespace. - warnings raised by bad usages in upgrade scripts are now correctly filtered. Forward-Port-Of: odoo/odoo#261050 Forward-Port-Of: odoo/odoo#258025
This fix makes Odoo's internal test selection more reliable when test names include brackets, backslashes, or commas. It helps development and quality teams run the intended JavaScript tests accurately, reducing missed or incorrectly selected tests.
Original PR description
Moved to #261516
This fix prevents the website editor from crashing when a user clicks delete multiple times on an Image Wall item. It makes the delete action safer by ignoring repeat clicks after the item has already been removed, improving editing reliability.
Original PR description
Error: Cannot read properties of null (reading 'children') Steps to reproduce: 1.Go to Website -> Edit mode. 2.Add an Image Wall snippet. 3.Click on an image, then repeatedly click the Delete button. 4.Traceback occurs. Before this commit: The first delete click correctly removes the target element from the DOM, including its parent. On subsequent rapid clicks, the handler runs again on the same already-removed element. At that point, parentElement is null, so accessing children throws a traceback. After this commit: Added a safety check using `isConnected` in the delete handler to ensure the element is still part of the DOM. If not, the handler returns early. Repeated delete clicks no longer cause a traceback. task-6033622 Forward-Port-Of: odoo/odoo#255733
This fixes a rare issue where starting a new drag action immediately after another could crash the web interface. The change makes drag cancellation more reliable, improving stability for users interacting with draggable elements.
Original PR description
### [FIX] web: fix crash when cancelling drag sequence Before this commit: drag sequences could be aborted by new drag sequences; the way this worked is that a new sequence would register its "cancel" callback in a global variable, and when another sequence is started, it calls that variable to cancel the previous one. The issue was that the variable was assigned too early; before the actual "cancel" callback was available. This means that in edge cases where 2 sequences would be triggered in less than (effectively) a resolved promise, the callback would not be available and a crash would occur. This commit moves the variable assignment *after* the "cancel" callback is made available, ensuring there is no crash. Runbot [243113](https://runbot.odoo.com/odoo/error/243113) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261014 Forward-Port-Of: odoo/odoo#260594
Contact list views now show related contact types in the user's selected language instead of always showing them in English. This makes contact records consistent with the Kanban view and easier for non-English users to understand.
Original PR description
Problem: When the contact type is set for a related (child) contact, the contact type is shown in English next to the contact name in the contact list view. It should be translated to the user…
Problem: When the contact type is set for a related (child) contact, the contact type is shown in English next to the contact name in the contact list view. It should be translated to the user language. It is correctly translated in the Kanban view. Steps to reproduce: 1. Install the Contacts app. 2. Create a contact or go to an existing contact 3. Add a related (child) contact and set its contact type to any type (i.e. Invoice Address) 4. Change the user language to any language other than English 5. Go back to the contact list view and check the name of the related (child) contact. See how the contact type appearing in the name is in English instead of being translated, while it is correctly translated in the Kanban view. Cause: The list view uses the 'complete_name' field which is not translated, while the Kanban view uses the 'display_name' field which is translated. Solution: Use the 'display_name' field instead of 'complete_name' in the list view. opw-5947987 Forward-Port-Of: odoo/odoo#260815 Forward-Port-Of: odoo/odoo#257539
This update prevents accounting document imports from failing when an attached PDF or file has empty content. It adds a safer fallback so file type detection can continue reliably, reducing import interruptions for users.
Original PR description
* When determining the file type (`_get_import_file_type`) of an attachment, some localizations rely on `file_data['raw']` to infer the file type. * For empty attachments, `file_data['raw']` is falsy, leading to errors when used in the detection logic. * This fix ensures a proper fallback to the binary content when the raw data is empty. runbot error: [Error 1](https://runbot.odoo.com/runbot/build/108173490), [Error 2](https://runbot.odoo.com/runbot/build/108172946) Related PR: https://github.com/odoo/odoo/pull/252208 Forward-Port-Of: odoo/odoo#260921
This update simplifies the setup of financial accounts for Sri Lankan businesses by changing account code formulas. It adds new lines for equity and liabilities to the Balance Sheet, increasing flexibility and accuracy. This change improves the reporting capabilities within the Odoo Enterprise system.
Original PR description
Reduces Balance Sheet account code formulas from 3-digit to 2-digit prefixes to make the COA setup more flexible. New equity and liability lines are also added to the Balance Sheet. Community PR: https://github.com/odoo/odoo/pull/260920 task-6141758
This update resolves an issue where CODA bank statement imports would fail due to discrepancies in the detail sequence (3.2). Banks are now sending files with incremented sequences, which the Odoo system now correctly handles without triggering an error. This ensures seamless import of bank statements from key Belgian financial institutions.
Original PR description
### Issue: Some banks provide CODA files that do not strictly follow the specification, and increment the detail sequence on 3.2…
### Issue: Some banks provide CODA files that do not strictly follow the specification, and increment the detail sequence on 3.2 https://febelfin.be/media/pages/publicaties/2023/febelfin-standaarden-voor-online-bankieren/5607daeda5-1754302976/standard-coda-2.7-en.pdf Importing such files raises an error: `Error R3004: CODA parsing error on information data record 3.2, seq 00020002! Please report this issue via your Odoo support channel.` ### Cause: The parser compared the full `infoLine['ref']`, while only `infoLine['ref_move']` needs to remain consistent https://github.com/odoo/enterprise/blob/a6efef92b86d95e05245c4ccf26324d37cc153e6/l10n_be_coda/models/account_journal.py#L683-L698 The `infoLine['ref_move_detail']` (3.2 sequence) change should not block import when incremented and should not trigger an error ### Steps to reproduce: - Install `l10n_be_coda` and switch to the `BE company` - Import a CODA file with incremented 3.2 detail sequence (e.g., files available in related tickets or test data) Before the fix, the error is trigger opw-6071761 Forward-Port-Of: odoo/enterprise#113904
This update fixes a minor display issue in the Helpdesk app's performance dashboard. Previously, the 7-day average rating was shown as a percentage, which was confusing for users. Now, the rating is displayed as a score out of 5, providing a clearer and more intuitive representation of performance.
Original PR description
Steps to reproduce: - Open the Helpdesk app with demo data. - Check the "My Performance" section of the dashboard. Current behavior: - "Avg Last 7 days" is shown as "3.50 %". Expected behavior: - "Avg Last 7 days" is shown as "3.5 / 5". Issue: The backend already computes `7days.rating` as a 0-to-5 average, but the frontend dashboard template appends a "%" suffix. Solution: Update the Helpdesk dashboard template to display the 7-day average as a score out of 5 instead of as a percentage. task-5998903 Forward-Port-Of: odoo/enterprise#109804
This update fixes an issue where the contact type for related contacts wasn't being translated to the user's language in the contact list view. It ensures that contact information, including contact type, is displayed correctly regardless of the user's language setting. This improves the user experience and consistency across the system.
Original PR description
Problem: When the contact type is set for a related (child) contact, the contact type is shown in English next to the contact name in the contact list view. It should be translated to the user…
Problem: When the contact type is set for a related (child) contact, the contact type is shown in English next to the contact name in the contact list view. It should be translated to the user language. It is correctly translated in the Kanban view. Steps to reproduce: 1. Install the Contacts app. 2. Create a contact or go to an existing contact 3. Add a related (child) contact and set its contact type to any type (i.e. Invoice Address) 4. Change the user language to any language other than English 5. Go back to the contact list view and check the name of the related (child) contact. See how the contact type appearing in the name is in English instead of being translated, while it is correctly translated in the Kanban view. Cause: The list view uses the 'complete_name' field which is not translated, while the Kanban view uses the 'display_name' field which is translated. Solution: Use the 'display_name' field instead of 'complete_name' in the list view. opw-5947987 Forward-Port-Of: odoo/enterprise#114786
This update corrects a warning message that incorrectly flagged transactions using the Cash Basis accounting method as having an inactive Construction Industry Scheme. The fix ensures that the CIS inactive check only applies to purchase-related documents, streamlining reporting and eliminating unnecessary alerts.
Original PR description
Currently, journal entries may be flagged for the CIS inactive partner check, causing unnecessary warning. Steps to reproduce: - Install l10n_uk_reports_cis. - Accounting > Configuration > Settings, enable "Cash Basis" - Open "20% CIS" Purchase tax - Set "Tax Exigibility" to "Based on Payment" and add a Cash Basis Transition Account - Set Outstanding account on the Bank journal - Create a partner and enable (Accounting tab) Construction Industry Scheme" - Create a vendor bill for this partner with a the 20% CIS tax - Register payment to the Bank journal - Open the created CABA entry Issue: Warning will be shown "Construction Industry Scheme hasn't been enabled for this vendor." Analysis: The warning flag is incorrectly triggered because the CABA entry has `invoice_line_ids` field set. However entries should be excluded by this check as it should only apply to purchase-related documents. opw-5942603 Forward-Port-Of: odoo/enterprise#113003
This update addresses an issue where Coda bank statement files with missing transaction data would result in an empty payment reference field in Odoo. This would default to "No description", leading to inaccurate statement line reporting. The change ensures correct payment reference values are populated, improving statement accuracy.
Original PR description
It can happens that coda file with transaction have no communication or structure communication. This can cause problem since we will have an empty payment_ref for the statement line. This will add "No description" as a default value. task-6045138
This pull request addresses a minor typo within the marketing automation test suite. The fix ensures the tests run correctly and prevents potential issues with the automated testing process. This is a routine maintenance update to improve the reliability of our marketing automation tools.
Original PR description
Forward-Port-Of: odoo/enterprise#115315
This update corrects a problem where the Account ID used in Odoo's FAIA XML export didn't always match the corresponding account defined in the company's ledger. This ensures accurate financial reporting by aligning data across systems. The fix updates a key element in the export process, improving data consistency.
Original PR description
This is one of several commits fixing the FAIA xml export. The Invoice/Line/AccountID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match an account defined in MasterFiles/GeneralLedgerAccounts/Account/AccountID. As the latter uses account_code since PR #65221, the former should too. opw-5427296 [Link](https://www.odoo.com/odoo/unassigned-tasks/5427296) Forward-Port-Of: odoo/enterprise#113455