Daily updates from Odoo
Wednesday, September 10, 2025
23 changes · master
Enhancements to existing features
The AI live chat website snippet was renamed and simplified, making it easier to maintain and configure. It now automatically assigns an AI agent, fixes chat focus and access checks, and limits public users to accessible reference links, improving reliability and visitor experience.
Original PR description
- Rename support_ai component to ai_livechat component. - Remove s_ai_livechat_data div: The config data of the `s_ai_livechat` website snippet was being stored twice, one in the dataset of the…
- Rename support_ai component to ai_livechat component. - Remove s_ai_livechat_data div: The config data of the `s_ai_livechat` website snippet was being stored twice, one in the dataset of the `ai_livechat` snippet element and another time as data attributes on the `s_ai_livechat_data` div. To clean this redundency, the `s_ai_livechat_data` div was removed along with all the references to it. - Group the options `fallbackButtonText` and `fallbackButtonURL` under `fallbackButton` category in snippet options. - Simplify the template/logic of the component. - Add agent automatically to livechat snippet: It is easy to forget to configure an AI Agent on the AI Livechat Snippet. So, an AI Agent is now set automatically on the livechat snippet. - Fix a bug: The ai_livechat component has 2 chat styles namely fullscreen and popup. The focus should be set on the textarea of the component only if the chat style is fullscreen. Steps to reproduce: 1. Set the chatstyle to popup on the ai_livechat component. 2. Enter a prompt. 3. A chatwindow pops up, and the AI response is shown in that window. 4. The focus is moved from the chatwindow to the textarea of the ai_livechat component. - Fix a bug: The condition that checks the agent presence and the access rights to it when creating a new ai chat channel for the ai livechat website snippet was incorrect. It should use or instead of and. - Fix a bug: The snippet options plugin (AILivechatOptionPlugin) of the ai_livechat website snippet should be added as part of the `website.website_builder_assets` instead of `html_builder.assets` because it is only valid in website context. See https://github.com/odoo/odoo/pull/225089
The Equity app is enhanced with new ultimate beneficial owner (UBO) capabilities and broader updates to equity records, transactions, valuations, cap tables, and portal communications. This helps businesses manage ownership structures more clearly and keep equity stakeholders better informed.
Original PR description
This commit is an improvement to the equity app. task-5043345
The Philippine reporting module has been updated so SAWT/QAP and SLSP reports better match government-required formats. Users can now generate DAT files directly instead of exporting spreadsheets and converting them separately, reducing manual work and supporting more document types.
Original PR description
Updates the reporting module in general to better align with the government guidelines. - Update the SAWT/QAP and SLSP reports, in order to make them match better the expected outputs that will be sent to the government. - Remove the xlsx export we had until now, and replace it with a direct generation of DAT files. Users had to use a tool to transform these xlsx into the final DAT, so they can now skip this step. This process adds support for a larger variety of supporting documents. task-4689269
The Stage Color option is no longer shown as a reporting measure in CRM and Helpdesk analysis views. This keeps reports cleaner by removing a metric that does not provide meaningful business insight.
Original PR description
This commit hides the measure `Stage Color` from graph, cohort and pivot views of the `crm.lead, helpdesk.ticket` model, as it doesn't really make sense to measure on a stage color. The measures are made from the model's fields and all possible measures are shown unless it is made invisible. Therefore make it explicitly invisible. Task-5065924
Documents and trash views now use the original creation date as the default sorting order instead of the last updated date. This keeps document lists more stable, so small metadata changes like tags or name edits do not unexpectedly move files around.
Original PR description
As the write_date can be reset by very small changes like adding a tag, updating its name and also during some upgrade, we set the default ordering to create_date. We do similarly for the trash. Task-5025453 Forward-Port-Of: odoo/enterprise#93952 Forward-Port-Of: odoo/enterprise#92840
The AI chat opened from the systray now shows three rotating example prompts tailored to the apps installed in the database. AI responses are also guided to use the user’s timezone when discussing dates and times, making calendar and scheduling answers more relevant.
Original PR description
Purpose: -------- When opening the ai chat using the systray button, one wants to show 3 different examples of prompts buttons, based on the current modules that are installed. In order to not create a lot of bridge modules that would each contain a a few lines of data, these data are installed with the ai module and the search method of the ai prompt button model has been overridden to skip records from uninstalled modules. Task-5008938
The promotional video shown when users try to access Studio without it installed has been replaced with a newer version. This keeps the Studio introduction current and improves the first impression for potential users.
Original PR description
**Purpose:** Previously, when the user toggled Studio, it would open a dialog with an old promotional video if the Studio was not installed. Now, the old promotional video has been replaced with the new one. task-5061824
Indian GST returns now use Odoo’s shared tax return framework, making GSTR-1 and GSTR-2B workflows more consistent and easier to maintain. Businesses also get a new purchase report, direct JSON export, guided submission steps, and integrated vendor bill fetching within the GSTR2B process.
Original PR description
This commit refactors the Indian GST return handling to adopt the new generic `account.return`, `account.return.check`,and `account.return.type` models. The old model `l10n_in.gst.return.period` is…
This commit refactors the Indian GST return handling to adopt the new generic `account.return`, `account.return.check`,and `account.return.type` models. The old model `l10n_in.gst.return.period` is fully replaced. Previously, GSTR-1, GSTR-2B, and bill fetching through IRN were implemented on the `l10n_in.gst.return.period` model. Key changes:- New - Introduces Purchase Report Return Types - Introduces GSTR1 and GSTR2B return types. - Bypasses the generic annual corporate return type Model Migration Migrates fields from l10n_in.gst.return.period to `account.return` - Fields with the same name and purpose (e.g., company_id, tax_unit_id, etc.) are directly adopted. - Certain fields required explicit renaming for consistency: 1. start_date → date_from 2. end_date → date_to - Other GSTR-specific fields are aligned or removed depending on their relevance - GSTR3B fields and their computes are completely removed - Adopts new M2M fields with custom relation names. Workflow Enhancements - Introduces custom states for GSTR1 and GSTR2B to support their workflows. - Adds support in generic `account.return` to handle next_state transitions. - Creates the checks for GSTR1 validations. GSTR1 Flow - JSON spreadsheet export can now be directly downloaded (no dependency on Documents app). - OTP validation no longer auto-triggers the next GST action — the user must explicitly push data. - Adds an intermediate wizard to guide the user before submission. GSTR2B Flow - Implements Purchase Report using new l10n_in_gstr_section. - Vendor bill fetching is now integrated with GSTR2B workflow. - Reconciliation/matching logic remains unchanged. UI changes - Hides tax return creation if e-filing is disabled from reports and redirects. user to enable filling from the dashboard. - Aligns tax return views with the generic framework. Notes - Core JSON creation and reconciliation logic from previous implementation is preserved. - This aligns Indian GST returns with the generic tax return framework for better maintainability. Community PR - https://github.com/odoo/odoo/pull/223358 Upgrade PR - https://github.com/odoo/upgrade/pull/8281 task-4750259
Users with Invoicing & Banks access can now start online bank synchronization when a bank journal is configured for online feeds and not yet connected. This makes bank connection setup available to the right business users directly from the dashboard.
Original PR description
Before this commit: - Users with "Invoicing & Banks" access rights could not create a bank synchronization, and the "Connect Bank" button was not visible. After this commit: - Users with "Invoicing & Banks" access rights can now create a bank synchronization if the journal has "Bank Feeds = Online Synchronization" and the bank is not yet connected. - The "Connect Bank" button is now visible to them. task-4840544 Forward-Port-Of: odoo/enterprise#87408
The Sign app now makes signing requests easier to understand and manage with a new View option, clearer cryptographic signature messaging, and a company-specific indicator. It also prevents users from trying to resend expired requests and makes uploaded PDF names cleaner by removing the unnecessary template prefix.
Original PR description
Before this commit - No "View" button in the sign request list. - Cryptographic signature was company-specific but had no clear icon/indicator. - "Resend" button still appeared even when a request was expired. - Uploaded PDFs always showed the "template" prefix. After this commit - Added "View" button in the list view. - Updated cryptographic signature description. - Added icon to indicate company-specific cryptographic signature. - Hide "Resend" button for expired requests. - Removed "template" prefix when uploading PDFs. impact: - Easier to follow the cryptographic signature process. - Clearer that signatures are company-specific. - Users won’t mistakenly try to resend expired requests. - Cleaner, more user-friendly UI. task-5015648
Helpdesk tickets created from incoming email aliases now leave out the sender's email signature from the ticket description. This keeps ticket content focused on the actual request, making it easier for support teams to read and act on new tickets.
Original PR description
This commit excludes email signatures from ticket descriptions when created from an alias. task-4795473
Financial return names and related validation checks are now translated into all available languages when they are created. This makes reporting workflows clearer for multilingual teams and helps users understand return checks consistently in their preferred language.
Original PR description
With this commit, return names are now translated to all languages available during creation. Another improvement is that the checks are also translated to all available languages, this includes the name, the message and the record name if there is. This is also supported using the check templates. task-4818751
Users can now create a new dashboard group directly from the dialog used to add a pivot, graph, or similar item to a dashboard. This reduces setup friction and helps teams organize dashboards without leaving their current workflow.
Original PR description
In the dialog to insert a pivot/graph/etc. into a new dashboard, allow the creation of a new dashboard group task-5075916
The AI Documents setup was cleaned up by removing duplicate options and making the document sorting wizard easier to configure. This reduces confusion for users setting up automated document actions and helps prevent incorrect action settings.
Original PR description
Purpose ======= Since f7ecd6ddf8fc3457e879ac5e60f63a115e0173b2 , we added the `use_in_ai` field, but it was already in the view. So we removed the old one. Disable the "quick create" of the server actions, in the sort wizard, and set the model to `documents` by default. Task-5076623
The group configuration menu now shows an icon for the automation action, making the option easier to recognize. This is a small usability improvement that aligns the enterprise interface with related updates in the main Odoo product.
Original PR description
This commit adds an icon to the group configuration menu's automation action based on changes made in https://github.com/odoo/odoo/pull/221709. task-4988827
Signed documents created from uploaded PDFs with fillable fields are now converted so those fields can no longer be edited after download. This helps ensure signed PDFs behave as final documents and reduces the risk of accidental post-signature changes.
Original PR description
## Before - When users uploaded PDFs with fillable form fields (AcroForms), those fields stayed editable even after the document was signed and downloaded. - This caused confusion, as users expected signed documents to be final and non-editable. ## After Introduced a flatten_pdf method to make form fields read-only by: - Extracting the field values and rendering them as static text at the same positions. - Removing all interactive form definitions (/Annots, /AcroForm) from the PDF. - Re-encoding the updated PDF in base64. ## Impact - Ensures signed PDF's no longer contain editable fields. - Prevents accidental edits after signing, improving document integrity. --- task-4730732
The rental search snippet now uses the current search icon style instead of an older icon. This keeps the website rental experience visually consistent with the rest of Odoo and avoids outdated styling in customer-facing pages.
Original PR description
Previously, the `rental search` inline snippet used the old `fa fa-search` fontAwesome icon. This commit replaces it with the correct search icon (`oi oi-search`). task-5077472
The Italian VAT tax report layout has been updated to more closely match the official format from the Italian revenue authorities. Key context fields are now shown directly in the report, making them visible in PDF and XLSX exports and easier for users to review.
Original PR description
*: account_reports, l10n_it_reports, l10n_it_xml_export Improvement on the tax report layout, to make it more like officially documented by the Italian revenue authorities. See page 12: https://www.agenziaentrate.gov.it/portale/documents/20143/8487117/IVA_Annuale_2025_mod.pdf/f080de03-01f0-c4d6-8c80-8b5573797b89?t=1736949831826 For example, in the official docs some context information fields (those in VP1: Subcontracting, Exceptional Events, Extraordinary Operations) are directly shown on the report. We moved them in Odoo from our export wizard to the report itself to match that layout. This way they are also exported to PDF and XLSX. community pr: https://github.com/odoo/odoo/pull/223592 upgrade pr: https://github.com/odoo/upgrade/pull/8253 Task [link](https://www.odoo.com/odoo/967/tasks/5000725) task-5000725
Users can now access AI writing help directly from the smaller HTML message composer. This reduces context switching and makes composing messages faster and more convenient.
Original PR description
This commit allows the use of the AI plugin in the HTML composer, enhancing its functionality and user experience and hence, the user does not have to switch between different tools to access AI features. task-4772129
The Project app’s enterprise Gantt view has been updated to match recent changes that remove template-related menus. This keeps project planning screens aligned with the simplified navigation and helps avoid confusion from outdated template options.
Original PR description
adapt gantt view to changes introduced in related community PR: https://github.com/odoo/odoo/pull/225971 task-5073029
Helpdesk users can now create a credit note even when no invoice is selected, and the resulting credit note is linked back to the related ticket. This improves traceability between customer support cases and refunds while adding safeguards to prevent empty refunds.
Original PR description
- create a new move when pressing the refund button if no moves are selected - Link the credit note with the helpdesk ticket - Create a ticket stat button in the credit note form --- task-4781360
Managers and cashiers can now clock employees in or out directly from the cashier selection screen in Belgian POS. The popup also shows how long the current cashier has been clocked in, making shift status easier to track during daily operations.
Original PR description
This commit improves the cashier selection popup by allowing direct Clock In/Out actions from the screen. It displays the time since the current cashier’s last clock-in, and also allows the manager to clock in or out all employees. task-4877282
This update adds tax return support for Irish and UK EC Sales List and Intrastat reporting. Businesses operating in these countries can prepare the required tax-related declarations more directly in Odoo, improving compliance workflows and reducing manual effort.
Original PR description
Add the tax return for the irish and british EC Sales List and Intrastat reports. task-id: 4784433