Daily updates from Odoo
Friday, May 1, 2026
12 changes · saas-19.1
Resolved issues and error corrections
This update ensures that vendor bills can now be searched using the 'expense_direct_cost' account type. Previously, this account type wasn't searchable, and searching by account code was affected by filters. This change improves the accuracy and efficiency of vendor bill searches.
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
This update resolves an issue that occurred when manually creating vendor bills and DIAN commercial events were rejected. The fix ensures that retrying these rejected events now functions correctly, preventing a traceback error related to outdated data retrieval. This improves the reliability of the DIAN integration for manual vendor bill creation.
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 a technical issue that caused error messages when generating tax reports via the Odoo wizard. Now, if a certificate isn't set up, users receive a helpful message guiding them to configure one, preventing confusing tracebacks and ensuring report generation continues smoothly.
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 reporting issue where sales tax amounts in the Swedish tax report (section E) were incorrectly displayed as negative. The fix adds missing minus signs to the relevant formulas, ensuring accurate reporting aligned with Swedish tax regulations. This ensures correct tax calculations and reporting for Swedish businesses using the Odoo system.
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 a previous issue where users wouldn't receive notifications when their phone number country wasn't supported for SMS verification. Now, users will receive an email notification if their country isn't supported, improving the user experience and ensuring accurate expense report processing. The fix also includes enhanced error handling for future flows.
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 multiple company accounts didn't function properly through the customer portal. The fix ensures that company context is correctly applied when creating projects, preventing errors and allowing customers to successfully place orders regardless of their company setup. This improves the reliability of the sales process for businesses using multiple company environments.
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. Previously, scheduled actions without a website cart would cause errors. The fix ensures the reminder system functions reliably, even when carts aren't present, preventing disruptions to the Click & Collect process.
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 Czech customer invoices. The fix removes a duplicate entry from the invoice template, ensuring accurate reporting and compliance with Czech regulations. This improves the invoice presentation for Czech customers.
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 fixes an issue where incorrect withholding warnings were displayed on customer invoices. Now, alerts are only shown for vendor bills, streamlining the reporting process. Additionally, a redundant warning banner related to missing PAN data has been removed, ensuring consistent and accurate information.
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
This update fixes an issue where financial reports (Balance Sheet, P&L, Tax Report) were printed with an incorrect, zoomed-in format due to a default setting for postal documents. The change ensures reports now use the standard Euro paper format, aligning with DIN 5008 requirements for invoices and other postal documents.
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 these reports, ensuring they print correctly and professionally.
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
This update fixes a performance issue that occurred when new users joined Odoo. Specifically, it streamlined the process of creating 'stores' (used for notifications) to prevent a flood of database queries. This change ensures a smoother and faster experience for new users, improving 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#261974