
Odoo versions · Odoo 20
What's new in Odoo 20: what really changes, module by module
Odoo 20 was released in September 2026. Here is what changes from Odoo 19 to Odoo 20, business area by business area, established by the ANOR team from a direct comparison of the source code of both versions (Community and Enterprise) and from the official release notes.
If your instances are still on Odoo 19, 18 or 17, the migration to Odoo 20 needs preparing: this page helps you spot what changes for your teams and what needs checking before migrating.
Where does Odoo 20 stand on support?
Short answer: Odoo 20 is the latest major version. The publisher gives it three years of standard support, until September 2029 according to its planned schedule. It is the natural target for a new project or a migration.
The publisher maintains the three latest major versions: Odoo 20, Odoo 19 and Odoo 18. Odoo 17 left support when Odoo 20 arrived. For an Odoo 17 database, what happens next depends on the hosting: on Odoo.sh, the platform requires a supported version and the migration is a must; on a dedicated server, the database keeps running without new security fixes, with a risk that depends on how exposed the instance is and on how sensitive the data is. In both cases, we advise planning the migration rather than having it forced on you.
How the software works overall
Even before the detail by business area, several cross-cutting changes alter the way the whole company uses the software every day: security, documents, internal messaging, offline work.
- Access rights are simplified: record rules disappear and the scope of visible data is defined directly on the access right. A single screen now groups what used to allow viewing, editing or deleting information, where you previously had to juggle two separate screens. For a company that manages its own access rights, that is one screen fewer to learn.
- On a user's form, the role choice (User / Administrator) offers a third, intermediate level, "Light", which automatically limits the user to a restricted subset of functions: handy for giving a limited and affordable access to an occasional contributor. Our Light users guide details the cases, application by application.
- A new screen lists all of a user's active sessions (device, browser, country, city), making it easier to spot a suspicious connection and cut it remotely if needed. Changes to a user's groups are now logged in their chatter.
- An offline mode lets you create, edit, archive and delete records without a connection, then rerun searches already executed.
- Printed or PDF documents (quotations, invoices) change slightly in presentation, with new layout styles to choose from and a separate setting for the look of line tables. Warning: the option that allowed a custom watermark or background image behind reports disappears with no replacement. A new internal print engine coexists with the old one: check your custom document templates before migrating.
- The document layout configuration screen now shows your real invoice being created rather than a generic example; a plain Accounting user can also configure it when creating their first invoice.
- Sales orders, purchase orders and invoices switch between tax-excluded and tax-included prices, with the option for a given tax to override this setting.
- Font Awesome icons give way to Material Symbols throughout the interface: your custom views and reports that reference an icon by name need a review.
- The contact form accepts several typed and validated identifiers (DUNS number, national identifiers). Bank accounts show, alongside the IBAN, a clearing number specific to some countries, better supported and validated automatically.
- Internal messaging (Discuss) gets richer: polls in conversations, call transcription and summaries, channel categories and favourites, access opened to external customers through the portal. SMS can be scheduled and carry dynamic values.
- A link to the current view now keeps the applied search, filters and grouping; several records can be moved at once in list and Kanban; a "My Subscription" page centralises plan, IAP services and database management.
- An in-context translation mode, multi-language data import via Excel or CSV and per-language export make life easier for companies working in several languages.
Artificial intelligence: agents that act inside the software
Artificial intelligence, introduced with Odoo 19, becomes a project in its own right in Odoo 20, carried by more than fifty modules on the Enterprise side. All AI features now consume credits bought through IAP.
- Agents create and update records on request, including from an instruction file uploaded as a PDF and ask questions you answer with buttons.
- They can be triggered by automated or scheduled actions and their conversations are kept for thirty days. An agent that reaches its tool call limit asks for confirmation before continuing.
- Voice interaction, image generation for the website and mailings, questions asked about a file while previewing it, manual reprocessing of sources.
- Choosing the provider is enough: Odoo automatically selects the model suited to the task. The database can be connected to external tools via the MCP protocol.
- The "topics" that defined an agent's behaviour are now called "skills".
Sales
The sales process gains precision, from writing the quotation to tracking the delivery and calculating commissions.
- A dashboard appears at the top of the quotation and order lists, with indicators and quick filters.
- An order line no longer requires a product by default: a simple description is enough. A new "Mandatory Product" setting lets you enforce the link to an item if you notice poorly filled lines.
- The margin can be edited directly on the line and recomputes the sales price; a variant's price can be edited directly; lines are numbered on the form, the PDF and the portal; product images appear on the order and the PDF.
- Quotation sections get their own quantity and unit, a multi-line description and can be saved as reusable templates. Any existing order turns into a quotation template in one click, with subsections and "hide price" or "hide composition" options.
- If a delivery exceeds what was ordered, that surplus can now be spotted and invoiced to the customer at the company's discretion: useful when a driver rounds a quantity up.
- Pricelists accept rules per period or day of the week, rules per packaging type and a fixed prepayment amount. Loyalty points can expire and discount codes can be limited to one use per customer.
- Commissions are calculated on amounts paid and roll up to managers. Services and materials to be re-invoiced get a dedicated mechanism, at fixed price or at cost.
- Orders can be shipped and confirmed by email without the Inventory app. The TikTok and Lazada marketplaces join Amazon and Shopee.
- A subscription can be closed on a date scheduled in advance, to honour a contractual notice period without thinking about it at the last minute. Sales, subscription and rental prices are unified in a single tab.
- Warning: the switch that enabled quotation templates from the settings disappears. Templates remain usable as normal, but the company-level default template is no longer configured in the same place.
Purchase
On the purchasing side, tracking vendor orders becomes more reliable and more complete, from the request for quotation to invoicing.
- A new wizard calculates precisely what has been received but not yet billed and what has been billed but not yet received, line by line: a real time saver at month end for closing purchases.
- A promised delivery date, frozen when the order is confirmed, allows a reliable vendor on-time rate: postponing a late date no longer distorts the statistic. If the order could not be confirmed before the deadline, arrival dates are recalculated in one click.
- A default Incoterm is set on the vendor form and carried over to all its orders. Blanket orders accept sections and notes and order sections display their totals.
- Purchase orders display tax-excluded or tax-included, like sales quotations.
- Comparing several vendor offers remains possible, but the mechanism changes: it is no longer reserved for blanket orders, it is an independent setting ("Purchase Alternatives") whose comparison screen is simplified.
- Vendor bill lines are predicted from history and label and a vendor's quality rate appears on its form, calculated from checks performed on receipt.
Inventory and warehouse
Stock and shipping management gets simpler on several points, without upsetting habits already in place.
- Grouped transfers (by batch, by wave) remain a simple checkbox in the settings. What changes is invisible on screen: ticking the box no longer installs a module, the function is built into the core.
- Scrapping a product changes its internal mechanism (a standard stock move rather than a separate operation), but combinable reasons and the "to replenish" option already existed.
- Returning goods is done in one click directly from the original transfer, with no separate wizard.
- Minimum and maximum quantities of reordering rules are suggested from demand history, desired coverage in days and order frequency. The "Order" and "Order to max" buttons merge.
- New reports: stock aging from the moves analysis, stock status at a past date with a precise timestamp, upstream and downstream traceability of a lot in a single report.
- Intercompany flows improve: resupply routes from one company to another, delivery from another company's warehouse, valuation transferred correctly.
- A prefilled CMR document downloads from the delivery; landed costs can be added to specific products of a transfer; HS codes and packagings are defined per variant; push routes can depend on the destination location.
- To add a carrier (DHL, FedEx, UPS, Chronopost and others), a button opens the full list of available connectors; the individual carrier checkboxes disappear. ShipStation joins the connectors and pickup points offered by Sendcloud carriers can be chosen from the order or the transfer.
- For shops fitted with electronic shelf labels (Pricer), updates can also be driven from Inventory and no longer only from the till.
Projects
Project management evolves in depth, with a fundamental change on field service, which migrates to another application.
- Project sharing is rethought: external collaborators are separated from followers, portal access levels are renamed and clearer (View / Edit / Edit advanced) and tasks can be assigned to portal users. The portal shows the changes recorded in a task's chatter.
- A project can be created directly from a CRM opportunity, each project role is assigned members and the task schedule prints from the Gantt view.
- The project form is redesigned: a built-in map locates the customer. The profitability report built into the dashboard gives way to dedicated reports: budget, actual and projected margins.
- A new assistant can track an employee's office activity (emails, calls, meetings) to suggest timesheet lines the employee validates in one click: a real data-entry saver, but a point to address on the privacy side before any rollout.
- Field Service is no longer part of the Project app: the app is discontinued and its features now rely on Planning (see below). Any company using field service will need to review its organisation and retrain its teams.
Manufacturing
In manufacturing, the changes affect the shop floor every day and the planning.
- Bills of materials gain a continuous production option (an operation starts as soon as some quantities are ready), an extra costs field, a note shown directly on the shop floor and a comparison tool between versions. The flexible consumption setting disappears: all orders apply it by default.
- The manufacturing order Kanban view is redesigned by planned week, with component status, active work centre and remaining time. Work orders get new Kanban and Gantt views with drag-and-drop scheduling, including by employee.
- Orders are planned as soon as possible by default, an ongoing order can be split to produce the rest later, a validated or cancelled order can go back to draft and a single "Produce" button replaces "Produce" and "Produce All".
- Subcontracting shows component status and the order overview; the order cost moves from provisional to actual on closing; lots and serial numbers are always generated on closing.
- The shop floor tablet screen evolves, with a clearer separation between the work centre view and the operator view, a rich note field and work centre selection by barcode scan. The traceability report includes expiration dates.
- In PLM, a single report presents all bill of materials changes with cost comparison and the version update becomes optional.
- Warning: expiry date tracking directly on a work order disappears. If your production tracks expiry dates at the work centre, check this point before any migration.
Human resources
Human resources gain rigour, notably on working time tracking and hardware integrations, with two points of attention for French companies.
- An employee's departure becomes a real process tracked over time (notice period, then effective departure date), rather than a single click that archived everything immediately.
- The org chart and remote work (a default location for each day of the week, with exceptions) are built into the Employees app: the separate modules disappear. In a multi-company database, all users see the employees of all companies.
- A salary simulation can be run from the employee form, including net to gross and variable working schedules are entered from the calendar.
- Clocking in can require manager validation before being recorded (automatic, manual or only beyond a tolerance), take a photo when the employee badges and be limited to a single check-in per day. Biometric or RFID readers (eSSL, Mantra) connect directly to the Attendances app.
- A wizard proposes the list of legal public holidays for the year, country by country and another generates salary attachments for several employees at once.
- Expenses can be capped per job position, printed in a consolidated report and generate draft vendor bills: the "Employee Expenses" menu disappears.
- Payroll gets a step-by-step pay run workflow, salary indexation by percentage or amount, a choice of when payslips are sent and salary rules shared across structures. Work entries and the Planning-Payroll integration disappear: work entry types and time off types merge.
- Warning: the French payroll modules are not present in the Odoo 20 Enterprise sources we analysed. A point to check before any migration if your business depends on it.
Maintenance and repair
Maintenance and repair become more flexible, with better handling of teamwork and the vehicle fleet.
- Maintenance requests get dedicated Gantt views per equipment and per work centre and each maintenance team customises its stages.
- A piece of equipment can be attached to a fleet vehicle, which becomes trackable as full maintenance equipment (preventive maintenance plan, repair requests), with a planning view per equipment.
- For repair orders, a new screen warns if the parts actually used differ from what was planned, with quantity realignment in one click.
- A repair order can include a labour or service fee line in addition to parts and be invoiced directly without going through a quotation. The "Under Repair" status disappears.
- On a repair order or a transfer, a quality manager can bypass a pending quality check to close the file, while other users remain blocked.
Accounting and invoicing
Accounting is one of the most enriched areas of this release, with several welcome automations for accountants and accounting firms alike.
- Each invoice can display its amount tax-excluded or tax-included as you choose, independently of the company's general setting. Partially recoverable VAT, for example on a mixed-use vehicle, is handled line by line on the invoice.
- The chart of accounts gains a true hierarchy of parent and child accounts, replacing account groups, displayed as a readable path (for example "Expenses / Purchases / Goods").
- The accounting dashboard shows new key indicators and its main chart moves to a monthly view over twelve rolling months.
- Bank reconciliation can run automatically for a good share of transactions, be retriggered on demand and be split across several accounts; a summary report separates reconciled from unreconciled.
- Payment statuses become intuitive: "In Process" becomes "Paid" and "Paid" becomes "Reconciled". Double payments are detected and deducted automatically; vendor bills can be paid from Odoo through a PISP banking interface, with a single signature.
- Fixed assets rely on reusable depreciation models, with rates and decimal numbers accepted and a true fixed asset ledger.
- Reminders for unpaid invoices are gathered in a single settings screen, manual or automatic, with a one-click bulk send from the invoice list.
- Invoice lines can be split, vendor bill lines are predicted from history, attachments download in bulk and invoice-to-order matching rules accept a tolerance.
- A company not subject to VAT (micro-business, non-profit) can declare it in the settings, which hides irrelevant sales taxes. Checking an intra-community VAT number with the European VIES service can be automatic.
- For accounting firms managing several client files, a mechanism lets the lead accountant review any entry made by a colleague with limited rights. The cash journal can be secured by entry hashing.
- Stock valuation can be kept without the Inventory app and accrual entries are generated directly from the closing report.
- For France: annual report templates compliant with the general chart of accounts and automatic detection of the e-invoicing access point from the SIREN, with prefilled information.
- Electronic signature gains a paid option for a signature with reinforced legal value, equivalent to a handwritten signature in the European Union.
- Warning: two points need case-by-case checking before any migration: the Belgian accounting import (Winbooks) disappears with no replacement and the VAT closing accounts leave the standard (Community) edition, a successor exists, but only in the Enterprise edition.
Customer relations: CRM, marketing and events
Customer relations, marketing and event management gain fluidity and automation.
- Converting a prospect into a customer is done in one click, without systematically opening a wizard. A switcher moves from one team pipeline to another and automatic lead assignment rules accept three modes: always in rotation, in rotation with a limit, out of rotation.
- Lead generation relies on the Dun & Bradstreet company database and a customer's existing subscriptions are accessible from their lead to create upsells and renewals directly.
- A mailing can be saved as a reusable template and each contact shows its own open and click statistics. Sending an SMS can be scheduled, like an email.
- Marketing automation campaigns become a visual journey built step by step, with more triggers (date, birthday, webhook) and AI-assisted creation.
- An event ticket can cover several entries (family or group tickets) and be combined with food and beverages at distinct VAT rates.
Point of sale (POS)
The point of sale adapts to all retailers, not only restaurants, with more autonomy on hardware and fewer prerequisites.
- The till works with simplified inventory management, without installing the Inventory app: a single on-hand quantity per product and no mandatory transfers.
- Several currencies can be accepted at checkout in the same point of sale and a service fee can be added to orders through presets.
- The tip can be adjusted after checkout, with three suggested percentages adjustable per outlet, for all points of sale and no longer only restaurants.
- Several printers can be attached to the same point of sale with printer selection at print time; any label printer connects via USB; a preparation ticket can be printed per product.
- The same receipt can show the details of a specific shop and a simplified receipt (subtotals and taxes without the lines) can be printed.
- In restaurants, service is organised by named courses (starter, main, dessert) linked to product categories; the till suggests converting lines into a combo for large tables.
- On kiosks and in self-ordering, an order-specific QR code allows paying after the meal, customers leave a note visible in the kitchen, optional products are displayed and the receipt goes out by WhatsApp or SMS.
- Closing the session generates a global sale that simplifies accounting entries and payment entries are created at the set time without waiting for closing.
- Employee access levels are renamed and a highly restrictive "Supervised" level appears. A product can be snoozed temporarily and expired products trigger an alert when selected.
- For restaurants delivering through a third-party platform (Uber Eats, Deliveroo and others), the UrbanPiper connector is managed from the till and covers a dozen additional platforms.
Website and online shop
The website and online shop gain new tools to convert visitors better, rank better and build customer loyalty.
- The website AI assistant creates pages, forms and menu items, draws inspiration from a given URL, pulls from your products or events and adds interactive elements. Blocks generated or modified by AI are flagged in the editor.
- The layout block library grows: animated number, icon list, Instagram block, dynamic carousels for blog, events and appointments, banner above the header, blurred headers, vertical videos, breadcrumbs on static pages.
- SEO: structured data added by default for Google rich results, llms.txt file for language models, adaptive images for mobile, sitemap limited to indexable URLs, single field for Google Analytics or Google Tag Manager, static page URLs translated per language.
- An age verification popup blocks access to the site below a minimum age; a WhatsApp widget opens a conversation in one click; a new page displays members and partners; the site search can be limited to one module (products, events).
- A visitor can ask to be notified when an out-of-stock product is available again, an out-of-stock product page can unpublish itself automatically, a minimum order quantity can be set per product and the customer chooses a preferred delivery date.
- A customer review email can be sent automatically after a purchase, cross-sells (accessories, options, alternatives) are generated automatically, a progress bar shows loyalty benefits in the cart and a gift card goes directly to the recipient.
- A customer withdrawal form is provided natively (a European legal obligation, until now absent from the base software) and donations are handled in the cart, including recurring ones.
- Warning: the dedicated Mondial Relay pickup point modules disappear from this release. The service remains available through the Sendcloud connector, whose pickup points can be chosen from the order, the transfer or after an online order.
Field service, quality, signature and subscriptions
Field service changes its technical foundation, with concrete new capabilities for mobile teams as a result.
- On-site customer interventions now rely on Planning, the same tool as team scheduling, for a consistent overview across all the company's schedules. The same time slot can be shared between several people or resources and priority shifts are scheduled first.
- Technicians are geolocated in real time on a map, automatic planning takes customer addresses into account, the route is calculated in ordered or optimised mode and travel times appear in the Gantt via Mapbox.
- Travel fees are invoiced by distance or at a flat rate, the customer receives a confirmation email when the shift is published, rates their satisfaction after the intervention and can submit a request from a website form.
- The customer's intervention and equipment history is tracked, with their coverage by a maintenance contract via Subscriptions and access to their documentation from the shift. Products are added to the shift by barcode scan.
- A technician gets the intervention signed on a tablet as normal. Selling an additional service on the spot requires specific sales access, which is not granted by default.
- A company can use its own electronic signature certificate and signature requests can be triggered by automated actions with fixed or dynamic signers (customer, salesperson).
- Loyalty programmes can apply automatically to subscription renewals.
Documents, knowledge base, customer support and telephony
Document management, customer support and telephony gain automations that save time for the whole company.
- Sharing a document folder with a whole team is done in a single operation, thanks to sharing groups created directly in the Documents app. A document request can cover several files and the requester is notified of the upload.
- Automatic filing of an employee's documents becomes systematic, with a dedicated payslip folder and a "Recruitment" folder for CVs. Fleet documents are attached to the vehicle based on the licence plate and AI can rename files.
- A link to a knowledge base article shows a preview (image, summary) instead of a plain text link and an article's settings open with a right click.
- Customer support (Helpdesk) automatically reminds the customer before an automatic closure, filters tickets left unanswered and detects similar tickets with AI to suggest answers. Messenger and Instagram messages arrive in live chat.
- Telephony changes nature: instead of a simple connector to an existing PBX, Odoo can host a real call centre itself with a call flow designer (menus, extensions, schedules), multiple numbers per user, call transfer to another device, simultaneous calls, floating widget and logging in the chatter. It is a paid, entirely new service.
In summary
Odoo 20 is not a mere cosmetic update. Several foundations change in depth (access rights, field management, telephony, artificial intelligence, icons), while the daily work of each business area gains comfort without brutal upheaval.
A few elements disappear or change place: the Field Service app (taken over by Planning), the Remote Work and Org Chart modules (merged into Employees), payroll work entries, the Mondial Relay modules (replaced by Sendcloud), the Belgian Winbooks accounting import, the Belgian fiscal certification at the till and French payroll, absent from the sources we analysed. Each of these points is checked before the migration if your business depends on it.
How do you migrate to Odoo 20 from Odoo 19, 18 or 17?
1
Database audit
Inventory of custom and third-party modules, custom reports, access right rules and field service. From Odoo 19, a single jump; from Odoo 18, two; from Odoo 17, three jumps chained on the data.
2
Porting and checks
Each custom module is reviewed and adapted: access rights, print engine, icons, API. The points of attention on this page are checked one by one against your scope.
3
Tests on a copy
The migration is replayed on a copy of the database, tested by your key users on their real flows, corrected and replayed until signed off.
4
Go-live and training
The switch is prepared to protect operations, with training focused on the screens that change, field service and access rights first. Our full method is described on the Odoo migration page.
Frequently asked questions about Odoo 20
It depends on your current version and your hosting. Odoo 17 has been unsupported since the release of Odoo 20: on Odoo.sh, the platform requires a supported version and the migration is a must; on a dedicated server, the database still runs but without security fixes, the risk depends on how exposed the instance is and on how sensitive the data is. Odoo 18 and Odoo 19 remain supported: you can prepare Odoo 20 without urgency.
We say it frankly during the first conversation: migrating for the sake of it has no value, migrating for a feature your business needs does.
The publisher provides three years of standard support after release, until September 2029 according to its planned schedule. That is the longest support period available today, which makes it the natural target for a new project.
They must be ported. Several changes affect developers: access rights merged into a single concept, new print engine coexisting with the old one, Font Awesome icons replaced by Material Symbols, tracking values removed from messages, API changes. Each module is audited before the migration and its porting is costed in the project.
Document layout evolves: new styles, separate setting for line tables and a new print engine. The watermark or background image option behind reports disappears with no replacement. Your custom templates are checked before migrating so that no invoice or quotation shifts in print.
It is an internal user type limited to personal usage rights and a few field roles, such as the Barcode app alone. The classification depends on the rights granted, not on how often the user logs in. Our guide details every case, application by application.
The Field Service app is discontinued and its features move into Planning, with new capabilities: real-time technician map, travel fees, customer satisfaction, web request form. Team organisation and habits need reviewing, which is prepared before the switch.
Prepare your move to Odoo 20
Thirty minutes with a certified consultant: your current version, your custom developments and the realistic migration path.