Daily updates from Odoo
Friday, May 1, 2026
16 changes · saas-19.3
Enhancements to existing features
This update enhances the Point of Sale (PoS) and Human Resources (HR) modules by allowing PoS users to directly access sessions from the menu and restricting sensitive product financial information for users with limited access. This improves user experience and strengthens data security.
Original PR description
- Allow PoS users to access sessions directly from the menu. - Restrict visibility of product financial information for users with minimal access rights. Task-[5980289](https://www.odoo.com/odoo/project/1737/tasks/5980289) Related PRs: - https://github.com/odoo/enterprise/pull/109173 Forward-Port-Of: odoo/odoo#262289 Forward-Port-Of: odoo/odoo#251391
This update makes the Preparation Display app available directly on the Odoo dashboard for Point of Sale (PoS) users. Previously, this helpful tool was hidden. This change improves the user experience and allows PoS staff to quickly access key preparation information.
Original PR description
This commit makes the Preparation Display app accessible from the Odoo dashboard for PoS users. Task-[5980289](https://www.odoo.com/odoo/project/1737/tasks/5980289) Related PRs: - https://github.com/odoo/odoo/pull/251391 Forward-Port-Of: odoo/enterprise#115844 Forward-Port-Of: odoo/enterprise#109173
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
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
The standard mail composer (e.g., used in Quotations) allows users to add files or paste links directly from the Documents app. However, this functionality was missing in the custom `account.move.send` wizard used for Invoicing and Accounting. This commit introduces the 'Add from Documents' feature to the Accounting Send & Print wizard. task- 5905930 Forward-Port-Of: odoo/enterprise#111422
Original PR description
The standard mail composer (e.g., used in Quotations) allows users to add files or paste links directly from the Documents app. However, this functionality was missing in the custom `account.move.send` wizard used for Invoicing and Accounting. This commit introduces the 'Add from Documents' feature to the Accounting Send & Print wizard. task- 5905930 Forward-Port-Of: odoo/enterprise#111422
Resolved issues and error corrections
This update fixes a potential performance issue that could have slowed down new user sign-ups. By streamlining how stores are created, the system now avoids redundant database queries, leading to faster processing and a smoother user experience. This change specifically addresses an 'N+1 query' problem.
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 fixes an issue where sales line amounts in the Swedish tax reports (section E) were incorrectly displayed as negative. The fix adds missing minus signs to the relevant formulas, ensuring accurate reporting according to Swedish tax regulations. This ensures businesses accurately report their sales transactions for tax purposes.
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 resolves an issue where sales orders created with products linked to multiple companies would fail due to incorrect company context. The fix ensures the correct company is used when creating projects, preventing errors during order confirmation, particularly through the customer portal. This improves order processing reliability for businesses using Odoo's multi-company functionality.
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 technical issue causing errors in DoEDI reports. The problem stemmed from incorrect formatting of error messages within the l10n_do_edi module, which was preventing proper test case execution. This fix ensures accurate reporting and improved stability for DoEDI functionality.
Original PR description
Problem: A TypeError traceback occurs with the test cases because the error was not formatted properly from l10n_do_edi_blocking_errors when _format_error_text is called. Solution: Map the error message properly in l10n_do_edi_blocking_errors. Related PR: https://github.com/odoo/enterprise/pull/112814 runbot-build-error-242502
This update restores previously removed fields in the asset and depreciation models to ensure stability and prevent disruptions to existing workflows. While the fields were initially removed to simplify the user interface, their restoration with a hidden status maintains compatibility with integrations and inherited views. These changes will be permanently removed in the main version.
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. Forward-Port-Of: odoo/enterprise#115918
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 user experience for customers in the Czech Republic.
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 resolves an issue where the Gantt planning dialog incorrectly filtered out unscheduled shifts for resources with no scheduled shifts. The fix ensures the dialog displays all relevant unscheduled shifts, improving the usability of the planning feature. This change corrects a discrepancy introduced in a previous version.
Original PR description
Steps to Reproduce --- 1. Open the Planning Gantt view. 2. Click a cell that belongs to a resource with no scheduled shifts. 3. The Plan dialog opens with an empty list. Issue --- In saas-19.2, the context field for the selected resource was renamed from resource_id to resource_ids. Hence it remained in the dialog context. Current Behaviour --- The Plan dialog is filtered by resource_ids, returning no results for unscheduled resources. Expected Behaviour --- The dialog should list all unscheduled shifts matching the resource's roles, or all unscheduled shifts if no roles are defined, while preserving the scheduling context once a shift is selected. Fix --- Set search_default_resource_ids to false in getSelectCreateDialogProps(). task-4922525 Forward-Port-Of: odoo/enterprise#115822
A bug was causing the appointment builder to crash when users edited appointment pages. This update corrects a misconfiguration that was sending incorrect data to the builder, preventing unexpected errors. The fix ensures the builder functions reliably for all appointment types.
Original PR description
'Reload' was wrongly passed as a prop to BuilderContext in 'Appointment Type' Option. This ended up in a traceback when user opened the builder on an appointment page. To see the issue: - Create an appointment, and go to its frontend page in debug mode - Start editing - Click anywhere on the page => Traceback We also replace `isReload` with `reload` in order to reload the page when applying the actions. task-6147936 opw-6144915 Forward-Port-Of: odoo/enterprise#115506
This update fixes a layout issue in the spreadsheet component, ensuring that text and formatting appear correctly for users in right-to-left languages. The change was necessary after a recent update to the spreadsheet library's CSS conversion process, which inadvertently introduced a left-to-right layout.
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 fixes a display issue with tax withholding warnings in the Odoo system for Indian businesses (l10n_in). The warning is now only shown on vendor bills, streamlining the user experience. Additionally, a redundant warning banner related to missing PAN data has been removed, simplifying the interface.
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 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 accounting reports (Balance Sheet, P&L, Tax Report) were printed with zoomed-in layouts due to a default paper format setting. The change ensures reports now use the standard Euro paper format, resolving the printing problem and improving report clarity.
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