Daily updates from Odoo
Friday, May 1, 2026
17 changes · saas-19.2
Resolved issues and error corrections
This update resolves an error that occurred when manually creating vendor bills and DIAN commercial events were rejected. The fix ensures that retries work correctly, preventing a traceback and improving the reliability of the DIAN integration for our Colombian clients. This issue was specifically triggered in environments without demo mode.
Original PR description
This commit fixes an error when retrying a rejected DIAN commercial event on manually created Vendor Bills. This is a tricky error as it only happens when the vendor bill is manually created and the…
This commit fixes an error when retrying a rejected DIAN commercial event on manually created Vendor Bills. This is a tricky error as it only happens when the vendor bill is manually created and the event is rejected (missing/incomplete info or servers down which is common). To add more to this, this error can only be reproduced without demo mode as it forces the acceptance, forcing the need of valid testing or production DIAN credentials How to reproduce it: - Install l10n_co_dian module - On CO company with all required DIAN configuration set - Create a vendor bill manually with enough information to send to the DIAN but causing it to be rejected. - Click on acknowledge receipt, it should be rejected - Complete information to be accepted and again click on acknowledge receipt - A traceback appear Code expects the last document to be the most current one created when triggering commercial event, but this is not true when a rejected document exists since this is unlinked and cache invalidated causing the recordset to be invalidated and retrieved again by ORM with default order, so now the last document is the oldest one without an attachment causing the traceback opw-6104541 Forward-Port-Of: odoo/enterprise#114758
This update fixes an issue where users would encounter technical errors when generating tax reports due to missing certificates. Now, if a certificate isn't set up, the system displays a helpful message guiding the user to configure one, preventing confusing tracebacks and ensuring smooth report generation.
Original PR description
Description of the issue this commit addresses: When sending the tax report or ec sales list xbrl file via the wizard to the authority, if no certificate has been set, a traceback shows up. This happens because some processes try to use the certificate without checking its existence. Desired behavior after the commit is merged: When sending via the xbrl wizard, if no certificate has been set up, an error offering the user to go to the certificate set up shows up and no traceback. task-6065382 Forward-Port-Of: odoo/enterprise#112951
This update fixes a performance issue that occurred when new users joined Odoo. Specifically, it prevents the system from making redundant database queries during the store creation process, particularly in auto-subscription flows. This change ensures a smoother and faster experience for new users and improves overall system efficiency.
Original PR description
Only query for the last bus notification id when the target is the current user. This avoids unnecessary queries in flows like auto-subscribe, where an individual store is generated for each newly created member, preventing an N+1 query issue. task-5941186 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#262380 Forward-Port-Of: odoo/odoo#261974
This update restores previously removed fields from asset and depreciation models within Odoo Enterprise. This change was made to prevent disruptions to existing views and integrations while a permanent UI streamlining is planned for the master version. This ensures continued stability and functionality.
Original PR description
Commit 409b0b716e0bdab4ac3761d3bd41023b47fb1b5d removed several fields from the asset and depreciation model views to streamline the UI. However, removing these fields in a stable version can break inherited views or external integrations that rely on their presence. To maintain stability while preserving the UI improvements, this commit restores these fields but sets them to `column_invisible="True"` These fields will be permanently removed in the master version.
This update fixes a reporting issue where the tax report for Swedish businesses (l10n_se) incorrectly displayed sales line amounts as negative. The fix adds missing minus signs to key formulas, aligning with Swedish tax regulations and ensuring accurate reporting of sales tax amounts. This ensures compliance and accurate financial reporting for our Swedish customers.
Original PR description
Steps to reproduce ------------------ 1. Install l10n_se module. 2. Create a journal entry with tax grid se_38, se_40 or se_41. 3. Open the Tax Report and check section E. -> The line shows the amount as negative, while it should be positive. The fix ------- Add the missing `-` in front of the formulas of lines 38, 40 and 41. These lines were missed by the tax_tag_invert revamp done in 17a6117ed88c. ref: https://skatteverket.se/servicelankar/otherlanguages/inenglishengelska/businessesandemployers/startingandrunningaswedishbusiness/declaringtaxesbusinesses/vat/vatitemsboxbybox.4.3dfca4f410f4fc63c8680004502.html opw-6085318 Forward-Port-Of: odoo/odoo#258029
This update fixes an issue where users in unsupported countries would silently fail when requesting card details for expense claims. Now, users receive an email notification if their country isn't supported, preventing data loss and improving the user experience. The update also adds more detailed error messages for better troubleshooting.
Original PR description
When a user request the card details, if the country of the phone number of the user isn't supported by IAP, it would silently fail. Now, we are sending an email in case the phone number isn't supported. In case some flow don't/can't have any email fallback, we will add the a generic error and a more detailed one for the country not being supported. task-6065232 Forward-Port-Of: odoo/enterprise#112701
This update resolves an issue where sales orders created with products linked to different companies would fail to process correctly through the customer portal. The fix ensures that company context is properly set when accessing company-dependent fields like project templates, preventing errors and allowing for seamless order processing across multiple company environments. This improves the reliability of the sales order process for businesses using multiple companies within Odoo.
Original PR description
project_template_id is a company dependent field. When creating a project, it is called without the proper company context set up. When confirming an SO through the portal, the order's env is setup…
project_template_id is a company dependent field. When creating a project, it is called without the proper company context set up. When confirming an SO through the portal, the order's env is setup without a company and `.with_user(SUPERUSER_ID)`, making future company_dependent variables use OdooBot's company. Following examples earlier in the function, call `.with_company` while accessing project_template_id. Steps to reproduce: 1. Install Sales and Project 2. Create second company 3. Create Customer with portal access, under created company 4. Create service product with different projects for each company 5. Create sales order with customer and service product, send to customer 6. Login as customer on portal, accept and sign SO a. Should stall, RPC Error in console Ticket: opw-6082772 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#261380 Forward-Port-Of: odoo/odoo#260387
This update resolves a crash in the abandoned cart reminder system when Click & Collect is enabled. The fix ensures the system handles scheduled actions without a frontend cart, preventing failures and guaranteeing reminders are sent correctly. This improves the reliability of the Click & Collect delivery method.
Original PR description
Problem: The abandoned cart reminder can crash when Click & Collect is enabled. The stock availability check reaches website_sale_collect._get_product_available_qty(), which assumes request.cart…
Problem: The abandoned cart reminder can crash when Click & Collect is enabled. The stock availability check reaches website_sale_collect._get_product_available_qty(), which assumes request.cart always exists. Solution: Safely access the cart with hasattr and fall back to the existing no-cart behavior when it is unavailable. Why: Scheduled actions may have a request object without a frontend cart. This fix prevents the cron from failing while sending abandoned cart reminders. Reproduction Steps: - Configure the website with a warehouse. - Create/publish a delivery method with delivery type “Pick up in store”. Confirm the website has both warehouse_id and in_store_dm_id - Create a cart from the website shop using a storable product that has does not have "Sell When Out of Stock" turned on. - Leave the cart without checking out. - On the generated quotation set the date to the past, but also the date must be after the website.send_abandoned_cart_email_activation_time - Run the abandoned cart reminder scheduled action for the eligible abandoned cart with a storable product. Related Ticket: opw-6133986 Related PR: https://github.com/odoo/odoo/pull/242864 Forward-Port-Of: odoo/odoo#261885
This update corrects a display issue where the Tax ID (DIČ) was appearing twice on customer invoices for Czech companies. The fix removes a redundant VAT entry from the invoice template, ensuring accurate and consistent reporting of company identification information. This improves the professional appearance of invoices and avoids potential confusion.
Original PR description
**Steps to reproduce:** * Install the **l10n_cz** module. * Create a customer invoice for a Czech company. * Print the invoice. **Observed behavior:** * The **Tax ID (DIČ)** is displayed **twice** in…
**Steps to reproduce:** * Install the **l10n_cz** module. * Create a customer invoice for a Czech company. * Print the invoice. **Observed behavior:** * The **Tax ID (DIČ)** is displayed **twice** in the invoice header in default layout. * **VAT** is displayed **twice** in the invoice headed in folder layout. **Cause:** * The `registry_vat_external_layout` template adds `company.vat` to `company_address_list`. * Base external layouts already include `company.vat` in the same list. * This results in duplicated DIČ rendering. **Fix:** * Remove the redundant VAT `<li>` from `registry_vat_external_layout`. * Keep only the Czech-specific **Company ID** (`company_registry`) entry, which is not provided by base layouts. Before: <img width="900" height="261" alt="image" src="https://github.com/user-attachments/assets/9b5b81aa-a79d-4c93-8109-3c97d79356f4" /> After: <img width="804" height="221" alt="image" src="https://github.com/user-attachments/assets/4b62eddc-6117-4f52-a8fb-2b03812aad8b" /> opw-6125766 Forward-Port-Of: odoo/odoo#262399 Forward-Port-Of: odoo/odoo#260966
This update corrects a layout issue in the spreadsheet component caused by a recent style change. The change exposed the spreadsheet's styling to automatic translation tools, leading to incorrect right-to-left formatting. This fix ensures the spreadsheet displays correctly for users in both left-to-right and right-to-left language environments.
Original PR description
When we switched from scss to a css file in the o_spreadsheet library, we exposed the library style to the automatic convertion of `rtlcss`. This process replaces the explicit `tlr`rules to `rtl`. rtlcss can ignore files/rules with inline instructions but since the library is external to Odoo and is not explicitely aware of `rtlcss`' existence, we add an explicit rule inside Odoo which will not be exposed to `rtlcss` conversion. Task-6170966 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#261761
This update prevents unnecessary state resets for tasks that have been marked as done or canceled. Previously, changing a task's project would reset its state, even after completion. This change ensures tasks remain in their final state, streamlining workflow and reducing potential confusion.
Original PR description
Before this commit, when the project of a task is changed, even if the state of that task is done or cancelled, the state is reset (except if the task is blocked by another one). This behavior is not expected for a task done/cancelled, we should not reconsider that task since it has been done/cancelled and so there is no reason to re-consider it once the project changed. This commit makes sure the state of the task is not reset when the project changed only if the state is a closed state or Waiting state. task-5361864 Forward-Port-Of: odoo/odoo#261648 Forward-Port-Of: odoo/odoo#252752
This update fixes an issue where incorrect deduction warnings were displayed on customer invoices. The changes now restrict these warnings to vendor bills only, streamlining the reporting process. Additionally, a redundant warning banner related to missing PAN data has been removed, ensuring clearer and more accurate information for financial reporting.
Original PR description
Previously, the higher deduction alert was displayed next to the TDS section in the wizard for both customer invoices and vendor bills. However, this is not applicable for customer invoices. So in this commit, the alert is restricted to vendor bills only, and field will also be hidden in that case. Additionally, when the PAN entity was missing, a warning banner was shown to indicate higher deduction. Since the higher deduction is already displayed next to the TDS section, the redundant banner is also removed. task-6171749 Forward-Port-Of: odoo/odoo#261923
A recent issue causing tours to fail in the Enterprise portal has been resolved. The problem stemmed from errors with the worksheet not saving or displaying correctly, which disrupted the tour's functionality. This update ensures tours run reliably for users.
Original PR description
The worksheet is not auto saving and the worksheet is not rendering properly in portal, which caused the tour to fail. runbot error-242479 Forward-Port-Of: odoo/enterprise#115761
This update resolves an issue where incorrect Nemhandel identifiers were generated when users entered Danish VAT numbers with the 'DK' prefix. The change removes the prefix if the CVR number indicates Denmark, ensuring accurate identifier generation and improved client experience. This prevents errors and data inconsistencies.
Original PR description
Before this PR: - When a user enters a full VAT number with the 'DK' prefix in the company registry, the Nemhandel identifier becomes incorrect and results in a cryptic error being returned to the client. After this PR: - The prefix is removed if the CVR contains the 'DK' country code, to ensure the correctness of the Nemhandel identifier. task-5449059 Forward-Port-Of: odoo/odoo#262088 Forward-Port-Of: odoo/odoo#261719
This update corrects an issue where financial reports (Balance Sheet, P&L, Tax Report) were printed with a zoomed-in appearance due to a default paper format setting. The change ensures reports use the standard Euro paper format, aligning with DIN 5008 requirements for postal documents, and improving print quality.
Original PR description
paper format (dpi=70, postal margins) was applied to all reports because it is set as the company default by both the Swiss and German localizations. This caused financial reports (Balance Sheet, P&L, Tax Report) to appear zoomed in when printed to PDF. DIN 5008 is only appropriate for documents sent by post (invoices, credit notes, follow-up letters). Override `get_paperformat` in each localization to return the standard Euro format when rendering accounting reports. task-6053938 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#260142
This update corrects an issue where financial reports (Balance Sheet, P&L, Tax Report) were printed with zoomed-in views due to a default paper format setting. The change now uses the standard Euro paper format for accounting reports, ensuring they print correctly when generating PDFs.
Original PR description
for financial reports DIN 5008 paper format (dpi=70, postal margins) was applied to all reports because it is set as the company default by both the Swiss and German localizations. This caused financial reports (Balance Sheet, P&L, Tax Report) to appear zoomed in when printed to PDF. DIN 5008 is only appropriate for documents sent by post (invoices, credit notes, follow-up letters). Override `get_paperformat` in each localization to return the standard Euro format when rendering accounting reports. task-6053938 Forward-Port-Of: odoo/enterprise#114330
The expense direct cost account (account_type: expense_direct_cost) should also be searchable on vendor bills, and search by account code should ignore filters (reverted change) task-id: [6138677](https://www.odoo.com/odoo/project/967/tasks/6138677) origin pr: https://github.com/odoo/odoo/pull/257850 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260076
Original PR description
The expense direct cost account (account_type: expense_direct_cost) should also be searchable on vendor bills, and search by account code should ignore filters (reverted change) task-id: [6138677](https://www.odoo.com/odoo/project/967/tasks/6138677) origin pr: https://github.com/odoo/odoo/pull/257850 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260076