Daily updates from Odoo
Friday, February 13, 2026
18 changes · master
Enhancements to existing features
This update simplifies the setup of Documents and Accounting actions, primarily by moving demo invoices to a more relevant location and streamlining how server actions are executed. It also includes visual refinements and resolves a technical issue related to action order, ensuring smoother operation for users.
Original PR description
This pr first moves 2 demo invoices that used to be installed in the Taxes folder when installing Documents with demo data. It is more relevant to add those files after a user has installed…
This pr first moves 2 demo invoices that used to be installed in the Taxes folder
when installing Documents with demo data. It is more relevant to add those
files after a user has installed accounting. The folder of the demo files
is now at the root of the 'Finance' folder instead of the less relevant 'Taxes' folder.
The second commit of this pr refactors the accounting server actions
(e.g., "Create Vendor Bill") to use a single `documents_account_record_create`
action instead of a `multi` action that combined a folder move with record creation.
Third commit removes a temporary workaround was required in `ir.actions.server` to enforce
a specific execution order for these multi-actions. This is fixed structurally by adding a default
order in the base module in community.
Additional improvements:
- When a journal is changed on an `account.move`, the tags from the previous
journal are now removed from the related document.
- `_get_folder_embedded_actions` now returns a `defaultdict`, simplifying
caller code by removing the need for manual `.get()` checks.
- Removed the "Create Vendor Receipt" action.
- Visual updates: Renamed actions for brevity (e.g., "Create Vendor Bill" ->
"Vendor Bill") and the cog menu button ("Add Custom Action" -> "Edit Actions").
Task-5075610This update enhances the Odoo Studio interface, specifically for m2o fields. It now allows users to apply decorations and set conditional rules based on the 'truthiness' of related fields, providing more flexible customization options for field attributes.
Original PR description
This commit exposes the `decoration-<modifier>=<field>` in studio for m2o fields. Once a decoration is selected, the Decoration Condition property is displayed and allow users to select a field from the model to conditionally add the attribute to the field. The condition depends on the "truthiness" of the field. task-5469063
This pull request delivers several updates to the CRM interface, including a streamlined lead generation dropdown and improvements to the lead-to-ticket conversion process within the helpdesk. It also incorporates extensions for city form data, enhancing data accuracy and usability.
Original PR description
A combination of many smaller improvements to CRM. See task description and commit messages for more info Community PR: https://github.com/odoo/odoo/pull/240202 Task-5262571
This update ensures consistent naming of customers across all Odoo rental documents. The pickup receipt PDF now uses 'Contact' instead of 'Salesperson,' aligning with the recent change in the sales order PDF. This improves document clarity and professionalism for our clients.
Original PR description
The term `Salesperson` can be used on end-customer documents. Replace it with `Contact` on the pickup receipt PDF for consistency with the sales order PDF change. task-5887854 See Also: Community PR:https://github.com/odoo/odoo/pull/246918
This update allows users to select multiple ledgers simultaneously for financial reports, simplifying report generation and providing more granular data control. A default 'Local GAAP' ledger is now included, and unnecessary date headers have been removed to streamline the report interface.
Original PR description
Instead of exclusion of journals, the journal groups (ledgers) are now an inclusion of journals. On the reports, we can now select multiple ledgers at the same time, and adding an implicit local ledger 'Local GaaP' which contains all the journals that are specific to the company, and not in any other ledger. This allows to select and deselect all these journals at once. This local Gaap is selected by default when entering the report. For the Horizontal Group based on Ledgers, addition of columns corresponding to the local gaap of each selected company. I also removed the date header when there is no comparison of dates in the report interface (not in the pdf), because the date can be seen on the filters. task-5404526
This update streamlines the Helpdesk search selector by collapsing priority, SLA status, and rating filters. This change optimizes screen space, making it easier for users to quickly find the tickets they need. It's a minor improvement to the user experience.
Original PR description
In this commit, we collapsed the priority, SLA status, and rating filters to free up some space in the search selector. task-5810884
This update strengthens the connection between documents and products within Odoo Enterprise. The changes streamline how documents are associated with products, making it easier to manage related information and improve product documentation workflows. This enhancement provides a more robust and intuitive system for businesses.
This update enhances how Odoo handles requests from search engine robots (like Google). By implementing a static `/robots.txt` file, we prevent Odoo from dynamically rendering templates for these bots, improving performance and security. This aligns with best practices for website accessibility and search engine optimization.
Original PR description
Following the changes in PR \[1]\, this module extends that behavior by introducing a custom `IrHttp` implementation that leverages the new static `/robots.txt` mechanism to avoid runtime template rendering. \[1]\: https://github.com/odoo/odoo/pull/237737 task-[5095225](https://www.odoo.com/odoo/project/974/tasks/5095225)
This update enhances shift planning by allowing multiple resources to be assigned to a single shift record. Previously, each resource needed for an intervention required a separate shift, which is now streamlined for efficiency. This change simplifies team assignments and improves the overall planning process.
Original PR description
This commit converts resource_id field into resource_ids in planning.slot model to allow to assign multiple resources on the same shift since it could happen to send a whole team with some machines to an intervention, it makes more sense to assign them all in the same record instead of creating a shift for each resource needed to an intervention or any other mission to complete. task-5259036
This update strengthens Odoo's Web Studio approval process by introducing child rules for model methods. Previously, bypassing approvals was possible through certain actions. Now, additional rules can be applied to specific methods, ensuring that critical actions are always properly authorized, improving overall data integrity and security.
Original PR description
task-5344534
This update enhances Czech VAT reports by adding optional tags to the VetaD and VetaP sections. These tags align with official Czech country names, ensuring greater accuracy and compliance with reporting requirements. This change improves the reliability of the reports used for tax filings.
Original PR description
This commit adds optional tags to the exports, in the sections VetaD and VetaP. It also adds the corresponding official country names as detailed in the [documentation](https://adisspr.mfcr.cz/pmd/dokumentace/ciselniky/ukazka/zeme), since it does not always match the country names in Odoo. task-5384854
This update introduces a new hierarchical structure for selecting RAG sources, allowing users to manage entire document folders and knowledge article families. This simplifies source creation and synchronization, ensuring content is consistently updated and available for AI applications.
Original PR description
## Summary Previously, only individual files could be selected as sources. This PR introduces **source hierarchies**, allowing users to select and manage entire collections of content as RAG sources.…
## Summary Previously, only individual files could be selected as sources. This PR introduces **source hierarchies**, allowing users to select and manage entire collections of content as RAG sources. Supported hierarchies include Documents folders, and Knowledge articles with parent–child relationships. ## What’s New ### AI Agent Source: Cleanup and Improvements - Simplified the status update flow for sources, ensuring more reliable transitions between "Processing," "Indexed", "Failed" and "Incomplete" states. - Decoupled Knowledge article processing from the `ir_cron_process_sources` to improve performance and provide more immediate feedback during source creation. - Implemented cached URL fetching to reduce redundant requests and introduced standardized error templating for better troubleshooting and translation support. - Introduced sources hierarchies allowing sources' folder structure. ### Documents: Folder Support - Users can now select entire **Documents folders** as RAG sources. - All valid binary documents within selected folders are automatically extracted. - Sources are represented as a **hierarchical structure**, mirroring the folder layout. ### Knowledge Articles: Hierarchical Selection - Introduces a new wizard: **`ai.add.knowledge.articles`**, replacing the previous article selection flow. - Users can select **parent articles** and optionally include all **child articles** via a toggle. - The parent–child structure is preserved in the source hierarchy. ### Source Synchronization (Reprocess / Retry) Source hierarchies can now be synchronized across all source types: - **Documents** - Syncs hierarchy when documents are created or moved within folders. - Content is re-synced if a document is updated or its version changes. - **Articles** - Updates parent–child relationships when articles are created or moved. - Folder sources automatically collapse when parent articles no longer have children. ### UI Improvements - The document selection dialog now supports **folder selection**. - Reuses the same dialog component as the one used in the chatter for consistency. --- **Task ID:** 5153669
This update significantly enhances the Odoo Report Editor by allowing direct editing of the combined report architecture, simplifying XML modifications, and improving the user interface. The changes focus on translation support and a more intuitive workflow for customizing report layouts, leading to a more efficient and user-friendly experience.
This update streamlines the process of creating assets from vendor bills by introducing a new depreciation model and updated account fields. It simplifies asset creation for fixed assets and improves the accuracy of financial reporting, particularly for accounts related to fleet vehicles.
Original PR description
*=account_fiscal_categories_fleet,l10n_lu_reports,l10n_ro_saft This commit applies vendor bill and fixed asset improvements, mainly creating new depreciation model, new asset fields on accounts, and…
*=account_fiscal_categories_fleet,l10n_lu_reports,l10n_ro_saft This commit applies vendor bill and fixed asset improvements, mainly creating new depreciation model, new asset fields on accounts, and new process to create assets from bills. Changes: - New `account.depreciation.model` New `depreciation_model` is created, which contains the asset method, duration, and factors. Previously, the concept `asset model` existed as an asset in `account_asset` with `state` as `model`. The old asset model concept has been removed and consequently the fields and views have been removed from the `account_asset` model. - `account.account` asset changes Asset fields were removed from `account.account` and new fields were added. Previously, the account contained fields: `create_asset` and `asset_model_ids` which were used to indicate how an asset gets created when account is used in a vendor bill. These fields were replaced by `depreciation_model_id`, `asset_depreciation_account_id`, and `asset_expense_account_id`. An asset is created automatically when using account in bill only if these fields are set. These fields can only be set on accounts with type `fixed asset`. The Automation tab has been removed. - Changes to vehicle in accounts A new field `is_vehicle_account` is added to account to indicate if a vehicle is required when using account to create an asset. - New process for creating assets from bills If an account that has a `depreciation_model_id` is used, then it will automatically create and validate an asset with default depreciation model, depreciation account, and expense account as in the fixed asset account. The user has the ability to only change the default depreciation model, before creating the asset, from the invoice line. A new JS custom widget was created to display the fixed asset account, depreciation model, and vehicle in same cell in the invoice lines. These fields are required and used when creating an asset. Every invoice line can create only 1 asset even if the quantity is more than 1. The functionality of multiple assets per line has been removed. - New method A new depreciation method is added: No depreciation, to be used when asset doesn't depreciate. Depreciation model, asset, and account form views were adjusted to make some fields invisible if method is no depreciation. task-5240457
This update enhances the user experience of appointment scheduling and calendar views within Odoo. Key changes include improved reminder settings, a more intuitive Gantt chart display, and the ability to link activities to calendar events. These improvements streamline workflows and provide a better overall user experience.
Original PR description
This PR improves the UX of calendar and appointment with multiple commits: - Commit 1 improves the appointment.type form by allowing modifications of reminders when clicking on their tag. It also…
This PR improves the UX of calendar and appointment with multiple commits: - Commit 1 improves the appointment.type form by allowing modifications of reminders when clicking on their tag. It also improve the UX of the calendar.event forms by requiring resources when the appointment type is schedule based on them, changing the display of a button and adapting the code to modifications done in calendar in the community PR. - Commit 2 improves the UX of the gantt view by changing the date format on the "day" scale and fixing the hotkey of the "New" button. It also improves the calendar view by displaying the share button's messages inside toasters and adapting the code to modifications done in calendar in the community PR. - Commit 3 adapts the appointment code to allow simple and appointment calendar events to have different default alarms. - Commit 4 adds a message in the log's calendar.event when whatsapp-type reminders are sent. - Commit 5 allows appointment calendar events to have activities. Community PR: https://github.com/odoo/odoo/pull/242504 Upgrade PR: https://github.com/odoo/upgrade/pull/9344 Task-5429852
This update enhances the automatic scheduling of tasks when creating projects from project templates. Previously, overlapping task schedules were prevented, leading to potential scheduling conflicts. Now, the system allows for overlapping tasks when using a template, ensuring more flexible and realistic project scheduling.
Original PR description
When a project template has unassigned tasks that are scheduled such that they overlap each other, the auto scheduling algorithm should allow them to overlap when creating a project from that template. Task-5177182
This update enhances the map view by providing better grouping of tasks, improved Google Maps integration, and more accurate location data. It now centers the map on the company location when no tasks are present and displays geolocation information for tasks without addresses, making it easier to visualize related projects.
Original PR description
**Better support of grouping functionalities in the map view.** 2nd PR from a series of PR improving the map view (1st PR: odoo/enterprise#104618) This PR introduces: Geolocation features: - New fallback on the current company when no records available in the map view. - For records with no addresses but with geolocalisation, the geoloc is now specified on the map marker popup Google Maps features: - Modify the logic on the controller Google Maps button to only open records of expanded groups. - New per group Google maps button (only appears on hover) which opens only the group record on Google maps. Routing features: - When routing, hovering over the legs displays the time and duration of each leg. (Duration is temporarily in seconds while waiting for a widget) - Routing is now also available when the data is grouped (one route per group). - Routing when grouped now uses the group marker color, as the route color. Task#5259181
This update clarifies payment states to avoid user confusion and potential overpayments. The 'in_process' state is removed, and new 'paid' and 'reconciled' states are implemented to accurately reflect payment status and financial reconciliation. This ensures accurate financial tracking and reduces the risk of duplicate payments.
Original PR description
The current payment states naming is misleading and creates several functional issues: The in_process label fails to clearly indicate a completed payment. This confusion leads users to pay the same invoice multiple times. Accounting Misalignment: The paid state currently signifies reconciliation rather than payment completion. This naming gap, combined with an abrupt transition from draft to paid, obscures the actual financial status. Lack of Data Integrity and Visibility: Manual validation of reconciliation is too easily accessible, risking inconsistent data. Additionally, the lack of chronological sorting for outstanding payments and missing conversion rates in multi-currency contexts hinders accurate financial tracking.