Daily updates from Odoo
Tuesday, February 18, 2025
20 changes
1 change
Resolved issues and error corrections
Users can now add or remove columns in Accounting Report list views and see the change right away. This avoids the need for a manual page refresh, making report customization smoother and less confusing.
Original PR description
When toggling columns in any Accounting Report list view, it requires a manual refresh to see the changes. this is caused because this [commit](https://github.com/odoo/enterprise/pull/56589/commits/adc4bb7394cd7f25cffd15330fa699777bf2aac1) removed automatic reactivity, so we need to explicitly recompute the columns after updating `optionalActiveFields` Steps to reproduce: 0. Activate developer mode 1. Navigate to the 'Accounting Reports' menu in accounting. 2. Open a report (e.g. the balance sheet) 3. Use the column selector to add or remove additional columns OPW-4352833 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
4 changes
Enhancements to existing features
The helpdesk live chat experience has been updated to better match Odoo's Discuss behavior, making conversations more consistent for users and support teams. Related automated tests were adjusted to ensure ticket creation and website helpdesk live chat flows continue to work reliably.
Original PR description
part of task-4453573 community: https://github.com/odoo/odoo/pull/196567/files
Localized e-commerce and portal address handling has been aligned with recent platform changes, so customers can manage multiple addresses more consistently. The update also moves country-specific checkout logic into the main localization modules and adds dedicated tests to help ensure checkout addresses keep working across supported countries.
Original PR description
This commit adept community changes to allow multiple addresses in portal and e-commerce localisation refactor to remove those module and move related code in main localisation. It also add test module to add checkout tour related module for different localisation to ensure shop addresses in each countries are working same as before. task-3628329
This update improves how preparation stages are managed in the point-of-sale preparation display. It helps teams track order progress more clearly across kitchen or preparation workflows, supporting smoother operations and better visibility.
Original PR description
task-4480977
The Frontdesk app now presents cleaner station and visitor workflows, including clearer copied station names, better visitor status actions, and favorite stations shown first. Employee selections are also filtered by company, helping users find the right people and stations more quickly.
Original PR description
In this PR, - Corrected alignment of user icons. - Updated duplicated station titles to include the suffix "(copy)". - Hid "Cancelled" stage for visitors marked as "Checked-In" or "Checked-Out". - Removed "Check-in" button and associated UX for cancelled visitors. - Default station name for new visitor records created from a station. - Filtered employee (user) list by selected company in the widget. - Prioritized favorite stations in all views. Task - 4512891
15 changes
Enhancements to existing features
This update simplifies the invoice Print & Send flow by removing unnecessary warnings, improving Peppol guidance, and avoiding automatic e-invoicing format choices that caused confusion. It also improves reliability for invoices without bank account details and prevents Peppol sending when recipient details are not verified.
Original PR description
## Commit 1: [IMP] account{,_edi_ubl_cii,_peppol}: Misc imps of the Print & Send - "What is Peppol" warning no longer appear on already sent invoices. - Remove the warning related to already existing…
## Commit 1: [IMP] account{,_edi_ubl_cii,_peppol}: Misc imps of the Print & Send
- "What is Peppol" warning no longer appear on already sent invoices.
- Remove the warning related to already existing PDF. This will be improved
by the following task [1].
- Remove the warning related to bank accounts, this will be improved
in the next commit of this PR.
- Align warnings related to absence of EAS/Endpoint.
- Move the "Test/Demo mode" warning next to the "by Peppol" label.
- Remove the new "Print" button from draft invoices.
[1]: https://www.odoo.com/odoo/project/967/tasks/4498564
task-4478365
-----------------------------
## Commit 2: [FIX] account: Add translation for invoice pdf report field in form
task-no
-----------------------------
## Commit 3: [IMP] account_{edi_ubl_cii,peppol}: Stop setting automatically an invoice edi format
In previous refactor[1], we set automatically an invoice EDI format.
This decision was too zealous considering the overall state of e-invoicing
and now cause more frictions than necessary.
We therefore decided to remove the automatic computation of EDI format on
partners.
[1]: https://github.com/odoo/odoo/commit/9e769e1b11f22890e5245859053bc8dd31e42634
task-4478365
-----------------------------
## Commit 4: [FIX] account: remove partner_bank_id from readonly field of posted moves
In previous PR [1], we made the partner_bank_id field editable on
the invoice form as long as the move is not sent.
There was still a security check in place, let's remove it for this
field.
[1]: https://github.com/odoo/odoo/pull/195069
task-4478365
-----------------------------
## Commit 5: [IMP] account_edi_ubl_cii: use code ZZZ instead of 30 if no bank account is set
To generate a valid BIS3 format, if we put 30 - credit transfer as payment means,
we need to have a bank account set. If it's not the case, it will raise an error.
We improve the usability by changing that code to ZZZ - mutually defined if no
bank account is provided to the invoice.
This should improve the onboarding flow when no bank account is set yet.
task-4478365
-----------------------------
## Commit 6: [IMP] account_peppol: expand the countries where we display WhatIsPeppol banner
This list is based on recent usage statistics from OpenPeppol.
task-4478365This update helps accounting users spot when asset depreciation schedules no longer match the balance sheet. It adds a report warning with a direct link to the affected assets, making it easier to review and correct account settings in bulk.
Original PR description
…depreciation schedule and the balance sheet using an sql querie [imp] a warning message that has a button to take you to the assets so that you can change the accounts making the discrepancy(manually) Allwed mass edition on the assets list view
Quality checks now show product variant details instead of only the general product name. This makes it easier for staff to distinguish similar products during transfers and reduces handling confusion.
Original PR description
Before Commit: ---------------------------- - Quality checks only displayed the product name, making it difficult to distinguish between variants in the same transfer. After Commit: ----------------------------- - Quality checks now display variant details, ensuring clarity and reducing confusion when handling multiple variants of the same product. task-4478249
Adds a warning in accounting reports when asset depreciation schedules do not match the balance sheet. Users can jump directly to the affected assets and edit them in bulk, helping teams correct account setup issues more efficiently.
Original PR description
…depreciation schedule and the balance sheet using an sql querie [imp] a warning message that has a button to take you to the assets so that you can change the accounts making the discrepancy(manually) Allwed mass edition on the assets list view
Resolved issues and error corrections
This fix allows non-administrator users to open the stock replenishment view without encountering an access error. It corrects a permission issue introduced by a prior change, helping inventory teams continue replenishment work normally.
Original PR description
odoo/odoo#192897 introduced a new bug when trying to access the replenishment view without administrator rights due to a call to `ir.config.parameter` method `get_param` without sudo rights. opw-4583651 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes two issues in the HTML editor: deleting selected content no longer creates unwanted empty blocks, and the ChatGPT alternatives dialog no longer disrupts the user's text selection. This makes editing content more predictable and prevents accidental changes while the dialog is open.
Original PR description
In the following HTML: ```html <h1>[test</h1><p>content]</p>\n ``` The "\n" text node is invisible whitespace. When deleting the selection, failing to account for that, the content of the heading was…
In the following HTML: ```html <h1>[test</h1><p>content]</p>\n ``` The "\n" text node is invisible whitespace. When deleting the selection, failing to account for that, the content of the heading was "joined" with the invisible text node so that the heading's first child was that text node. This enventually snowballed when inserting new content as the start container was now a text node at offset 0, signalling to `insert` to do its insertion before its parent, and we ended up with an empty block after our insertion. This fixes it by correcting `getJoinableFragment` so it doesn't join with an invisible text node. ----- This prevents the default behavior of a mousedown event on the ChatGPT alternatives dialog so it doesn't cancel the user's text selection in the editor. This way, like with every other dialog, whenever it's open nothing can happen in the background. task-4258167 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures portal chatter components wait until all required background services are ready, including when parts of the page are loaded later. It reduces the chance of unpredictable loading behavior or broken chatter interactions for portal users.
Original PR description
When loading portal chatter, because the chatter bundle is lazy loading, it could happen that some components are added to the main_components registry while the services are not fully updated. In non-lazy loading scenarios, this doesn't happen because before lunching the main components, the code waits for all services to start, but with lazy loading, the services update happens again with the lazily loaded bundle, and if there are some main components in that bundle, they will be added to the MainComponentsContainer regardless of the updating services. As a result, this could lead to a main component being added randomly before or after the services are loaded. This commit, by postponing the lunching of the MainComponentsContainer until after the lazy loading is complete, ensures that if there are other lazily loaded services, the main components will wait for them to be updated.
Simplified invoices sent to TicketBAI now leave out recipient details when the customer does not have a VAT/NIF number. This prevents validation failures and helps Spanish companies submit these invoices successfully.
Original PR description
Since Odoo 18.0, the recipient is always included when sending a simplified invoice. While this is allowed by TicketBAI, it is only valid if the partner has a VAT number (NIF). Steps to reproduce: Install the l10n_es_edi_tbai module and setup an ES company Create a simplified invoice with the partner "Simplified Invoice Partner (ES)" Send the invoice to TicketBAI The following error will be returned: "B4_1000002: Todos los registros incluidos en la petición son incorrectos." The Fix: For simplified invoices, this fix ensures that the recipient is only included in the XML if the partner has a VAT/NIF. If not, the recipient is omitted to avoid TicketBAI validation errors. Ticket [link 1](https://www.odoo.com/odoo/project/967/tasks/4525875), [link 2](https://www.odoo.com/odoo/project/967/tasks/4522938), [link 3](https://www.odoo.com/odoo/project/967/tasks/4553030) opw-4525875 opw-4522938 opw-4553030
Accounting settings now block invalid fiscal year dates, such as February 29 in non-leap years. This prevents invoice creation from failing later with a confusing system error and gives users clear feedback when configuring fiscal periods.
Original PR description
Currently, An error occurs when attempting to create an invoice, and the user entered an invalid date in the `Fiscal Periods` of the accounting settings. Step to produce: - Install the `accountant`…
Currently, An error occurs when attempting to create an invoice, and the user entered an invalid date in the `Fiscal Periods` of the accounting settings. Step to produce: - Install the `accountant` module (without demo data). - Go to Settings / Technical / Sequences & Identifiers / Sequences, And delete all records. - Go to Accounting settings, Set the month to February and the day to 29 in the `Fiscal Periods` section, - Go to Invoicing / Customers / Invoices, Try to create a new invoice. `ValueError: day is out of range for month` The issue occurs because the system attempts to get a 29th February at [1], But 29th February is not available in all years(e.g '2025'). Link [1]: https://github.com/odoo/odoo/blob/0f507a8982a29bf1c35aaf9f8f97fc3d5381226c/addons/account/models/account_move.py#L3487 To resolve this, raise a validation error if the user enters an invalid date in the `Fiscal Year` of the accounting settings. Sentry-6190026432 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale product search has been updated to match the newer search behavior after fuzzy search was removed. Users should now see all relevant product results instead of being limited to only exact matches, making it easier to find items during checkout.
Original PR description
Since the fuzzy search has been removed, it is no longer necessary to exclusively display only exact match results. This commit updates the search functionality to adopt and return all relevant search results, ensuring consistency with the new behavior. opw-4535250 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an issue where exporting selected records could fail after using the “select all” option in list views. This makes export actions more reliable, including inventory stock reporting exports.
Original PR description
The domain was incorrectly initialized in the `getExportedFields` method after this commit https://github.com/odoo/odoo/pull/174366/files#diff-a3a01eded3e54743e243ef83e4c7dc682ddc91630015fa1f986e20346e7b84caR521-R530. The domain now defaults to an empty array (`[]`) when `parentParams` is undefined, preventing unexpected errors during export operations. This ensures consistent handling of record selection and domain construction. Steps to reproduce Go to Inventory / Reporting / Stock Change the number of records displayed to be less than the total When you try to select all in the list view it shows the select all button. Click it. Actions / Export / Stock Quant Open this there is a video that explain in the [ticket](https://www.odoo.com/odoo/project.task/4333244) opw-4333244 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes several issues in the WinBooks import process so accounting data imports more accurately and with fewer manual corrections. It improves handling of draft entries, missing accounts, and analytic accounting details, including using the correct analytic plan names and enabling analytic features when needed.
Original PR description
Details in various commits
Accounting settings now reject invalid fiscal year dates, such as February 29 when it would cause errors in non-leap years. This prevents users from encountering an invoice creation failure caused by an unsupported fiscal period configuration.
Original PR description
Currently, An error occurs when attempting to create an invoice, and the user entered an invalid date in the 'Fiscal Periods' of the accounting settings. Step to produce: - Install the `accountant` module (without demo data). - Go to Accounting settings, Set the month to February and the day to 29 in the Fiscal Periods section, - Go to Invoicing / Customers / Invoices, Try to create a new invoice. `ValueError: day is out of range for month` The issue occurs because the system attempts to get a 29th February at [1], But 29th February is not available in all years(e.g '2025'). Link [1]: https://github.com/odoo/odoo/blob/0f507a8982a29bf1c35aaf9f8f97fc3d5381226c/addons/account/models/account_move.py#L3487 To resolve this, raise a validation error if the user enters an invalid date in 'Fiscal Year' to ensure that users cannot enter an invalid date. Sentry-6190026432
When a Mexican electronic payment document is canceled, Odoo now also cancels the linked payment record. This prevents payments from incorrectly remaining posted after the official CFDI cancellation process.
Original PR description
Since Odoo 18.0, account.payment no longer inherits from account.move. As a result, canceling a payment with `_l10n_mx_edi_cfdi_move_post_cancel` does not automatically cancel the associated payment record. Steps to reproduce: 1. Ensure the Mexican localization is installed and properly configured. 2. Generate an invoice and sign it with the government (CFDI). 3. Create and sign a payment for the invoice. 4. Cancel the payment from the CFDI table. Current behavior: - Odoo cancels the move, but the related payment remains posted. Expected behavior: - The payment should also be canceled when the move is canceled. This fix ensures that the associated payment is canceled correctly. opw-4528910
Batch picking screens now show tracked product lines grouped correctly, making warehouse operations easier to review and process. This fixes a display issue that could make batch picking confusing when lot or serial tracked items were involved.
Original PR description
opw-4291149