Daily updates from Odoo
Tuesday, April 28, 2026
152 changes
20 changes
Resolved issues and error corrections
This update ensures the o_spreadsheet component used within Odoo 19.3 is running the latest version. This improves the functionality and stability of the spreadsheet feature, which is used for various reporting and data management tasks. The update was developed by a team of Odoo engineers.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/be0ca17fdc [REL] 19.3.0 [Task: 0](https://www.odoo.com/odoo/2328/tasks/0) Co-authored-by: Florian Damhaut (flda) <flda@odoo.com> Co-authored-by: Anthony Hendrickx (anhe) <anhe@odoo.com> Co-authored-by: Alexis Lacroix (laa) <laa@odoo.com> Co-authored-by: Lucas Lefèvre (lul) <lul@odoo.com> Co-authored-by: Adrien Minne (adrm) <adrm@odoo.com> Co-authored-by: Ronak Mukeshbhai Bharadiya (rmbh) <rmbh@odoo.com> Co-authored-by: Dhrutik Patel (dhrp) <dhrp@odoo.com> Co-authored-by: Rémi Rahir (rar) <rar@odoo.com> Co-authored-by: Pierre Rousseau (pro) <pro@odoo.com> Co-authored-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Co-authored-by: Marceline Thomas (matho) <matho@odoo.com>
This update fixes a technical issue that caused a traceback error when viewing restaurant bookings with no bookings scheduled. The problem stemmed from an automatic change introduced during a migration, which incorrectly targeted a variable. This commit corrects the variable access, ensuring the booking list displays correctly even when empty.
Original PR description
Inside the custom list renderer for booking for pos_restaurant we access `this.list.records` which doesn't exist and throws a traceback when no there are no bookings. The `this.` was added automatically by a migration script for OWL3 to force this usage to target component variables. But in this case `list` is set inside the web.ListRenderer template with `t-set`. This commit will revert the automatic change for the access to and replace `this.list.records`, with `list.records` Task-[6147678](https://www.odoo.com/odoo/project/1737/tasks/6147678)
This update corrects a technical issue related to how binary data is handled within the l10n_uk_reports_cis module. A recent change in Odoo required a specific format ('BinaryBytes') for binary fields, which was previously causing errors. This fix ensures the module functions correctly and avoids data processing problems.
Original PR description
Since https://github.com/odoo/odoo/pull/244421, binary field does not accept 'bytes' but to be wrapped explicitly as 'BinaryBytes' task-5481774
This update resolves a problem where activity updates weren't reliably shared between tabs in Odoo. The issue stemmed from interference with a specific internal route (`/mail/data`) during testing. This fix ensures that activity updates are consistently reflected across all relevant tabs, improving user experience.
Original PR description
The `@mail/activity/activity/activity updates are shared between tabs` fails in a non-deterministic fashion. It occurs because the `/mail/data` route can interfere with the test. runbot-242616 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260862 Forward-Port-Of: odoo/odoo#260265
This update ensures consistent test tagging across Odoo versions 18 and 19, preventing disruptions to the nightly test suite. Previously, an error during test parsing could lead to the entire suite being disabled. This change backports a key fix to ensure reliable test execution.
Original PR description
When an error is parsed during the nightly, the default test tag is not correct in 18 and 19, what could lead to disabling the complete hoot suite if not taking enough care when disabling a test. This backports part of #234937 to ensure with have the correct tag in all version supporting hoot tests. Forward-Port-Of: odoo/odoo#261618 Forward-Port-Of: odoo/odoo#261526
This update ensures that the unit of measure (UoM) specified for a supplier's information related to a specific product variant remains consistent across all other variants of the same product. Previously, this could lead to inconsistencies in pricing and ordering. This fix improves data accuracy and reduces potential errors in purchase order processing.
Original PR description
Make sure any UoM defined on a supplierinfo having a specific variant cannot be used by other variant of the same product template Task: 6042382 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260490 Forward-Port-Of: odoo/odoo#259213
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 CABA entries are properly excluded from this check, preventing unnecessary alerts and streamlining reporting. This improves the accuracy of CIS-related data.
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
A minor bug preventing the generation of EC sales returns was resolved. This issue stemmed from a typographical error introduced during a recent update to the ec sales list report. This fix ensures accurate reporting of returned sales transactions.
Original PR description
With the rework of the ec sales list report(https://github.com/odoo/enterprise/commit/4096c1fcbd7f31f70153058d2e3f9eab6d82e356#diff-2f90e40d6e7b35681a4af03037e8e5ee0fddab2ba0876d9f148bf79786a91c29), the return generation of this type became generic but a small bug appeared. It was not generating anymore because of a typo. Forward-Port-Of: odoo/enterprise#114815
This update ensures that adding a new car or bike automatically makes all vehicles of the same type available in the system. Previously, adding a new vehicle could incorrectly make vehicles of a different type visible. This change maintains consistent vehicle availability for better reporting and management.
Original PR description
When you are getting a new car or a new bike, it'll make available all the your vehicle whatever is the type of vechicle. To keep consistent behaviour, we are only make available vahicle of same type Bug introduced in refactoring: https://github.com/odoo/odoo/pull/220160 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261002
This update resolves an issue where invoice settlement could fail if the commercial partner information wasn't fully loaded. The fix now directly uses the partner ID from the invoice data, streamlining the process and preventing errors. This ensures smoother invoice settlement operations.
Original PR description
Before this commit, it was possible that commercial_partner_id was not loaded, which caused an error when settling an invoice. This commit fixes the issue by avoiding the need to load the full partner record. Since only the partner ID is required to load the account move, it is now read directly from the raw data, which already includes the ID. opw-6023150 Forward-Port-Of: odoo/enterprise#114110 Forward-Port-Of: odoo/enterprise#111957
This update corrects a minor issue where payslips were incorrectly marked as 'paid' during report generation for the ISO20022 payroll accounting module. This ensures that reports accurately reflect the status of payroll transactions, improving data reliability for financial reporting. The change was a simple fix to prevent an unintended action during the report generation process.
Original PR description
…t generation Forward-Port-Of: odoo/enterprise#115273
This pull request corrects a minor typo within the marketing automation test suite. The fix ensures the tests run smoothly and accurately, maintaining the quality and reliability of the marketing automation functionality. This is an internal technical update.
Original PR description
Forward-Port-Of: odoo/enterprise#115315
This update fixes an issue where the 'Hide lines at 0' feature was removing the report-level total line from reports like the Trial Balance when printed. This commit ensures that total lines, including those without a parent, are always displayed, improving report accuracy and clarity for users. This change was implemented to maintain consistent and complete reporting.
Original PR description
When "Hide lines at 0" is enabled, printing e.g. the Trial Balance will drop the report-level "Total" line when printing. This commit fixes that. The issue was introduced in this commit[^1], which didn't consider total lines without a parent (i.e. root total lines). [^1]: https://github.com/odoo/enterprise/commit/7fec18b99eb2aa5ebc357dcad5f95f234db5b7d8 Forward-Port-Of: odoo/enterprise#115011 Forward-Port-Of: odoo/enterprise#114084
This update fixes a bug that prevented links within 'Button' snippets added to the website builder from being translated. Previously, these links were excluded from the translation process. Now, dropped button links are correctly tagged for translation, ensuring all website content can be localized.
Original PR description
Before this commit, links on `Button` inner snippets dropped from the sidebar (not through powerbox) were never translatable. `o_translate_inline` was only added in link insert flows or when already present in snippet template, not when dropping inner button snippets. As a result, dropped button anchors were missing `o_translate_inline` and were filtered out from translatable inline links. Steps to reproduce: - Enter edit mode. - Drag and drop a `Button` inner snippet. - Save. - Switch to translation mode. - Try to edit the button link: it cannot be edited. This commit adds handling on snippet drop to tag dropped anchors with `o_translate_inline`. task-5943645 Forward-Port-Of: odoo/odoo#261433 Forward-Port-Of: odoo/odoo#249019
This update resolves an issue where repeatedly deleting images in an Image Wall snippet caused a technical error (traceback). The fix adds a check to ensure the element still exists in the webpage before attempting to delete it, preventing the error and ensuring smooth operation.
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#261341 Forward-Port-Of: odoo/odoo#255733
This update ensures that the Slovak VAT tax reports generated by Odoo comply with the official Slovak XML format. Specifically, it enforces the required 2 decimal place precision for editable tax report cells, aligning with the latest VAT XSD schema. This improves data accuracy and avoids potential issues with VAT reporting.
Original PR description
As per the Slovak VAT XSD schema, editable fields must use a precision of 2 decimal places. So updating here to ensure compliance with the official XML format. Reference: https://ekr.financnasprava.sk/Formulare/XSD/dph2025.xsd Forward-Port-Of: odoo/odoo#261459
This change corrects a bug where archived email templates were incorrectly displayed in the applicant refusal wizard. The fix ensures that only active email templates are suggested, preventing confusion and ensuring accurate email communication during the application refusal process. This improves the user experience and data consistency.
Original PR description
Pre-requisites: --------------- 1. Create or duplicate any `hr.applicant` email template. 2. Archive the newly created template. 3. Archive the email template linked to a refuse reason. Steps to…
Pre-requisites: --------------- 1. Create or duplicate any `hr.applicant` email template. 2. Archive the newly created template. 3. Archive the email template linked to a refuse reason. Steps to reproduce: ------------------------- 1. Install hr_recruitment. 4. Go to Recruitment > Applications > All Applications and open an applicant. 5. Click on the "Refuse" button to open the refuse wizard. 6. Click on the "Email Template" and click on 'Search More' 7. Observe available templates Issue: ------- If a refuse reason is linked to an archived email template, the wizard automatically pre-fills that archived template Cause: ---------- The `_compute_template_id` method automatically assigns the template from the refuse reason without checking whether the template is active, which allows archived templates to be pre-filled in the wizard. https://github.com/odoo/odoo/blob/aa2a7c0e5a5de970cdb8f6a7ba9f02ad75cf5078/addons/hr_recruitment/wizard/applicant_refuse_reason.py#L91-L96 Solution: ----------- - Update `_compute_template_id` to ensure only active templates are automatically assigned. opw-5974244 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260853 Forward-Port-Of: odoo/odoo#251186
This update changes the email address used for automated IAP communications from iap@odoo.com to noreply@odoo.com. This change improves email deliverability and reduces the likelihood of incorrect responses to automated messages from Odoo.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/odoo#260794 Forward-Port-Of: odoo/odoo#259691
This change updates the email address used for automated support notifications from iap@odoo.com to noreply@odoo.com. This improves email deliverability and reduces the risk of clients responding to outdated support addresses.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update removes inactive reports from appearing in search results, enhancing the user experience. It also resolves a minor bug impacting VAT Return reports for Czech customers, ensuring accurate reporting. This improves the reliability of the reporting system.
Original PR description
When searching for reports through the search panel inactive reports still show up in the result, this change hide the inactive variant reports from the search result. Also, fixes a minor bug related the l10n_cz, When search for VAT Return (CZ) it would cause a bug due to missing the target report to look into. task: 6149101
21 changes
Resolved issues and error corrections
This update resolves an issue where a key test for sharing activity updates between Odoo tabs was unreliable. The problem stemmed from interference with a specific internal route (`/mail/data`). Merging this fix ensures that activity broadcasts function consistently, improving the stability of Odoo's notification system.
Original PR description
The `@mail/activity/activity/activity updates are shared between tabs` fails in a non-deterministic fashion. It occurs because the `/mail/data` route can interfere with the test. runbot-242616 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260862 Forward-Port-Of: odoo/odoo#260265
This update fixes a bug that caused errors when repeatedly deleting images from an Image Wall in edit mode. The fix prevents a traceback by ensuring the element still exists in the DOM before attempting to delete it, improving the overall stability of the website editor. This ensures a smoother experience for users.
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#261341 Forward-Port-Of: odoo/odoo#255733
This update ensures that the Slovak VAT tax reports generated by Odoo comply with the official Slovak XML format. Specifically, it corrects rounding to two decimal places in editable fields, aligning with the required precision specified by the Slovak VAT XSD schema. This ensures accurate data exchange with tax authorities.
Original PR description
As per the Slovak VAT XSD schema, editable fields must use a precision of 2 decimal places. So updating here to ensure compliance with the official XML format. Reference: https://ekr.financnasprava.sk/Formulare/XSD/dph2025.xsd Forward-Port-Of: odoo/odoo#261459
This update ensures consistent test tagging across Odoo versions 18 and 19, preventing potential disruptions to automated testing. Previously, an error during nightly tests could disable the entire 'hoot suite' due to an incorrect default tag. This change backports a fix from a larger project to maintain stability and reliability of our testing processes.
Original PR description
When an error is parsed during the nightly, the default test tag is not correct in 18 and 19, what could lead to disabling the complete hoot suite if not taking enough care when disabling a test. This backports part of #234937 to ensure with have the correct tag in all version supporting hoot tests. Forward-Port-Of: odoo/odoo#261618 Forward-Port-Of: odoo/odoo#261526
This update resolves an issue where copying and pasting content from the blog post editor unexpectedly modified the original field. The fix adds a setting to the editor to prevent copying outside of the editable area, ensuring data integrity and preventing unintended changes to the source records.
Original PR description
Problem: When copying the blog post title and pasting it elsewhere, editing the pasted content unexpectedly modifies the original field source. Cause: The copied HTML retains `data-oe-*` attributes, causing the editor to treat the pasted content as a field binding and propagate changes back to the original record. Solution: `contenteditable="true"` should be added on fields (`o_savable`) to prevent copying outside of savable area. Steps to Reproduce: - Copy title of blog post. - Paste it elsewhere in editable. - Edit the pasted text. - Observe the original field source also changes. opw-6105714 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#258880
This update changes the email address used for automated support responses from iap@odoo.com to noreply@odoo.com. This change improves email deliverability and reduces the risk of incorrect responses to support inquiries.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/odoo#260794 Forward-Port-Of: odoo/odoo#259691
This change updates the email address used for automated support notifications from iap@odoo.com to noreply@odoo.com. This ensures that client responses to support emails are correctly directed to the appropriate team, improving communication and support efficiency.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update resolves an issue where duplicating an employee would incorrectly copy their bank account information, leading to salary payments being routed to the same account for both employees. The fix prevents the bank account from being copied during duplication, ensuring each employee has their own dedicated account.
Original PR description
Steps: - Duplicate an employee. - Check that the bank account is copied. - Modify the bank account on the duplicated employee. - Verify the original employee’s bank account. Issue: - When duplicating an employee, the bank account was copied as well, causing both employees to use the same account. Updating it for one also changed it for the other, leading to both salaries being paid to the same account. Fix: - Set the 'bank_account_id' field to not be copied during duplication, ensuring the field is cleared for the duplicated employee. task-6093406 Forward-Port-Of: odoo/odoo#261505 Forward-Port-Of: odoo/odoo#259405
A minor technical issue was resolved where the wrong function was being utilized within the VoIP sales module. This fix ensures accurate processing of VoIP calls related to sales transactions. The change improves the reliability of the sales process.
Original PR description
Shh! We used the wrong function.
This update addresses an issue where Coda bank statement files sometimes lacked the necessary data to populate payment reference fields in Odoo. Without this information, Odoo would default to 'No description' for payment statements. This fix ensures accurate payment tracking and reporting.
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 Forward-Port-Of: odoo/enterprise#111300
This update resolves an issue where invoice reports were incorrectly matching account IDs, leading to potential reporting discrepancies. The fix ensures that all account IDs in export files align with those defined in the company's general ledger, improving the accuracy of financial reports. This change was part of a larger effort to standardize FAIA XML exports.
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#114254 Forward-Port-Of: odoo/enterprise#113455
This update improves the Odoo accounting system for Sri Lanka by incorporating updated chart of accounts (CoA) and tax settings. These changes align the system with standard Sri Lankan accounting practices, ensuring accurate financial reporting and compliance.
Original PR description
Updates the CoA with new accounts, updated taxes, and adjusted default account mapping to better reflect standard Sri Lankan accounting practice. Enterprise PR: https://github.com/odoo/enterprise/pull/114768 task-6141758 Forward-Port-Of: odoo/odoo#260920
This update simplifies the setup of financial accounts by reducing the complexity of Balance Sheet formulas. It also adds new lines for equity and liabilities, providing a more accurate and flexible reporting structure for Sri Lankan businesses using Odoo Enterprise. This change enhances the flexibility of the COA setup.
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 Forward-Port-Of: odoo/enterprise#114768
This update resolves an issue preventing account return tours from functioning correctly across all Odoo localization modules. The fix addresses a missing tag that caused errors, specifically related to a missing 'super call' during form submissions. This ensures all users, regardless of their Odoo localization, can utilize the account return tour functionality.
Original PR description
Before, the account return tour was not running with every l10n installed du to a missing tags. This leads to errors that were not catched like missing super call on a submit action. Forward-Port-Of: odoo/enterprise#115290
This update corrects a mismatch in Transaction IDs between sales and purchase invoices and their corresponding general ledger entries. Previously, the system used different identifiers, leading to potential errors in financial reporting exports (FAIA). This change ensures data consistency and accurate reporting.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
A bug in a test for the restaurant point-of-sale module caused order data to be incorrectly updated. The fix addresses a timing issue where test actions interfered with server synchronization, leading to lost user information. This ensures test results are reliable and accurate.
Original PR description
In the tour test_customer_alone_saved, the test was creating an order, then go on the ticket screen and then come back on the product screen to change the customer to go again on the ticket screen and come back on product screen to check that the customer did not changed. The problem was that when going to the ticket screen the first time, the order was synced with the server but the answer might come after the test changed the customer. When going the second time on the ticket screen, the order was changed with the information of the backend and the user was lost. This is all due to the test that are too fast. runbot-error: 238467 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253587
This update resolves a failing test related to WorldLine integration within our self-order point-of-sale system. The fix ensures that the test only runs if both necessary modules (`pos_self_order_iot` and `pos_iot_worldline`) are installed, preventing errors and improving test reliability.
Original PR description
To test WorldLine in self order, we need both `pos_self_order_iot` and `pos_iot_worldline`. We then skip the test if `pos_iot_worldline` isn't installed. Forward-Port-Of: odoo/enterprise#115282
This update resolves an issue preventing the Odoo database from correctly processing data from IoT devices. A missing field was added to the subscription messages, ensuring the database can now successfully receive and process updates from these devices. This improves the reliability of IoT data integration.
Original PR description
In odoo/odoo#260380, a new required field was added to the websocket `subscribe` message, `check_outdated`. This commit adds this field to the subscribe message sent from the IoT box so that the DB can process it successfully. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update ensures Odoo accurately reflects the latest Ecuadorian withholding tax regulations (Resolución N.º NAC-DGERCGC26-00000009) for 2026. The changes involve updating unit tests to align with these new percentages, ensuring accurate reporting and compliance for our Ecuadorian clients.
Original PR description
In accordance with the implementation of the new withholding tax percentages according to "Resolución N.º NAC-DGERCGC26-00000009" for Ecuador, following internal implementation guidelines by TRESCLOUD. Unit tests are updated to be based on the new withholding percentages. BP #110343 Forward-Port-Of: odoo/enterprise#112957 Forward-Port-Of: odoo/enterprise#110712
This update corrects a technical issue where the AI chat window was being opened twice. This fix ensures the AI chat functionality operates reliably and efficiently, preventing potential performance problems. The change improves the overall user experience for the AI chat feature.
Original PR description
This commit removes a double call to the `thread.openChatWindow` from the `ai_chat_launcher_service`.
This update resolves a bug where basic receipts were incorrectly generated in the Point of Sale chatter even when the feature wasn't enabled. It now ensures basic receipts are only created when the option is specifically selected and prevents multiple receipt image types from being generated at once. This improves the reliability and consistency of Point of Sale reporting.
Original PR description
Before this commit: =================== - Basic receipt was generated even when the option was not selected. - Both basic and full receipt images could be generated simultaneously. After this commit: ================== - Basic receipt is generated in chatter only when the option is enabled. - Prevents simultaneous generation of both basic and full receipt images. Task - 6126775
17 changes
Resolved issues and error corrections
This update fixes a technical issue that caused errors when repeatedly deleting images within the Image Wall feature in Website Edit Mode. The fix ensures the system handles rapid deletions more reliably, preventing tracebacks and improving the overall editing experience. This enhances stability and reduces potential disruptions for users.
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#261341 Forward-Port-Of: odoo/odoo#255733
This update ensures consistent test tagging across Odoo versions 18 and 19, preventing potential disruptions to automated testing. Previously, an error during nightly testing could disable the entire 'hoot suite'. This change backports a fix from a larger project to maintain stability and reliability of our testing processes.
Original PR description
When an error is parsed during the nightly, the default test tag is not correct in 18 and 19, what could lead to disabling the complete hoot suite if not taking enough care when disabling a test. This backports part of #234937 to ensure with have the correct tag in all version supporting hoot tests. Forward-Port-Of: odoo/odoo#261618 Forward-Port-Of: odoo/odoo#261526
This update corrects a typographical error within the marketing automation test suite. The fix ensures the tests run smoothly and reliably. This is a routine maintenance update with no impact on core business functionality.
Original PR description
Forward-Port-Of: odoo/enterprise#115315
This change updates the email address used to send automated support notifications from iap@odoo.com to noreply@odoo.com. This improves email deliverability and reduces the risk of incorrect responses to support inquiries.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/odoo#260794 Forward-Port-Of: odoo/odoo#259691
This change updates the email address used to respond to automated Odoo emails from iap@odoo.com to noreply@odoo.com. This improves email management and reduces the likelihood of incorrect responses to support inquiries.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update resolves an issue where duplicating an employee would incorrectly copy their bank account information, leading to salary payments being routed to the same account for both employees. The fix ensures that the bank account is cleared during duplication, preventing this duplication and maintaining accurate payroll processing.
Original PR description
Steps: - Duplicate an employee. - Check that the bank account is copied. - Modify the bank account on the duplicated employee. - Verify the original employee’s bank account. Issue: - When duplicating an employee, the bank account was copied as well, causing both employees to use the same account. Updating it for one also changed it for the other, leading to both salaries being paid to the same account. Fix: - Set the 'bank_account_id' field to not be copied during duplication, ensuring the field is cleared for the duplicated employee. task-6093406 Forward-Port-Of: odoo/odoo#261505 Forward-Port-Of: odoo/odoo#259405
This update addresses an issue where Coda bank statement files with incomplete data could result in an empty payment reference field in Odoo. This would automatically default to 'No description' on the statement line, leading to inaccurate reporting. This fix ensures correct payment reference data is captured.
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 Forward-Port-Of: odoo/enterprise#111300
This update corrects a problem where the Account ID in Odoo's FAIA export files didn't always match the corresponding account details within the accounting system. This ensures accurate financial reporting and data consistency, particularly for Luxembourg-specific reports. The fix aligns the AccountID field with the account code used in the general ledger.
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#114254 Forward-Port-Of: odoo/enterprise#113455
This update improves the Odoo accounting system for Sri Lanka by incorporating updated Chart of Accounts (CoA) and tax settings. These changes align with standard Sri Lankan accounting practices, ensuring accurate financial reporting and compliance.
Original PR description
Updates the CoA with new accounts, updated taxes, and adjusted default account mapping to better reflect standard Sri Lankan accounting practice. Enterprise PR: https://github.com/odoo/enterprise/pull/114768 task-6141758 Forward-Port-Of: odoo/odoo#260920
This update simplifies the setup of financial accounts for Sri Lankan businesses by reducing the complexity of account code formulas. It adds new lines for equity and liabilities to the Balance Sheet, providing a more complete financial picture. This change enhances flexibility and accuracy in reporting.
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 Forward-Port-Of: odoo/enterprise#114768
This update corrects a mismatch in how transaction IDs are represented when exporting financial data (FAIA). Previously, the system used different methods for identifying transactions, leading to potential errors in reporting. This change ensures all transaction IDs align, improving the accuracy and reliability of financial reports.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
A recent test in the Odoo point-of-sale restaurant module experienced timing issues, leading to incorrect order data synchronization. This update slowed down the test execution to prevent the test from changing the order before the server synced it, thus resolving the data loss problem. This ensures accurate test results and reliable order processing.
Original PR description
In the tour test_customer_alone_saved, the test was creating an order, then go on the ticket screen and then come back on the product screen to change the customer to go again on the ticket screen and come back on product screen to check that the customer did not changed. The problem was that when going to the ticket screen the first time, the order was synced with the server but the answer might come after the test changed the customer. When going the second time on the ticket screen, the order was changed with the information of the backend and the user was lost. This is all due to the test that are too fast. runbot-error: 238467 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253587
This update corrects a bug in the Italian VAT (EDI) module that incorrectly determined whether a partner was a company based on their Codice Fiscale. Specifically, it now handles country-prefixed CFs correctly, ensuring the partner's company status is accurately reflected. This prevents incorrect categorization of businesses.
Original PR description
Since 5d3c73ffd0ad ("derive company status from Codice Fiscale format") is_company is True only when the CF (Codice Fiscale) is exactly 11 chars.
Two issues:
- No @api.depends on l10n_it_codice_fiscale, so editing the CF alone leaves is_company inchanged.
- A country-prefixed CF like "IT14475210960" is 13 chars and silently downgrades the partner to a natural person.
Steps to reproduce:
- On an Italian company partner, set:
VAT = IT14475210960
Codice Fiscale = MRTMTT91D08F205J
- Change the CF to IT11122244544, it will be saved but is_company will
remain False, which is wrong.
opw-6129645A recent issue prevented activity states from correctly updating across different tabs within Odoo. This fix corrects a technical error that was disrupting this shared activity state functionality. Users should now see consistent and accurate activity updates regardless of which tab they are using.
Original PR description
Since [1], the activity state, which is supposed to be shared accross tab through a broadcast channel, isn't anymore. This PR fixes the responsible typo. [1]: #161286 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#259507 Forward-Port-Of: odoo/odoo#255785
This update resolves a technical issue preventing invoices sent to Poland's KSeF system from being processed correctly. Previously, the system incorrectly included empty 'Email' and 'Telefon' tags in the invoice XML, leading to rejection. This change ensures these tags are only added when actual contact information is available, improving invoice acceptance rates.
Original PR description
Before this commit: Steps 1. Create a Polish company 2. Create and send an invoice to KSeF where the buyer has no email or no phone number 3. KSeF rejects the invoice with error code 450 (semantic verification error) This happens because `Email` and `Telefon` elements are always rendered inside `DaneKontaktowe`, even when their values are empty, producing invalid empty tags. After this commit: Add `t-if="buyer.email"` and `t-if="buyer.phone"` guards on each field so that `Email` and `Telefon` are only rendered when a value is present. opw-6124187 Forward-Port-Of: odoo/odoo#259646
This update fixes a technical issue in the l10n_co_dian module that caused incorrect string comparisons. The change ensures accurate data processing within the Dian tax reporting system, preventing potential errors and ensuring compliance. This resolves a previously identified bug impacting the functionality of the module.
Original PR description
Issue: commit 780b12ca7e2525bfa86f00d232fa9f186c914a85 introduced incorrect string comparison opw-6077050 Forward-Port-Of: odoo/enterprise#115354
This update reverts changes made by Weblate to several Odoo modules, which were incorrectly applied. This ensures the correct functionality of these modules is restored. The reversion addresses an internal issue with Weblate's automated changes.
Original PR description
This reverts part of commit 685f39aa747097b3a2352ebe2935da77b340b52f. For some reason Weblate reverted changes to unrelated files. We revert them back here.
3 changes
Resolved issues and error corrections
This change updates the email address used for sending automated notifications from Odoo to noreply@odoo.com. Previously, clients responded to iap@odoo.com, which was causing confusion and misdirected replies. This update ensures all support emails go to the correct, designated address.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update corrects a mismatch in transaction IDs when exporting financial data (FAIA) for Luxembourg. Previously, the system used different ID formats, leading to potential errors in reporting. This change ensures all transaction IDs align, improving data accuracy and reliability for financial reporting.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
This update resolves a problem where portal users were incorrectly seeing the 'View Timesheets' button, even without the necessary permissions. The fix utilizes a new helper method to accurately control button visibility, ensuring users only see options they are authorized to access. This improves the user experience and prevents potential confusion.
Original PR description
**Issue:** The 'View Timesheets' button is shown to the portal user even though they don’t have access to view timesheets. Currently, we have added _sale_order_get_page_view_values in the sale module, which is overridden in sale_timesheet. We are using it here. task-4745519 Forward-Port-Of: odoo/enterprise#115193 Forward-Port-Of: odoo/enterprise#113481
9 changes
Resolved issues and error corrections
This change updates the email address used for automated support notifications from iap@odoo.com to noreply@odoo.com. This improves email deliverability and reduces the risk of responses being sent to the incorrect address, ensuring support requests are properly routed.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/odoo#260794 Forward-Port-Of: odoo/odoo#259691
This change updates the email address used for automated support notifications from iap@odoo.com to noreply@odoo.com. This improves email deliverability and ensures that support requests are properly directed to our team, reducing potential delays in response times.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update resolves an issue where duplicating an employee would incorrectly copy their bank account information, leading to salary payments being routed to the same account for both employees. The fix prevents the bank account from being copied during duplication, ensuring each employee has their own unique account.
Original PR description
Steps: - Duplicate an employee. - Check that the bank account is copied. - Modify the bank account on the duplicated employee. - Verify the original employee’s bank account. Issue: - When duplicating an employee, the bank account was copied as well, causing both employees to use the same account. Updating it for one also changed it for the other, leading to both salaries being paid to the same account. Fix: - Set the 'bank_account_id' field to not be copied during duplication, ensuring the field is cleared for the duplicated employee. task-6093406 Forward-Port-Of: odoo/odoo#259405
This update corrects a mismatch in transaction IDs used when generating financial reports (FAIA). Previously, the system used different identifiers for invoices and purchase invoices, leading to potential reporting errors. This change ensures all transaction IDs align, improving the accuracy and reliability of financial data exports.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
A bug in a test for the restaurant point-of-sale module caused order data to be incorrectly updated. The fix addresses a timing issue where the test actions were too fast, leading to data inconsistencies. This ensures accurate order tracking and reporting.
Original PR description
In the tour test_customer_alone_saved, the test was creating an order, then go on the ticket screen and then come back on the product screen to change the customer to go again on the ticket screen and come back on product screen to check that the customer did not changed. The problem was that when going to the ticket screen the first time, the order was synced with the server but the answer might come after the test changed the customer. When going the second time on the ticket screen, the order was changed with the information of the backend and the user was lost. This is all due to the test that are too fast. runbot-error: 238467 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#253587
This update fixes a technical issue that caused a traceback when canceling an empty order in the Point of Sale (POS) system, specifically when loyalty programs were enabled. The fix ensures the POS dialog is closed before order deletion, preventing a re-render and the resulting error. This improves stability and prevents unexpected errors during order cancellation.
Original PR description
Steps to reproduce: = - Enable loyalty in the POS configuration. - Add an eWallet program for this POS. - Open a table and cancel the (empty) order using the "Cancel Order" control button. Issue: = - A traceback occurs: `TypeError: Cannot read properties of undefined (reading 'getTotalWithTax')` Reason: = - When clicking "Cancel Order", the order is deleted and `currentOrder` becomes `undefined`. - During the re-render of `ControlButtons` on the product screen, there is no active order, which leads to the traceback. Fix: = - Ensure the `ControlButtons` dialog is closed before deleting the order to prevents the re-render of `ControlButtons` without an active order and avoids the traceback. task-6030182 Forward-Port-Of: odoo/odoo#254337
This update ensures the IRN (Invoice Reference Number) generated during e-invoicing is correctly saved and displayed in both the invoice PDF and the invoice form view. Previously, the IRN was only present in the PDF but not on the invoice itself, now it's consistently available.
Original PR description
**Steps to reproduce:** * Install module *Indian - GSTR with E-invoice (l10n_in_edi_gstr)*. * Configure *Indian integration* with required credentials (E-Invoicing, E-Way bill, etc.). * Save the settings. * Create a *customer invoice*. * Post the invoice. * Send the invoice through *E-Invoicing (EDI)*. * Open the generated *Invoice PDF* and the *form view*. **Observed behavior:** * The *IRN number* is correctly present in the *Invoice PDF*. * However, it is *not saved/displayed* in the invoice form view. **Cause:** * The invoice flow did not store the *IRN number* on the invoice after receiving the EDI response, even though the value was available. **Fix:** * Inherit *_l10n_in_edi_send_invoice*. * Add a condition after the invoice is sent and the JSON response is received. * When the *IRN number* is present in the response, set it on the *l10n_in_irn_number* field of the invoice (in lower case). opw-6097923
This update ensures that test tags are correctly configured across all Odoo versions, including 18. Previously, an error during nightly testing could incorrectly disable the entire 'hoot suite'. This change backports a fix from a larger project to ensure consistent test execution and prevent disruptions.
Original PR description
When an error is parsed during the nightly, the default test tag is not correct in 18 and 19, what could lead to disabling the complete hoot suite if not taking enough care when disabling a test. This backports part of #234937 to ensure with have the correct tag in all version supporting hoot tests. Forward-Port-Of: odoo/odoo#261618 Forward-Port-Of: odoo/odoo#261526
This update resolves an issue where a misleading 'Message posted' notification appeared when users discarded the full composer after replying to messages. The change ensures notifications are now only triggered when a message is actually sent, improving the clarity and accuracy of message delivery notifications within the Discuss inbox.
Original PR description
**Description of the issue/feature this PR addresses:** ---------------------------------------------- When replying to messages from the History (Inbox) view, opening the full composer and…
**Description of the issue/feature this PR addresses:** ---------------------------------------------- When replying to messages from the History (Inbox) view, opening the full composer and discarding it could incorrectly trigger a toast notification indicating that a message was posted. This behavior is misleading, as no message is actually sent when the composer is discarded. **Current behavior before PR:** ---------------------------------------------- - Replying to a message from History opens the full composer - Discarding the full composer closes the dialog normally - A “Message posted” toast is shown even though no message was sent - Notification logic depends on dialog close behavior, leading to incorrect triggers **Desired behavior after PR is merged:** ---------------------------------------------- - Discarding the full composer does not show any notification - Notifications are only shown when a message is actually sent Task-5431682 ---------------------------------------------- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
3 changes
Resolved issues and error corrections
This update corrects a warning message appearing when using the UK Construction Industry Scheme (CIS) reporting. The fix prevents the system from incorrectly flagging vendor bills with CIS enabled, ensuring accurate reporting and reducing unnecessary alerts. This change improves the reliability of UK tax reporting within Odoo Enterprise.
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 pull request corrects a typographical error within the marketing automation test suite. The fix ensures the tests run smoothly and accurately, maintaining the quality of the marketing automation functionality. This is a routine maintenance update.
Original PR description
Forward-Port-Of: odoo/enterprise#115315
This update ensures that invoice and purchase transaction IDs in Odoo's FAIA export file are now consistently matched with the corresponding IDs used in the General Ledger. This resolves a previous issue that caused export errors, improving the reliability of financial reporting.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
12 changes
Resolved issues and error corrections
This update fixes a problem where Wise recipient matching failed due to slight differences in data (like spacing or capitalization) between Odoo and Wise. Now, the system uses only financial details like account numbers and routing numbers for matching, ensuring accurate recipient identification and preventing duplicate entries, especially for IBAN accounts.
Original PR description
Previously, _generate_wise_key included partner name and email in the matching key. If these differed between Odoo and Wise (e.g. trailing spaces, casing), the match would fail and a duplicate recipient was created. Use only financial identifiers (account type, routing number, account number) which are the actual unique identifiers for bank accounts. This is for example important with IBAN accounts as the won't have an email stored in Wise. From this we combine IBAN and SWIFT recipients into one non-US group. Forward-Port-Of: odoo/enterprise#115209 Forward-Port-Of: odoo/enterprise#113234
This update resolves an issue where Odoo couldn't import CODA files from Belgian banks when the detail sequence (3.2) was incremented. Banks sometimes provide files with updated sequences, and this fix allows the import process to handle these changes without triggering an error. This ensures seamless bank statement imports for our BE customers.
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 resolves a persistent scrollbar flicker issue in the Gantt chart. The problem stemmed from an incorrect row height calculation, which has now been corrected. The fix ensures a smoother and more reliable Gantt chart experience for users.
Original PR description
This commit fixes an issue where the scrollbar would flicker uncontrollably at certain scroll positions. This occurred because grid elements were constantly appearing and disappearing at the edge of the viewport on every animation frame. The root cause was a discrepancy in row height computations introduced in https://github.com/odoo/enterprise/pull/101732. The virtual grid was receiving row heights 8px smaller than the actually rendered rows, leading to miscalculations in visibility. To fix this, the problematic 8px change is reverted. The original design requirement (fitting the progress bar) is instead fulfilled by explicitly adding height to group rows, and providing additional space to regular rows on smaller screens. Forward-Port-Of: odoo/enterprise#115283
This change updates the email address used to receive responses to automated emails from clients. Previously, emails were sent to iap@odoo.com, which led to some responses. Now, emails are sent to noreply@odoo.com for better management and tracking.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update resolves an issue where account return tours weren't functioning correctly across different localization settings (l10n). The fix addressed a missing tag that caused errors, preventing the tours from running properly and leading to unhandled issues. This ensures all users, regardless of their location, receive the correct return tour guidance.
Original PR description
Before, the account return tour was not running with every l10n installed du to a missing tags. This leads to errors that were not catched like missing super call on a submit action. Forward-Port-Of: odoo/enterprise#115290
This update resolves an issue where financial reports (FAIA export) were incorrectly linking invoices to accounts. The fix ensures that the AccountID in sales and purchase invoices matches the AccountID defined in the company's general ledger, improving the accuracy of financial reporting. This was part of a larger effort to standardize export formats.
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#114254 Forward-Port-Of: odoo/enterprise#113455
This update corrects a technical issue preventing the proper handling of binary data within the l10n_uk_reports_cis module. The change ensures that binary fields now correctly accept the 'BinaryBytes' format, resolving a previous incompatibility. This ensures accurate reporting for UK tax compliance.
Original PR description
Since https://github.com/odoo/odoo/pull/244421, binary field does not accept 'bytes' but to be wrapped explicitly as 'BinaryBytes' task-5481774 Forward-Port-Of: odoo/enterprise#115249
This update corrects a mismatch in transaction identifiers used when generating financial reports (FAIA). Previously, the system used different methods for identifying transactions, leading to potential errors in export data. This change ensures all transaction IDs align, improving the accuracy and reliability of financial reports.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
This update resolves a failing test related to WorldLine integration within our self-order point-of-sale system. The fix ensures that the test only runs if both necessary modules (`pos_self_order_iot` and `pos_iot_worldline`) are installed, preventing errors and improving test reliability.
Original PR description
To test WorldLine in self order, we need both `pos_self_order_iot` and `pos_iot_worldline`. We then skip the test if `pos_iot_worldline` isn't installed. Forward-Port-Of: odoo/enterprise#115282
This update fixes a technical issue that caused a traceback when viewing restaurant bookings with no bookings. The fix corrects an automatic change introduced during a migration, ensuring the correct variable is accessed within the booking list view. This improves the stability and usability of the restaurant booking module.
Original PR description
Inside the custom list renderer for booking for pos_restaurant we access `this.list.records` which doesn't exist and throws a traceback when no there are no bookings. The `this.` was added automatically by a migration script for OWL3 to force this usage to target component variables. But in this case `list` is set inside the web.ListRenderer template with `t-set`. This commit will revert the automatic change for the access to and replace `this.list.records`, with `list.records` Task-[6147678](https://www.odoo.com/odoo/project/1737/tasks/6147678) Forward-Port-Of: odoo/enterprise#114589
This update fixes a minor display issue in the Helpdesk dashboard, ensuring that the 7-day average customer rating is shown as a score out of 5 instead of a percentage. This provides a clearer and more intuitive understanding of agent performance for users.
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#115176 Forward-Port-Of: odoo/enterprise#109804
This update fixes an issue where the contact type for related contacts wasn't being translated in the contact list view, only in the Kanban view. The change ensures that contact types are consistently displayed in the user's preferred language across all views, improving user experience and data clarity. This was achieved by updating the field used to display contact information in the list view.
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#115331 Forward-Port-Of: odoo/enterprise#114786
6 changes
Resolved issues and error corrections
This update adjusts the bank statement reconciliation process within Odoo Enterprise to better align with accounting regulations. Specifically, it prevents statement lines from being automatically marked as reconciled when the 3% rule applies, ensuring accurate financial reporting. This improves the reliability of financial data.
Original PR description
POC no task id
This change updates the email address used for automated support notifications from iap@odoo.com to noreply@odoo.com. This ensures that client responses to support emails are correctly directed to the appropriate team, improving response times and support efficiency.
Original PR description
The current mail address is iap@odoo.com so some client respond to the automatic mail. This fix change it to noreply@odoo.com Task-6086556 Forward-Port-Of: odoo/enterprise#114712 Forward-Port-Of: odoo/enterprise#114097
This update corrects a mismatch in transaction identifiers used when generating financial reports (FAIA export) for Luxembourg. Previously, the system used different identifiers, leading to potential reporting errors. This change ensures all transaction IDs align, improving the accuracy and reliability of financial data.
Original PR description
The Invoice/TransactionID element in SourceDocuments/SalesInvoices and SourceDocuments/PurchaseInvoices must match the corresponding Transaction/TransactionID in the GeneralLedgerEntries section. As the latter uses the entry name since PR odoo#58728, the former should too. opw-6111343, opw-542729 Forward-Port-Of: odoo/enterprise#113846
This update resolves an issue where incorrect string comparisons were occurring within the l10n_co_dian module. The fix ensures accurate data processing for the Colombian Dian tax reporting system, preventing potential errors and ensuring compliance. This change improves the reliability of the Dian localization functionality.
Original PR description
Issue: commit 780b12ca7e2525bfa86f00d232fa9f186c914a85 introduced incorrect string comparison opw-6077050
This update allows administrators to control when subscription users are automatically reset. Previously, this process was automatic and couldn't be altered. This change provides greater flexibility in managing subscription accounts and ensures alignment with business processes.
Original PR description
After this commit, the auto resetting of subscription user is overridable. Doing business logic in CRUD methods makes them impossible to bypass, by encapsulating the logic in another method, it would be easily overridable. Forward-Port-Of: odoo/enterprise#114459 Forward-Port-Of: odoo/enterprise#114055
This update fixes a bug that prevented users from changing the state of tax returns within the accounting dashboard. Previously, attempting to use an invalid state would cause the page to crash. This change ensures the system handles state transitions correctly, improving the reliability of tax return management.
Original PR description
Before this commit, if you were to change the states_workflow to from a some that had an option, such as submitted, to something that did not contain a state that an account_return does not have, you would crash when trying to load the page. To get to this page go to the accounting dashboard and click on the tax returns option. To change the states_workflow change go to accounting -> configuration -> return types and change the states variable. opw-6107995
6 changes
Resolved issues and error corrections
This update corrects a typographical error within the marketing automation test suite. The fix ensures the tests run smoothly and accurately, maintaining the quality of the marketing automation functionality. This is a routine maintenance task to improve the reliability of our software.
This update fixes an issue where the Partner Ledger report would generate empty exports when filtering by an entry name (like a journal entry number). The fix ensures the report correctly includes entries matching the search bar, resolving a common user workflow problem. This improves the accuracy and usability of the Partner Ledger report.
Original PR description
**Steps to reproduce:** * Install **Accounting** module. * Open the `Partner Ledger report`. * Type an entry/move name (e.g., 'INV/2024/00001') in the search bar. * Export the report as `PDF` or…
**Steps to reproduce:**
* Install **Accounting** module.
* Open the `Partner Ledger report`.
* Type an entry/move name (e.g., 'INV/2024/00001') in the search bar.
* Export the report as `PDF` or `XLSX`.
**Observed behavior:**
* The exported file is empty or improperly generated.
* Filtering by partner name or viewing unfiltered works correctly.
**Cause:**
* When exporting `(export_mode == 'print')`,` _custom_options_initializer` adds a forced_domain to filter AMLs matching the search bar text.
* This domain only checks `partner_id.name` and reconciled partner names (matched_debit_ids/matched_credit_ids), but does NOT check `move_id.name` (the entry/journal entry name).
* As a result, when the search text is an entry name like 'INV/2024', no AML matches the partner-name-only domain, and the query returns no results — producing an empty export.
**Fix:**
* Add ('move_id.name', 'ilike', ...) as an additional OR branch in the forced domain, so AMLs whose journal entry name matches the search text are also included in the export.
opw-5972664This update resolves an issue where power buttons were incorrectly displayed and overlapped other menu items in the HTML editor, particularly on smaller screens. The fix adjusts the editor's width detection to ensure buttons are hidden when they cause overlap, improving the user experience and visual consistency.
Original PR description
Problem: Power buttons are shown regardless of the editor field's actual rendered width, causing them to overlap other menus when the field is small. Solution: Instead of relying solely on the global…
Problem: Power buttons are shown regardless of the editor field's actual rendered width, causing them to overlap other menus when the field is small. Solution: Instead of relying solely on the global `ui.isSmall` (mobile detection), check the editor field's own width and hide power buttons whenever it falls below the overlap threshold. Before: <img width="576" height="301" alt="image" src="https://github.com/user-attachments/assets/dcebed55-5c80-4fe5-8d33-c320549cf347" /> After: <img width="542" height="336" alt="image" src="https://github.com/user-attachments/assets/34a233bb-9958-43ac-adb9-04702a2e403d" /> Steps to reproduce: - Change languange (French to have a long placeholder). - Settings > Customer Invoices > Default Terms & Conditions. - Check "Add a Note". - Resize the screen to smaller size. - Observe the power buttons overlap with the translate button. task-6117734 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update corrects a bug that prevented customers from being found correctly when searching by email address. The system was incorrectly using the phone field instead of the email field in its search criteria. This change ensures accurate customer retrieval via email, improving data accuracy and usability.
Original PR description
The email-based lookup was mistakenly checking the phone field (`phone = email`) instead of the email field. Because of this, customers could not be correctly found using their email address. This change fixes the domain to properly match on the email field.
This update fixes an issue where clicking the 'next' page button during a chatter attachment upload would incorrectly upload attachments to the wrong records. The change now disables the pager buttons while an attachment is being uploaded, preventing this behavior and ensuring attachments are correctly placed.
Original PR description
Currently, when uploading a bunch of attachments or a big one to the chatter, if you click on the pager (e.g. next) before the upload is complete, the attachments that have not yet been uploaded are uploaded to the next record. This change disables the pager buttons if there is an ongoing upload in the chatter attachment box. task-5119290
This update resolves an unexpected error that appeared when scanning barcodes offline in the Point of Sale module. The fix ensures that operations are only performed when data is available, preventing a secondary error message. This improves the user experience and stability of the PoS system.
Original PR description
**Steps to reproduce:** - Set a barcode on a product that is not in the used point of sale - Go to PoS, cut the server connection - Go to the debug window and enter the barcode - An error saying the connection is cut appears (expected) - A traceback appears (unexpected) **Why the fix:** This bug only happens in 18.0, so this is a backport of ca1ba4b which was basically fixing the same issue. We check if we have data before making some operations on them as to avoid making operations on an undefined value. opw-5450575
3 changes
Resolved issues and error corrections
This update resolves an issue where duplicating an employee inadvertently linked their bank account to the original employee. The fix prevents the bank account from being copied during duplication, ensuring each employee has their own dedicated account and preventing salary payments from being misdirected.
Original PR description
Steps: - Duplicate an employee. - Check that the bank account is copied. - Modify the bank account on the duplicated employee. - Verify the original employee’s bank account. Issue: - When duplicating an employee, the bank account was copied as well, causing both employees to use the same account. Updating it for one also changed it for the other, leading to both salaries being paid to the same account. Fix: - Set the 'bank_account_id' field to not be copied during duplication, ensuring the field is cleared for the duplicated employee. task-6093406 Forward-Port-Of: odoo/odoo#259405
This update resolves an issue where a delay in website navigation transitions could cause unexpected behavior, particularly when users interact with dropdown menus. By ensuring the menu fully renders before subsequent actions, this fix improves the overall stability and reliability of the website experience.
Original PR description
[FIX] website: wait for extra menu to fully render before continuing When clicking on the extra menu item, a Bootstrap dropdown is displayed with a transition. Because this transition takes time, it can lead to undeterministic behavior especially in tests. For example, if a tour clicks on the extra menu item and then clicks on the "Site" button in the navbar, the dropdown transition may still be in progress. This can cause the "Site" dropdown to close prematurely. runbot-240955
This update enhances the accuracy of partner searches within Odoo by switching to an exact name match instead of a partial match. This prevents incorrect matches and ensures that users find the intended partner more reliably. The change also limits search results to one partner for consistency.
Original PR description
Before this commit: * Partner was searched using contains on the name, which could match unrelated partners with similar names (e.g. 'Global Tech' matching 'Global Technologies Ltd'). After this commit: - Partner retrieval now uses an exact name match to avoid incorrect matches caused by partial name search. - The search limit is set to 1 to ensure a consistent result when multiple partners are found. Technical: - Replaced `ilike` with `=ilike` in the name search domain. task-5485563