Friday, September 11, 2026
11 changes · master
New functionality added to Odoo
Field Service managers can now plan daily work using a combined map and timeline view, making it easier to balance routes, locations, and schedules at the same time. The two panes stay synchronized for folding, hovering, routes, stop numbers, and resource colors, reducing confusion during dispatch planning.
Original PR description
Introduces a new "Map Timeline" view for Field Service (Maps > Timeline), combining a map and a Gantt timeline side by side so managers can plan daily interventions from both a spatial and a temporal angle at once, grouped by resource, with inherited features (create, edit, drag-and-drop, buffer times, routing, etc.) preserved in both panes. On top of the base view, the map and timeline are also kept coherent with each other: - folding a resource group in one pane folds it in the other, including the "Open Shifts" and "Shifts to assign" groups - hovering a pin, a pin group, or a shift highlights its counterpart(s) across the map and the Gantt, as well as their side panels - hovering a pin group also highlights its route on the map, with stop numbers shown along it - resource colors (including materials) stay consistent across the Gantt, the map pins, and the map side panel task-6273718 Co-authored-by: Maxime de Neuville (mane) <mane@odoo.com>
Adds a French annual report template aligned with the official Plan Comptable Général format, helping companies prepare the required reporting document in Odoo. The update also reuses information already available in fiscal declarations to reduce duplicate data entry and make the report more practical to complete.
Original PR description
The French companies have to submit a report containing a lot of info on their business. That report format is dicted by the Plan Comptable Général (PCG), Titre VIII. This PR adds a new knowledge article template for the Annual Report in accounting, following the format described by the PCG. Heavily helped by AI. task-6349733
Odoo Social now supports direct messages for Facebook and Instagram pages, making it easier for teams to manage private customer conversations from social channels. Businesses can also use AI assistance to respond when operators are unavailable, while respecting Instagram messaging rules and account requirements.
Original PR description
Purpose ======= Support direct messages for Facebook and Instagram pages. For Instagram, we have 24h to respond to a user, we also need to inform the Instagram user that he's talking to an automated…
Purpose
=======
Support direct messages for Facebook and Instagram pages.
For Instagram, we have 24h to respond to a user, we also need
to inform the Instagram user that he's talking to an automated
agent when it's the case. Only professional account are supported.
See https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login/messaging-api/
When a message arrive, we fetch the last messages to get the user / LLM
some context of the previous conversation. One limitation for Instagram,
when fetching the message, we can get only the 20 last messages.
See: https://developers.facebook.com/docs/graph-api/reference/v25.0/conversation
Like `ai_livechat`, we can configure an LLM to answer to the user
(if no operators are available, etc). For traditional live chat, the
visitor has a button "Ask Human". This is not possible for all media,
so the LLM has a tool and it can ask a human when it's necessary.
Configuration Facebook
======================
Configure the webhook URL in the settings of the application
("Messenger" -> "Messenger API Settings" -> "Configure webhooks")
Configure the verify token in the settings of Odoo / IAP with the value
you want (you will need to use the same token in the Facebook
application settings).
Enter
- "<url of the database>"/social_facebook/webhook
- "<url of IAP>"/api/social/facebook/1/webhook
Then subscribe to the "messages" and "message_reactions" in the list.
The permission `pages_messaging` and `pages_manage_metadata` are needed.
Configuration Instagram
=======================
For Instagram, we need to setup the callback URL in "Messenger -> Instagram Settings",
the configuration is very similar to the Facebook steps.
Task-5948062Adds support for automatically issuing simplified invoices during Spanish eCommerce checkout. This helps Spanish online stores apply the right invoicing flow and only request VAT details when an order exceeds the simplified invoice limit.
Original PR description
This commit introduces the logic to automate issuing simplified invoices during the E-commerce checkout process. task-6090096 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
Employee leave records can now be accessed directly from employee information in the Time Off area. This supports related business processes that need to read leave data without relying on payroll components.
Original PR description
Allows to read it (without payroll). See enterprise PR. Task-6344800
Adds support for India's GST Composition Tax Scheme for eligible businesses, including company registration settings, composition tax rates, and purchase tax handling where input tax credit is not allowed. It also updates GST reporting and hides features that do not apply to composition taxpayers, such as e-Invoicing and HSN validations.
Original PR description
Previously, only the regular GST scheme was supported. India also provides the Composition Tax Scheme for eligible taxpayers, including goods suppliers with an annual turnover of up to ₹1.5 crore and service providers with an annual turnover of up to ₹50 lakh. This commit adds support for the Composition Tax Scheme. Added features: - Add a GST registration type and composition tax rate on the company. - Add composition purchase taxes, as taxpayers under the Composition Scheme cannot claim Input Tax Credit (ITC), and the tax amount must therefore be included in the cost of goods. - Add the `sale_composition_supplies` GSTR section for composition supply sales move lines. - Add a new `composition` value to `l10n_in_tax_type` for composition taxes. - Hide features that are not available under the Composition Scheme, such as e-Invoicing and HSN validations. ent:https://github.com/odoo/enterprise/pull/121367 upg:https://github.com/odoo/upgrade/pull/11250 task-3637966
The website AI assistant can now review external webpages to gather text, images, and screenshots for better page creation. It also saves externally referenced AI images into Odoo attachments when pages are saved, improving reliability and ownership of generated website content.
Original PR description
Added a new ai tool that allows the website ai agent to access webpages. It has the option to receive the text, images and screenshot for each indiviual page. The tools allow the ai agent to take inspiration from existing pages, provide appropriate sources and thanks to images tend to make the end result prettier. Since the ai will copy external image urls into the html, a new process has been added to download and save the images as attachments. This happens on all tagged images (all images produced by the ai are automatically tagged) when a page is saved. This works thanks to an async call to the website scraper server, this is the reason behind the new 'external' tool confirmation mode. Since the call is async, we need a way to resume the conversation once the result is finished. Since this process can be long (1-2 minutes), we hide the composer to prevent user from sending new messages while this is happening. Task: https://www.odoo.com/odoo/project/974/tasks/6143475
Indian GST Composition Scheme users can now access the CMP-08 and GSTR-4 returns and related reports in Odoo. The system also checks a company’s GST registration type so the relevant returns and reports are shown only when applicable.
Original PR description
As support for the Composition Tax Scheme is being added, this commit introduces the necessary reports and returns for CMP-08 and GSTR-4. It also includes checks for returns and ensures that reports and returns are available based on the company's GST registration type. com:https://github.com/odoo/odoo/pull/271318 upg:https://github.com/odoo/upgrade/pull/11250 task-3637966
Adds support for Pakistani retailers to report paid POS orders to the Federal Board of Revenue in real time through Odoo. Receipts and invoices now include the required FBR invoice number and QR code, helping businesses meet local fiscal compliance requirements.
Original PR description
Description of the issue/feature this PR addresses: The Federal Board of Revenue (FBR) requires Pakistani retailers to report every POS sale in real time and print the returned fiscal invoice number…
Description of the issue/feature this PR addresses: The Federal Board of Revenue (FBR) requires Pakistani retailers to report every POS sale in real time and print the returned fiscal invoice number and QR code on the receipt. This PR adds l10n_pk_edi_pos to implement this for the Pakistani localization. Current behavior before PR: Odoo POS has no FBR integration: orders are not reported to the tax authority and receipts carry no FBR invoice number or QR code. Desired behavior after PR is merged: Each paid POS order is submitted to the FBR through the IAP proxy. The FBR invoice number and QR code are stored on the order and printed on the receipt and customer invoice; invoicing stays blocked until the order is reported. Refunds, the FBR service fee, 3rd Schedule products, buyer NTN/CNIC reporting and a sandbox mode are supported, all configured from the Point of Sale settings. task-4426796 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The ESG app now replaces the former project-based approach with dedicated policies, actions, and targets, making sustainability work easier to structure and track. These items are also reflected in VSME and CSRD reporting templates, helping businesses align operational ESG plans with reporting requirements.
Original PR description
task-5253296
Odoo Sign now lets each signer apply their own itsme qualified electronic signature to documents, instead of relying only on the company seal. This strengthens signer attribution and supports stricter legal signing flows, while preserving existing signatures as documents move through each signing step.
Original PR description
Lets each signer sign the document with their own itsme® qualified certificate, producing a qualified electronic signature (QES) attributable to the signer instead of the company seal alone. In sign,…
Lets each signer sign the document with their own itsme® qualified certificate, producing a qualified electronic signature (QES) attributable to the signer instead of the company seal alone. In sign, the completed document is now built as a chain of incremental updates over the original bytes and sealed once at the end, so the signatures already applied stay valid. The model `sign.completed.document` becomes `sign.request.document`, a working copy that belongs to one request and carries the file through its whole life. A signer can now sign the document themselves (using external service), which puts the request in a strict signing order so that every signature covers the contributions made before it, and freezes the file while their signature is being produced before it is embedded or discarded. Because such a signature attests values that must not move under it, the flow is guarded on every side. The signer reviews the frozen bytes before their signature is collected. An answer changed afterwards gives the pending attempt up instead of signing content that is no longer current. The authentication of a role can no longer change once its turn has started, and a request can only hold one working copy per document. Those working copies and the signatures they carry are read only for sign users and they are removed together with the request. Signing for everyone in one session is refused if at least one signer signs the document externally, because each of them has to sign in person. In `sign_itsme`, a new signing role produces the signature with itsme®, charged in itsme® credits. Unlike the identity check it cannot be skipped when credits are missing, because here the qualified signature is the signature itself. A signer can sign several documents of the same request in one itsme® action (up to 70 documents). `sign_emsigner` is adapted to the incremental flow. --- task-4951149 Depends on odoo/odoo#253372 (incremental PDF signing utilities) and on the "generalize PDF signing with incremental merge" PR this branch is stacked on, #110345.