Wednesday, November 26, 2025
35 changes · 19.0
Enhancements to existing features
This update adds necessary account settings for Slovak tax groups within Odoo. Specifically, it incorporates tax payable and receivable account IDs, ensuring accurate accounting for Slovak VAT reporting. This change supports compliance with Slovak tax regulations.
Original PR description
This commit adds tax_payable_account_id and tax_receivable_account_id to all tax groups in Slovak tempalte. opw-5264511 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This pull request adds comprehensive Hoot tests for the UrbanPiper integration, ensuring its functionality is thoroughly validated. Additionally, several minor fixes were implemented, including improvements to receipt printing, timer display, and data handling within the ticket screen, enhancing the overall stability and accuracy of the system.
Original PR description
## 1. Hoot test
in this commit:
- add HOOT tests for components, model, screen, and service
- added test for methods in `order_info_popup` and `order_display`
- include tests for `pos_order`, `ticket_screen`, and `pos_store`
- add utility to generate UrbanPiper-filled order
## 2. minor fixes
in this commit:
- kept serialized data for receipt printing
- ensure timer does not display negative values
- correct variable usage in ticket screen to fetch proper props for display order
- revamp `getTime` method to use l10n time format
task: 5048312
Forward-Port-Of: odoo/enterprise#93780This update simplifies the bank matching interface for users primarily working with invoicing. It removes unnecessary account codes from the display name and adds a more user-friendly search option that utilizes account descriptions, making it easier for users to quickly find the correct bank accounts without needing extensive accounting knowledge.
Original PR description
See commits' description --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This update resolves an issue where the Fedex delivery method would trigger errors when used with addresses in Hong Kong, specifically those with a state code of "Hong Kong Island". The fix ensures that the system properly handles state code splitting, preventing a traceback and ensuring reliable shipping functionality for this common address type. This improves the overall reliability of the shipping process.
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Use Fedex as a Delivery Method 2. On the Website, select a shippable product. Confirm the cart. 3. Ship to a "Hong Kong" address, with "Hong Kong Island" as State. 4. Traceback is raised. Issue ----- Traceback is raised whenever the Fedex Delivery Method is applied to a HK address (be it shipper or receiver) Cause ----- When splitting a state code, there is no check in the `_parse_state_code` function that the result contains at least two elements. Example ----- For a "Hong Kong" address, with "Hong Kong Island" as State: ``` country_code = "HK" state_code = "HK" ``` The method tries to split `state_code` by its hyphen, which returns a single item list. Solution -------- 1. Check for the size of the post-split list before accessing the second item. opw-5257852 Forward-Port-Of: odoo/enterprise#99635
Features or functions removed from Odoo
This update removes a function that was mistakenly reintroduced in some Odoo forward ports for the Italian and Philippines accounting reports. The function was previously moved to report options, and this fix ensures the system operates with the correct, current configuration. This resolves a potential inconsistency in report generation.
Original PR description
the function _get_custom_display_config was switched to the options on reports in this commit, https://github.com/odoo/enterprise/commit/162d2326b2bd4e78aa742ae7bdd125150faf3e08. Unfortunately, some forward ports missed it and added back this function for both l10n_it and l10n_ph.
This update prevents the 'My Drive' folder from automatically unfolding when you open a folder within it, like 'Company'. Previously, this behavior was inconsistent. Now, folders will only unfold when their parent folders are opened.
Original PR description
Steps to reproduce =================== - Go to the `All` section. - Open the folder hosted in the `My Drive`. - `My Drive` gets unfolded. To Be ===== - The` My Drive` folder should not be unfolded when opening folders inside it, like `Company`. Technical =========== - Earlier, we were sticking to the condition that allows other root folders to unfold when we open a folder inside it, except the `Company` folder. After this commit ================== - This commit addresses the issue, and now whenever we click on a certain folder it will not unfold until its root is unfolded. Task-5046161 Forward-Port-Of: odoo/enterprise#100213 Forward-Port-Of: odoo/enterprise#93718
This update fixes a minor issue where the 'Copy' button in the Payment Link wizard displayed incorrectly. The button label has been updated to 'Generate and Copy Payment Link' to provide a clearer instruction for users. This ensures a better user experience when generating payment links.
Original PR description
Steps to reproduce: 1. Install sale_management 2. Create a sale order and confirm it 3. Open the Generate a Payment Link wizard from the cog menu Issue: The button in the wizard displays “Copy” instead of “Generate a Payment Link”. Cause: The custom paymentWizardCopyClipboardButtonField widget did not forward the field’s string to its component props, causing the default "Copy" label to be used. Solution: Forward the string prop in the widget’s extractProps implementation. opw-5224112 Forward-Port-Of: odoo/odoo#236219
This update resolves an issue where the 'Click to Start' navigator wasn't appearing for documents without sign items. The fix ensures the navigator is displayed correctly, streamlining the signing process for users and improving usability.
Original PR description
Version: - saas-18.4 Steps to reproduce: - Add multiple documents in sign app. - Add sign item for user in first document and keep second document without any sign item. - Try sign document. Issue: - The "Click to Start" navigator is not visible when signing. - `postRender` runs for all documents and calls `checkSignItemsCompletion`, which then calls `updateDocumentsWithUnsignedItems(false)` for documents without sign items. - This passes false to `controlNavigatorVisibility`, hiding the navigator even though the first document has unsigned items. Solution: - In `controlNavigatorVisibility`, instead of relying only on the `hasUnsignedItems` flag, check if the current document is unsigned and has sign items for the current signer before toggling the navigator. Impact: - The "Click to Start" navigator now appears correctly, helping users start the signing process smoothly. task-5148722 Forward-Port-Of: odoo/enterprise#97205
This update resolves a minor visual issue in the Documents app where UI elements were overlapping. The fix ensures that buttons and file size information are displayed correctly, enhancing the user experience. This change improves the overall usability of the Documents module.
Original PR description
This PR addresses the following UI issues in the documents app: - Fix the overlapping of the translate button of name with the file size in `DocumentsDetailsPanel`. - Hide the `DocumentsAction` in activity view as they were not working anymore. Technical ============================ - Set position: relative on .o_field_input_buttons. The .o_field_input_buttons had position: absolute by default, but since .o_documents_details_panel_name uses display: contents, the ancestor context for absolute positioning is lost. Because display: contents makes the parent disappear visually and the children behave as independent elements, the absolute positioning behaves unexpectedly. Setting position: relative on .o_field_input_buttons resolves this by providing a proper positioning context. Task-4792112 Forward-Port-Of: odoo/enterprise#86436
This change truncates product descriptions in invoice lines to comply with character limits for e-invoicing (300 chars) and e-waybill (100 chars). This ensures generated JSON files are valid and prevents errors during e-invoice and e-waybill generation.
This update fixes an issue where subscription invoices weren't correctly incrementing, leading to unnecessary daily notifications. The change ensures that invoice dates are updated accurately when products are invoiced based on delivered quantities, preventing redundant 'Automatic renewal succeeded' messages. This improves invoice accuracy and reduces unnecessary chatter notifications.
Original PR description
Before this commit, when a product invoiced based on delviered quantity was not delivered, the subscription cron would detect the free period but the next invoice date would not be incremented. As a result, the cron would run every day and post a 'Automatic renewal succeeded. Free subscription.' message in the chatter. task-5345944
This update resolves a technical issue that could cause a traceback error when setting up OSS tax mapping in Odoo. The fix addresses a situation where tax groups lack associated accounts, preventing the system from displaying a helpful error message. Instead, the system now guides the user to configure the necessary tax accounts.
Original PR description
Repro steps: 1. Create a company with tax groups all missing the tax_payable_account_id and tax_receivable_account_id 2. Click on settings > OSS Tax mapping 3. A traceback shows about a missing XmlId Solution: The issue mainly happens because the company has no accounts set on any of its tax groups. So in such cases, the code raises a RedirectWarning to the list of tax groups to configure them instead of the traceback. task-5346712 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue where invoices using specific document types (201-213) within the l10n_ar localization couldn't be printed correctly. The fix ensures the template adapts to the installed language, allowing printing regardless of whether es_AR is present.
Original PR description
#The issue: - With l10n_ar company - Make sure that the language es_AR is not installed. - Create an invoice where the Document type (l10n_latam_document_type_id) code is in 201, 202, 203, 206, 207, 208, 211, 212 or 213 - Try to print the invoice, the following error occurs: odoo.addons.base.models.ir_qweb.QWebException: Error while render the template UserError: Invalid language code: es_AR In the report_invoice template used in l10n_ar, if the document type is 201, 202, 203, 206, 207, 208, 211, 212, or 213, the amount in letters is mandatory. Currently, the template is hard-coded to use es_AR. As a result, if the customer does not have the es_AR language installed, the invoice cannot be printed, even if another Spanish language is available. opw-5079885 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#228125
This update resolves an issue preventing users from marking fields as both readonly and mandatory within sign requests. The fix adjusts how the Sign app handles strikethrough and multiline fields, now allowing users to correctly configure these fields without causing validation errors. This ensures a smoother sign process for all users.
Original PR description
**Version:** - saas-18.4 **Steps to reproduce:** - Install the Sign app - Upload a PDF and add a strikethrough or multiline field - Mark the field as readonly and mandatory - Try to sign the document **Issue:** - The sign request cannot be validated if the strikethrough or multiline field is both readonly and mandatory. **Solution:** - For strikethrough fields: use "striked" instead of the item name "strikethrough" to set the correct value when the strikethorugh field is constant. - For multiline fields: when the field is constant, the value doesn’t come through element.value; instead, it’s in element.textContent, so we need to set the value there. **Impact:** - Users can now mark these fields as readonly and mandatory without blocking the validation of the sign request. task-5098750 Forward-Port-Of: odoo/enterprise#95769
This update resolves an issue where importing journal entries targeting inactive accounts previously caused errors. The change now allows these imports to proceed without regard to the account's active status, streamlining the import process and preventing disruptions.
Original PR description
When importing journal items, if an item targets an inactive account, the import is causing an excessive error. We shall ignore the active/inactive flag in such a case. task-5350113 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237271
This update resolves a crash that occurred when users quickly opened the file viewer multiple times, such as by double-clicking attachments. The fix ensures the system properly manages file viewer instances, preventing errors and improving overall stability. This enhances the user experience when accessing attachments.
Original PR description
Before this commit, quickly triggering the opening of the file viewer multiple times (e.g. double-click on an attachment) caused a crash. This happens because the `createFileViewer` hook generates a `fileViewerId` on initialization. When `open()` is called, it registers the component using this specific ID. If `open()` is triggered a second time while the component is still registered (or being registered), the registry throws an error because duplicate keys are not allowed. This commit fixes the issue by calling `close()` at the beginning of the `open()` function. This ensures that any existing `FileViewer` instance associated with this hook is removed from the registry before a new one is added. task-5262556 Forward-Port-Of: odoo/odoo#237267
This update resolves an issue where adding attachments to log notes triggered an error when the restrictive audit trail was enabled. The fix allows users to attach PDFs to log notes while maintaining audit trail integrity, ensuring accurate record-keeping. It also standardizes audit trail tests across the account module.
Original PR description
To replicate: 1. In Settings, enable Restrictive Audit Trail 2. Create and post an invoice 3. Click on "Log note" and add a PDF attachment to the note 4. Click "Log" 5. Error ("You cannot remove…
To replicate:
1. In Settings, enable Restrictive Audit Trail
2. Create and post an invoice
3. Click on "Log note" and add a PDF attachment to the note
4. Click "Log"
5. Error ("You cannot remove parts of a restricted audit trail.") is raised.
With restrictive audit trail enabled, attachments cannot be deleted and writing to the attachment is restricted. However, when adding an attachment via the log notes, this writes to the attachment, setting the res_model to account.move and raising the error when _except_audit_trail() performs the check for a second time. This second write is triggered in `fix_attachments_on_record()`, introduced in odoo#189979.
This commit fixes that by also comparing the old values of the attachment and the new values to be written. If any of them are different, we proceed as before. Attachments cannot be deleted or changed. But if all values are the same, we do not perform the check, so an attachment can still be added.
In this commit we also move the attachment audit trail tests from l10n_de to account. In odoo#203229, the attachment audit trail checks were moved from to account, but the tests remained in the localization. An additional case covering the attachments in log notes was also added to the tests.
opw-5107912
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#236736This update fixes an issue where demo restaurant orders incorrectly displayed 'false' for the ticket code on receipts. Now, demo orders will accurately show the ticket code, ensuring consistent and correct order information for testing and demonstration purposes. This improves the reliability of demo data for restaurant workflows.
Original PR description
Before this commit: - When validating draft orders created in the restaurant configuration with demo data, the receipt shows the ticket code as `false`. - For all demo paid orders also ticket code shows false. After this commit: - Instead of false, the ticket code will be shown task-5103925
This update fixes an issue where table numbers were difficult to see in Odoo's dark mode. The change ensures the table numbers are displayed in black, significantly improving readability and the user experience. This enhancement ensures consistent and clear presentation of information for all users.
Original PR description
Before this commit: - In dark mode, the table number was not clearly visible because the background color and table color were too similar. After this commit: - The table number is now displayed in black for better visibility. task-5103925
This update resolves a technical error that was causing incorrect pagination of grouped lists within Odoo. The fix corrects a typo in a key file, preventing a crash when displaying large lists with pagers. This ensures a smoother and more reliable user experience for all users.
Original PR description
This commit fixes a typo in relational_model causing the grouped list offset to be undefined and crashing when rendering pagers.
This pull request corrects a technical error within the POS tour tests related to the company name being incorrectly configured. The fix ensures accurate test execution, preventing potential issues with reporting and data accuracy in the l10n{cl_edi,br_edi} modules. This resolves a minor inconsistency.
Original PR description
There was an error in the generic hooks, the company name was not the correct one. runbot-234336 Forward-Port-Of: odoo/enterprise#100311
This update corrects a bug in the website builder that caused sections to incorrectly swap with placeholder paragraphs when moving them up or down. The fix ensures that section movements now operate correctly, preventing unexpected behavior and improving the user experience when editing website layouts.
Original PR description
Since [1] placeholder paragraphs are inserted between sections when editing HTML fields with the website builder. Because of this the move operation up/down using the overlay button on sections swaps the section with that paragraph instead of the neighbour section. This commit solves this by making the `getVisibleSibling` shared method of the visibility plugin ignore system nodes. Steps to reproduce: - Go to `/jobs` - Pick an offer - Edit - Select a section - Click on the overlay's move up/down arrow => The block the not move. [1]: https://github.com/odoo/odoo/commit/edf7f7bb0c62978640c181eccb4934855d5d872d task-5358358
This update resolves an issue where attachments weren't consistently displayed on leave request forms after saving. The fix addresses a technical limitation in how Odoo handles attachments linked to leave requests, ensuring attachments are always visible when the form is reloaded.
Original PR description
to reproduce: ============= - from form view, create a leave request with an attachment - save the leave request - the attachment is not displayed on the form (reloading the page shows it correctly)…
to reproduce:
=============
- from form view, create a leave request with an attachment
- save the leave request
- the attachment is not displayed on the form (reloading the page shows it correctly)
Problem:
========
- When sving the leave request, we call `web_save` which will handle the creation, then calls `web_read` to read the updated data back from the server.
- Even though `web_read` and `web_save` are called in the same transaction, but `web_read` doesn't see `attachment_ids` because of the limited implementation of Many2oneReference (ir.attachment.res_id):
- Its `_update_inverses` won't be called when the value is changed when `field.write`
- when `record.attachment_ids = attachment`, the ORM won't automatically set `attachment.res_model = record._name`
Solution:
=========
as work arround, we can call `invalidate_recordset` for leave requests after setting `attachment_ids` in `_inverse_supported_attachment_ids` so that `web_read` will read the correct value from database.
opw-5157790
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#233003This update resolves an issue where deleting a specific partner record (Collection Center - Advance Payment Service) would prevent the installation of new languages. The fix ensures the system handles deleted records gracefully, preventing a 'record not found' error and improving stability. This ensures users can continue to install languages without encountering this disruption.
Original PR description
This error occurs when the user deletes the partner and then tries to install the new language. Steps to reproduce: --- - Install `l10n_be_reports` and switch to `BE company COA`. - Open `res.partner` and delete `Collection Center - Advance Payment Service`. - Try to install another language. Traceback: --- `ValueError: External ID not found in the system: l10n_be_reports.partner_centre_de_perception_belgium` This error appears after this [commit] because it references `partner_centre_de_perception_belgium`. If that record is deleted, an error is raised.. [commit]: https://github.com/odoo/enterprise/commit/b5a935add7090d7da8daee28618f08981de24613 sentry-7039699174
This update resolves an issue where background shapes were incorrectly displayed as 'None' in the website builder after a recent update. The fix involves optimizing how shape data is managed, preventing unnecessary recalculations and ensuring shapes are correctly displayed in version 19.0. This improves the user experience for website customization.
Original PR description
After website builder refactoring [1], background shapes were moved from `web_editor` to `html_builder` [2], this causes the applied shape to be shown as "None" if it was done before the move. Additionally, `getBackgroundShapes` method was generating the shapes map on every call. We now store the generated shapes map to prevent unnecessary recalculation. Steps to reproduce: - Add a section with a shape in a page using an old shape (e.g. in 18.3). - Copy the HTML code of this section. - Paste this HTML code into a page in 19.0. - Click the section. - The shape option shows "None". task-5263013 [1]: https://github.com/odoo/odoo/commit/9fe45e2b7ddbbfd0445ffe25a859e67a316d02b2 [2]: https://github.com/odoo/odoo/commit/2feed24b9e44e9dd4d218afdcae07b127d1e201d
This update resolves a display issue within the journal items tab of Odoo, specifically related to how sections and notes were being hidden. The underlying cause was a change in database field names that created compatibility problems with older versions. This fix ensures consistent and accurate display of journal information.
Original PR description
Steps to reproduce: --- - Revert the commits - Install `account` module - Undo revert commits and install `l10n_pe_edi` module This error occurs because the field name was changed in stable from `journal_line_ids` to `line_ids`. We cannot do this in a stable version, as older databases still reference the old field name, and renaming it in stable will cause errors. Followup of: https://github.com/odoo/enterprise/pull/99875, https://github.com/odoo/odoo/pull/236457 sentry-7059309576, 7059890988 Forward-Port-Of: odoo/enterprise#100426
This update resolves an issue where the website tour would intermittently fail to complete. The fix ensures the tour correctly waits for the 'Style' tab to open after a click, preventing a delay in subsequent steps and guaranteeing the tour functions reliably. This improves the user experience for website tours.
Original PR description
__Before this commit:__ [The `homepage` tour][1] (including all tours calling `registerThemeHomepageTour` in `design-themes`) fails in a non-deterministic way. It is possible to reproduce the error…
__Before this commit:__ [The `homepage` tour][1] (including all tours calling `registerThemeHomepageTour` in `design-themes`) fails in a non-deterministic way. It is possible to reproduce the error by adding a delay [at this line][2] in `change_current_options_containers_listeners`. __Cause:__ When the tour runs `clickOnText`, the "Style" tab automatically opens. The next step is `goBackToBlocks` which directly switches back to the "Blocks" tab. However if the switch to the "Style" tab takes a bit longer than usual, `goBackToBlocks` will click on "Blocks" before and the "Style" tab will opens after it. The following `insertSnippet` step will then be stuck waiting indefinitely for the snippet block to appear. __Fix:__ Wait for the "Style" tab to be active after `clickOnText` to make sure that the call to `goBackToBlocks` actually switch to it. [1]: https://github.com/odoo/odoo/blob/21d827bb0849208efb641951ceb71437f958c34e/addons/website/static/src/js/tours/homepage.js#L53 [2]: https://github.com/odoo/odoo/blob/21d827bb0849208efb641951ceb71437f958c34e/addons/html_builder/static/src/builder.js#L165 Runbot error: https://runbot.odoo.com/odoo/runbot.build.error/233472
Previously, help chats would remain visible in the sidebar even after assistance was provided. This update fixes a bug where the system wasn't properly removing help chats from the sidebar after they were no longer needed. Now, help chats are automatically removed once the user has finished receiving assistance, improving the user experience.
Original PR description
Before this commit, chats looking for help were sometimes kept in the sidebar even after help was provided. This occurs because when a chat is currently shown to the user, we wait for the user to be done before unpinning it (next thread switch). However, we use a flag to do so, which is used in the `livechat_status` on update method. Since `onUpdate` methods are shared accross class instances, they share the same scope. So the `wasLookingForHelp` flag cannot be scoped to the setup function. 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
This update fixes a visual issue where unnecessary scrollbars appeared in Odoo's notebook interface, particularly when viewing complex content or adjusting browser zoom. Removing these scrollbars enhances the user experience and ensures a cleaner, more professional look for notebook views.
Original PR description
This commit removes extraneous scrollbars that could appear in notebook headers or in HTML fields inside notebooks, depending on the content and browser zoom level. task-5283167
This update resolves an issue where Kanban views with varying amounts of data caused flickering during record movement. The fix ensures all Kanban columns maintain consistent widths, improving the overall user experience and stability of the Kanban interface. This enhances usability and prevents disruptions when managing records.
Original PR description
This fixes an issue introduced in https://github.com/odoo/odoo/pull/204103/commits/48d6904b78ee6b067dcf49de5f1ef99c421260c3 with adaptive column sizing. Previously, content-heavy columns would take more space than lighter columns, causing flickering during record drag-and-drop. Columns now retain adaptive sizing while ensuring all columns in the Kanban share the same resulting width. task-5266223
This update corrects a visual issue in invoice PDFs where the tax column incorrectly appeared even when no taxes were applied. The fix ensures that the PDF accurately reflects the absence of tax information, improving invoice presentation and accuracy. This change was triggered by a specific user workflow involving hiding section composition.
Original PR description
**Steps to produce:** - Install `Accounting` module. - Open any invoice > add product > add section > add another product after section. - Do `not set any tax` on both products > go to 3 dots of section > click on `Hide composition`. - Print the invoice. **Isuue:** - The tax column displayed even if there is no tax. **Root cause:** - At [1], `display_taxes` is checked in first condition but not in OR condition. **Solution:** - We first check `display_taxes` and then other conditions. [1]: https://github.com/odoo/odoo/blob/90a4e374d49fd482257b52b8a8c12c09d07daa1d/addons/account/views/report_invoice.xml#L336 Before: <img width="500" height="500" alt="report_invoice_before" src="https://github.com/user-attachments/assets/215e76ba-ab4c-4704-9878-e63af3a4329b" /> After: <img width="500" height="500" alt="report_invoice_after" src="https://github.com/user-attachments/assets/25706fdc-2f3a-4135-95d9-c344d1339c36" /> **opw-5268098**
This update resolves an issue with how tax groups are configured for VAT transactions in the Slovak (l10n_sk) module. Specifically, the 19% and 0% VAT tax groups have been corrected to align with Slovak VAT regulations. This ensures accurate accounting and reporting for Slovak businesses using Odoo.
Original PR description
This commit fixes the tax groups payable and receivable accounts set on 19% and 0% groups from VAT base rate to VAT lower lower rate accounts. opw-5264511 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update streamlines Odoo's WebSocket logging by reducing the volume of data recorded. Previously, full messages were logged, leading to excessive log file sizes. Now, only the message type and device are logged at the 'info' level, resulting in cleaner and more manageable logs.
Original PR description
Before this commit, we logged the full websocket messages received at 'debug' level, and the action device at 'info' level. Logging the whole message causes the logs to be flooded with large base64 print data. After this commit, log the message type and device both at 'info' level. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237427 Forward-Port-Of: odoo/odoo#236651
This update resolves a display issue where sections and notes were hidden in the journal items tab of financial reports. The underlying problem stemmed from a change in database field names, which caused compatibility issues with older versions. This fix ensures that all journal item information is correctly displayed.
Original PR description
Steps to reproduce: --- - Revert the commits - Install `account` module - Undo revert commits and install `l10n_pe_edi` module This error occurs because the field name was changed in stable from `journal_line_ids` to `line_ids`. We cannot do this in a stable version, as older databases still reference the old field name, and renaming it in stable will cause errors. Followup of: https://github.com/odoo/enterprise/pull/99875, https://github.com/odoo/odoo/pull/236457 sentry-7059309576, 7059890988 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237274
This update optimizes the Odoo stock module by preventing unnecessary processing when unpacking empty product packages. Previously, a slow function was triggered, impacting user response times. Now, the system avoids this unnecessary step, leading to faster and more efficient stock operations.
Original PR description
For an empty package the `quant_tasks` function will be executed without restriction of scope and can potentially slow the user request intensly. And if there is no quants in the package the tasks are not necessary. After the unpacking of the quants they are not in the package anymore. Causing the call to quant_tasks to be done on an empty recordset. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234370