Daily updates from Odoo
Tuesday, February 18, 2025
12 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
11 changes
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