Odoo 20 was released in September 2026. This page walks through what is new and improved in Odoo 20, app by app, based on the official Odoo 20 release notes. Use the list on the left to jump to an app, and see the related Cybrosys pages at the end of the page if you plan to implement, customize or upgrade to Odoo 20.
General
- Activities are easier to schedule, manage and track, and a new activity can be assigned to a person or to a role. Meeting activities show more detail before and after the meeting.
- The chatter can be filtered to show only conversations or only tracked changes, and important messages can be pinned.
- Emails can be sent with CC recipients, and emails logged in the chatter show who was in CC.
- Offline mode lets users create, edit, archive, unarchive and delete records without a connection, and rerun earlier searches.
- Multi-record drag and drop reorders records, or moves them to another group or stage, in list and Kanban views.
- Gantt views select a whole row or column on click, support start and end buffers, and can enable drag-and-drop scheduling from a side panel through Studio. The calendar view has the same side panel for unscheduling records.
- Duration fields accept incremental edits with +=, -=, *= and /= (for example, += 2 adds two hours to a 10-hour duration).
- Both a dot and a comma are accepted as the decimal separator, whatever the language of the user profile.
- Search is smarter: relative date ranges show a tooltip with the exact start and end dates, and arrows move a range such as 'This Month' backward or forward.
- Favorite searches in list views remember the visible columns, and a shareable link keeps the current search, filters and grouping.
- ALT + click expands or collapses all groups at the same level in a list view.
- Totals converted between currencies display the exchange-rate date that was used.
- Prices on sales orders, purchase orders and invoices can be switched between tax-included and tax-excluded, with an override on individual taxes.
- Multiple partner identifiers (such as a DUNS number or country-specific IDs) can be added by type on a contact and are validated.
- A new 'My Subscription' page in the user menu brings together the subscription plan, IAP services and database management.
- Mobile gets a new secure login screen, a command palette opened by swiping down on the dashboard, a bottom-sheet date picker and better forms on touchscreens. Files shared from a phone can be turned into bills, expenses, tasks, leads, to-dos or time-off requests.
- Gmail and Outlook mail plugins can search a contact, task or helpdesk ticket, log the email in its chatter and pick the right recipients.
- Map view lists records that have no address so they can be located and edited.
- Attachments from different apps, models and records can be downloaded in bulk from the Technical menu.
- Text messages can be scheduled, and SMS templates support dynamic placeholders.
- A 'Translation Mode' module adds an in-context, interactive translation interface based on Weblate. Multi-language data can be imported and exported in Excel or CSV, and a translation wizard helps with text and HTML fields.
- Access rights are simplified: record rules are removed, and a domain is set directly on the access right to define which records it covers.
- Font Awesome icons are replaced with Material Symbols, dialogs and product, manufacturing and packaging labels are redesigned, and the rich-text editor's media toolbar is simpler.
- Records that cannot be deleted now offer to archive instead. Portal cards can be reordered, link previews appear when an Odoo website is shared on social platforms, and the email template preview lets you move between records.
Technical
- Tracking values are replaced by 'in-body tracking': the tracking message is generated on the fly. Burndown charts, stage duration and other features that used tracking values were adapted, and administrators who still need the values can install a dedicated module.
- Access control is defined through the new ir.access model (ir.access.csv), with an optional domain per access right, in place of ir.model.access and record rules.
- Many-to-one fields stay in sync with the backend and handle adding and removing values better, even with very large lists.
- Push notifications run on Odoo's own push tools instead of Firebase.
- Outgoing mail records state the source of their content, which makes auditing easier.
- Changes to a user's groups are logged in the user's chatter and in the server logs.
AI
- AI features need credits, which are bought through IAP. After choosing an AI provider, Odoo picks the best model for each task automatically.
- AI agents can create and update records, including from an uploaded instruction file such as a PDF, and can answer questions about a file while it is previewed.
- Agents can be triggered from automated and scheduled actions, update themselves to fit their use case, and take on avatars based on their role. Automation chats show how an agent handled each run so you can ask for changes.
- Agents show live, specific progress instead of a generic 'AI is thinking' message, and ask for confirmation before going past their tool-call limit.
- Users answer an agent's questions, permission requests and suggestions with buttons, and can dictate requests by voice.
- Agents can generate images and enriched buttons for websites and mailings, and filter by time period (weeks, quarters and so on) when building views.
- An agent working with a specific model offers to become that model's default agent, and sources can be reprocessed manually so the agent uses their latest version.
- Conversations are stored for up to 30 days after the last message, and 'Topics' are now called 'Skills'.
- Odoo can be connected to external tools through MCP (Model Context Protocol), and default prompts support context and dynamic values.
- In live chat, agents can show clickable preview cards for supported records instead of plain record names.
- The AI assistant can give financial insights based only on the data in your accounting records.
Contacts
- Contacts can be enriched individually or in bulk.
- A new hierarchical view shows how contacts relate to each other.
Sales
- Commission plans can pay on the amount actually paid, and managers' commissions can roll up the targets and achievements of their team, including split commissions.
- A sales dashboard sits above the quotation and sales order lists, with quick-filter buttons.
- Order lines can be entered as a description only, with no product. A 'Mandatory Product' setting enforces product selection if you prefer it.
- The price of a product variant and the margin on an order line can be edited directly; editing the margin recomputes the sales price.
- Quotation templates can be chosen when creating an order, support subsections and options such as 'Hide Price' and 'Hide Composition', and any order can be saved as a template.
- Sections can be updated in one go by quantity and unit, carry multi-line descriptions, and be saved as reusable section templates.
- Orders show product images, numbered lines (on the form, the PDF and the portal), and a redesigned customer portal page. Margin, delivered, tax-excluded and tax-included fields are stacked on the line.
- Pricelists gain periodic pricing (by period or day of the week, including surcharges), price rules per packaging type, extra attribute prices on top of fixed-price rules, and a pricelist report grouped by category and filterable by date.
- Prepayments can be a fixed amount, prepaid services can be charged for overages from the invoicing wizard, and an order can be marked fully invoiced to stop further actions.
- Loyalty points can expire, and discount codes can be limited to a single use per customer.
- Services and materials can be re-invoiced at a fixed price or at cost.
- Orders can be shipped and fulfilled, with shipping confirmation emails, without installing Inventory.
- The default sales order email now mentions the customer reference in its subject and body.
Purchase
- The comparison screen for purchase alternatives is simpler, making it easier to pick the best offer.
- A default Incoterm can be set on a vendor and is applied to all of that vendor's quotations and orders.
- The expected arrival date can be edited on the order while the vendor's original date is kept, so on-time delivery rates stay accurate. After a missed deadline, one click recalculates the expected dates.
- The vendor portal shows the end customer's address on a purchase order.
- The product catalog shows the cost in the product unit next to the cost in the purchase unit when the two differ.
- Purchase agreements and blanket orders accept sections and notes, and sections and subsections can show totals.
- A vendor's quality rate is calculated from the quality checks done on its products.
Explore: Odoo Purchase Management
Inventory
- The allocation flow works straight from the forecast report, and the stock report has a date picker with a precise timestamp to see inventory as it was in the past.
- A stock aging report is available from the Moves Analysis pivot view, and the traceability report shows upstream and downstream lots and serial numbers together, highlighting the final locations.
- Reordering rules suggest minimum and maximum levels from demand history, days of coverage and order frequency. The replenishment dashboard has a single 'Order' button.
- Push routes can depend on the exact destination location, for example one route for WH/Input/A and another for WH/Input/B.
- Landed costs can be added to individual products of a transfer, and product cost adjustments are listed in a new 'Valuation Adjustments' menu (debug mode), with journal entries created automatically under perpetual accounting.
- Intercompany flows improve: resupply one company from another by route, deliver an order from another company's warehouse or pickup points, carry valuation costs across, and pass order updates to the other company.
- Customer lead times can differ per company, HS codes and packagings can be set per product variant, and packaging barcodes are managed from the product form.
- A CMR document, pre-filled from the transfer, can be downloaded from deliveries. Location barcode labels are available in ZPL.
- Sendcloud pickup points can be chosen on a sales order or transfer (and corrected after an eCommerce order), the package reference is sent to carrier labels, and label formats include PDF, ZPL and PNG. A ShipStation connector is also available.
- Returns are simpler because the return wizard is gone. Receipts show the vendor purchase reference, and users can subscribe to notifications about a transfer.
- The operation type can preview the barcode instructions that operators will see.
Explore: Odoo Warehouse Management
Accounting
Banking and reconciliation
- Journal entries that affect bank accounts must now originate from bank transactions, and statement validation points out balance inconsistencies quickly.
- Matching rules set the payment tolerance and matching order for automatic bill and invoice reconciliation, and 'Run Auto Reconciliation' retriggers it on demand.
- A bank reconciliation summary report compares reconciled and unreconciled transactions at the end of a period. Data entry is faster through reconciliation-model shortcuts and statement batching.
- Manual reconciliation works on any account (the checkbox is now called 'Payment Reconciliation'), and write-offs can carry an analytic distribution.
- Payment statuses are clearer: 'In Process' becomes 'Paid' and 'Paid' becomes 'Reconciled', and the manual 'Mark as Reconciled' button moves to the action menu.
- Syncfy is supported for bank synchronization in Latin America.
Invoices, bills and payments
- Bills can be paid from Odoo, individually or in batches, with a single signature through the new payment initiation service provider (PISP) interface.
- Bill line prediction pre-fills product, account, tax, analytic distribution and vehicle from earlier bills and the line label, without overwriting values you typed.
- Matching vendor bills with purchase orders is better: auto-complete looks for matching lines before creating new ones, a summary shows what matched and warns about price or quantity differences, and a bill can be unmatched.
- Customer invoice reminders can be sent manually from the list or form, or automatically from the Accounting settings, with a simpler reminder workflow.
- The payment wizard detects pending payments to avoid double payments, shows conversion rates for foreign currencies, and sorts outstanding payments by date.
- Bills with a withholding tax show 'Amount Due', 'Withhold Due' and 'Net Due', and the payment wizard can pay only the withholding, only the payment, or the total.
- A zip of all generated attachments (PDF, XML and so on) can be downloaded from the invoice list, and when several invoices are sent at once the pop-up shows how each will be sent.
- Journal items on an invoice can be split to handle multiple quantities, asset creation or an amount spread over several accounts. A 'Reset to Draft' action works in batch from any list view.
Chart of accounts, assets and valuation
- Parent accounts replace account groups for structuring the chart of accounts, and account codes become optional.
- Depreciation models replace asset models, with the key information and behaviour kept on the asset accounts. Depreciation also accepts rates and decimal numbers.
- A 'Cumulative Translation Adjustment' (CTA) line on the balance sheet, trial balance and general ledger balances differences between historical and closing exchange rates.
- In perpetual accounting, accruals such as Bills To Receive, Billed Not Received, Invoices To Be Issued and Invoiced Not Delivered can be booked from the inventory valuation closing report, straight to the valuation account.
- If a product's cost changes after delivery (for example through a landed cost), the delivery value and invoice cost are updated retroactively.
- Stock quantities and accounting valuation can be managed without installing the Inventory app.
- Taxes are only allowed within their own fiscal positions, and exchange differences are consolidated into one expandable line per invoice.
Other improvements
- Approved expenses now create draft bills in the default expense journal, so the separate 'Employee Expenses' menu is gone and accountants review them with other vendor bills.
- Cash journals can be secured with entry hashing on reconciliation, and multi-ledger consolidation now includes journals rather than excluding them.
- Synchronized vendor bills are matched with synchronized purchase orders between companies.
- Annual reports use the company's document layout, the PAIN version for outgoing payments moves to the payment method, and the 'Accounting Firms mode' settings are more flexible.
- Onboarding is improved for e-invoicing and tax configuration, and the Saudi Central Bank is a new exchange-rate provider.
Explore: Odoo Accounting & Finance
CRM
- Lead auto-assignment rules for team members can be set to 'Always in rotation', 'In rotation with a limit' or 'Out of rotation'.
- Lead generation suggests more ways to find leads and now uses the Dun & Bradstreet company database instead of Clearbit, for better worldwide coverage and data quality.
- A pipeline switcher lets users move between the sales pipelines of different teams.
- A customer's existing subscriptions can be opened from the lead, where upsells and renewal quotations can be created and linked to the opportunity automatically.
- Address details are hidden on a lead to encourage creating a proper contact.
Explore: Odoo CRM
POS
- At the end of a session a single global sale is generated, which simplifies the accounting entries and removes miscellaneous entries. Payment entries can be generated at a time set in the settings, without closing the session.
- Multiple currencies can be accepted at checkout in the same point of sale.
- The POS can recommend turning order lines into a combo to simplify menu orders for big tables.
- Several printers can be linked to one point of sale and chosen at print time, any label printer can be connected over a USB proxy, and preparation tickets can be split to print one per product.
- Employee access levels are renamed and a new, highly restrictive 'Supervised' level is added.
- Products can be snoozed (made temporarily unavailable) on the POS or self-ordering menu, and rearranged by drag and drop in the POS interface.
- Self-ordering lets customers add notes visible on the kitchen display, shows optional products on mobile and kiosks, and can print an order-specific QR code to order and pay after the meal. Receipts can be sent by WhatsApp or SMS.
- Service fees can be added through presets and displayed on invoices, and simplified receipts show subtotals and taxes without the order lines.
- The POS works with simplified inventory management, a single on-hand quantity per product, without the Inventory app.
- Payments: Mercado Pago terminal QR payments, refunds and cancellations are supported (including in Chile), and static UPI QR codes work for payment. QRIS is the kiosk QR option in Indonesia.
- UrbanPiper settings can be managed inside the POS app, and more food-delivery platforms are supported through it.
- Users get a notification when they select an expired product, can search orders by invoice or receipt number, and see bookings in new Kanban and pivot views.
- Product labels can show the base unit price, and receipt printers can have their paper size set manually in developer mode.
Explore: Odoo Point of Sale
Project
- Team members can be assigned to each project role, and projects can be created directly from opportunities.
- Tasks can be assigned to portal users who follow the project, and customers can be given portal access to a project as collaborators without becoming followers.
- Changes in a task's chatter are visible in the user portal, and the task header design is improved on mobile.
- A task schedule can be printed from the Gantt view.
- The profitability report in the project dashboard is replaced by dedicated reports for budget and for actual and projected margins.
Explore: Odoo Project Management
Planning
Planning
- Shifts can have a priority, and 'Auto Plan' schedules the higher-priority shifts first. Several resources can be assigned to one shift, and a shift can be linked to a specific task.
- Shifts are scheduled by dragging them from the side panel into the calendar or Gantt view, and employees can receive their schedule by WhatsApp.
- Materials can be assigned to employees, and are added to a shift's resources automatically when the employee is assigned.
- With the Mapbox integration, the Gantt view displays travel times to help schedule shifts.
Field Service, now part of Planning
- The standalone Field Service app is discontinued and its features are integrated into Planning.
- A live map tracks technicians, and the map view shows shift locations with technician availability. Routing can follow the order of addresses or the shortest path.
- Auto-planning takes customer locations into account, products can be added to a shift by scanning their barcodes, and worksheets (now built on property fields) can be attached to shift templates.
- Customer equipment and intervention history are tracked, including whether the equipment is covered by a maintenance contract through Subscriptions, with documentation reachable from the shift.
- Customers can be invoiced distance-based travel fees or a fixed travel-time fee, can rate onsite interventions, and can be sent an automatic confirmation email when a shift is published.
- Service requests can be collected through a website form instead of letting customers book directly.
Explore: Odoo Service Management
Timesheets
- The timer in the top menu lets you log timesheets from anywhere in Odoo.
- ActivityWatch integration turns your device activity into timesheets while keeping the data private.
- Timesheet assistant rules can be shared with everyone, selected users or groups, or kept private. A rule can be a 'Side Activity' for quick interruptions, and each rule can have a time threshold before it shows up in suggestions.
- The Timesheets dashboard compares billing targets with billable time.
Explore: Odoo Project Management
Expenses
- Maximum expense amounts can be defined per job position, and managers can cap an expense at the authorized limit before final approval.
- Expense products can be linked to the right salary rule so that payroll computes each expense type correctly.
- Several expenses can be selected and printed in one consolidated report.
Manufacturing
Orders and planning
- Manufacturing orders are planned as soon as possible by default, in the order they appear in the list, and backorders of planned productions are planned automatically.
- The manufacturing order Kanban view is redesigned: cards are grouped by scheduled week and show component status, active work center, deadline and remaining time.
- Ongoing orders can be split to produce the remaining quantity later, and validated or canceled orders can be reset to draft.
- A single 'Produce' button replaces 'Produce' and 'Produce All' in Manufacturing, Shop Floor and Barcode. Lots and serial numbers are always generated automatically when an order is closed.
- The operation type decides whether procurement creates draft or confirmed manufacturing orders, and the flexible consumption setting is removed because every order now uses flexible consumption.
- If a destination package is set on the order, the finished product is put into it automatically. A 'To Replenish' filter was added to the MO overview.
Bills of materials and costs
- Bills of materials can be compared by the product quantities used, show components and sub-assemblies directly on the form, and accept extra costs registered for the manufacturing order.
- The 'Used In' button on a product lists the BoM component lines, which makes replacing a component simpler.
- The MO cost field shows the provisional cost while an order is in progress and the real cost when it is done, and takes component costs of subcontracted replenishments into account.
- Subcontracting orders get the component status and MO overview, and when no purchase order is linked the subcontractor cost is set at reception from the vendor pricelist.
Work orders and traceability
- Work orders have a new Kanban view and a Gantt view with drag-and-drop planning, color coding and a per-employee view. Work orders can be confirmed from the Gantt and processed in blocked work centers.
- With 'Continuous Production' on a BoM, produced quantities are recorded on work orders and later operations start as soon as some quantity is ready.
- The work center overview has quick links to work orders and maintenance planning, and reporting on work and manufacturing orders is improved.
- Lot and serial number traceability is more precise: the 'Transfers' button shows delivery move lines, and the traceability report includes expiration dates.
Explore: Odoo Manufacturing
Shop floor
- A work center can be selected by scanning its barcode.
- The manufacturing order note is an HTML field in both Manufacturing and Shop Floor, so instructions can be richer, and updating an instruction pre-fills the current one.
- A Shop Floor demo sheet can be downloaded to test the barcode capabilities quickly.
Maintenance
- Equipment and work center maintenance requests have dedicated Gantt views.
- Maintenance stages can be customized for each maintenance team.
- Several UX improvements, including a new 'Status' widget.
Quality
- Quality administrators can validate inventory transfers without performing the quality checks.
- A 'Failure Location' can be set from the quality check form when a check fails.
PLM
- Bills of materials can be compared to see changes more easily, and one report shows every bill of materials change together with cost comparisons.
- Version updates are optional when an ECO is applied to a product or a bill of materials, and new products can be introduced from the ECO with versions tracked on the product form.
Repair
- Invoices can be created directly from a repair order when no quotation is needed.
- Services can be added to a repair order.
- The 'Under Repair' status is removed.
Website and E-commerce
Website
- The AI Website Assistant can build pages for you: pick and edit blocks, add images from Unsplash or generate them, create webforms, change menu items, draw on your database records, add counters, tabs or animations, and even replicate a page from a URL you provide. Blocks created by AI are flagged in the editor.
- AI can also improve a page's SEO. Structured data is added to pages by default for Google rich results, sitemaps list only indexable URLs, and adaptive image sizing improves mobile performance.
- Website pages can show an age-verification pop-up, a banner above the header, breadcrumbs on static pages and a WhatsApp widget that starts a conversation in one click.
- Website forms are more configurable: forced selection in dropdowns, file-type restrictions, character limits, allowed email domains, and drag-and-drop of inner content.
- New building blocks include Animated Number, Icon List and a products grid. Dynamic carousels are available for Blogs, Events and Appointments, and mega menus can hold blocks and inner content.
- Design controls cover blurred headers, shadows, card animation on hover, clickable cards, carousel transition speed, vertical video and a color palette preview.
- The search can be limited to one module, results are grouped by category with fuzzy matching, and URLs accept accented characters.
- Multi-language sites can translate static page URLs per language and show different images or videos for each language, and the sidebar of the website editor folds secondary options to keep focus.
- A single identifier field configures Google Analytics or Google Tag Manager. An llms.txt file can be created in the settings to help LLMs read your site, and tracking links can be turned into QR codes.
- The configuration wizard has an improved industry list, AI-powered positioning choices and new themes, and portal users can update their profile picture. A new Partners page shows members and partners online.
eCommerce
- AI helps on the Shop page: generate product images or change a product's name, price or description. Cross-sell suggestions (accessories, optional and alternative products) can be generated automatically.
- Customers can pick a preferred delivery date, return products from the portal, email a gift card straight to its recipient, and make donations, including recurring ones through subscriptions.
- Automated review-request emails can be sent a set time after order confirmation, and a WhatsApp message can follow up on abandoned carts.
- Shop filters are smarter: a range slider for numerical attributes, 'On Sale' and 'In Stock' ribbon filters, relevance-based attribute values, and a product opened with the searched attribute value pre-selected.
- Products can have a minimum order quantity, sales can be blocked for a whole category while prices stay visible, and products are unpublished and republished automatically based on stock.
- Prices can be shown tax-included or tax-excluded per pricelist, so B2C and B2B customers share one website. The pricelist selector now appears on every page.
- A loyalty progress bar in the cart shows how close a customer is to a reward, and the extra checkout step can be limited to selected categories.
- eCommerce works with simplified inventory management, a single on-hand quantity per product with no transfers, without installing Inventory.
- A new order dashboard summarizes eCommerce orders by status, a default journal can be chosen for eCommerce orders, and guest-order contacts are archived until the customer creates an account.
- Variant images are managed centrally from the product form, and external identifiers on attributes help with data feeds and microdata. Google Analytics 4 event tracking is improved.
Explore: Odoo E-commerce Website
Online Payments
- A 'Pay on Invoice' provider lets customers confirm an order without paying immediately, and wire transfers are confirmed automatically from bank transactions.
- A payment provider can be restricted by pricelist and by minimum or maximum amount.
- Mollie supports more methods (Apple Pay, Google Pay, Klarna, Blik, in3, MB WAY, Multibanco and Swish) with tokenization for recurring payments. Stripe adds Alma, Apple Pay, Google Pay, Satispay, Swish and Canadian ACSS debit.
- PayPal now handles card payments, alternative methods, tokenization and OAuth for merchants. Authorize.net supports webhooks, ACH payments support tokenization, and Redsys supports recurring payments.
- New providers and methods: PayU for India, Toss Payments for South Korea, and Wero through Buckaroo and Worldline. SOFORT is no longer supported by any provider.
Blog
- Blog posts, landing pages and category pages get a redesign with more styles and options.
- A 'Recommended Post' can be shown at the end of a post, and followers are emailed when a scheduled post is published.
Recruitment
- The integration between applicants, the talent pool and job positions is improved, with better talent-to-job matching.
- A matching score filter surfaces the most relevant applicants, and a job position lists existing talents that fit it.
- On a job's online application form, a field can be shown only for certain job titles.
Explore: Odoo Human Resource
Employee Referral
- Track how many people were contacted to promote a job.
Employees
- Remote Work is merged into the Employees app.
- A salary simulation can be run from the employee's profile with all necessary information pre-filled.
- In a multi-company database, every user can see the employees of all companies in the directory.
- HR users can sign single-signer documents with employee details filled in automatically, and send them to the employee.
- Working schedules can be built from the calendar mode to encode periods of variable work time precisely.
- Contract details such as the start date, wage and working schedule are stored on the employee record through employee versions, instead of a separate contract app.
Explore: Odoo Human Resource
Attendances
- Overtime has a new analysis report that shows which rules applied, rulesets can include public holiday rates, and a smart button links new employees to a ruleset.
- Flexible employees with no set working hours can have an automatic check-out time, and a single check-in mode records only the first check-in within scheduled hours.
- A photo can be taken at check-in when the device has a camera.
- The Gantt view uses color coding to highlight underworked, expected and overtime hours, and records can be filtered or grouped by working schedule and day.
- eSSL and Mantra biometric devices integrate directly with Attendances.
- Users without access rights to Attendances can no longer use the app.
Explore: Odoo Human Resource
Time Off
- Time taken can be computed on working days or on calendar days, and a minimum amount of time can be set for a request.
- The 'Public Holiday' time type exists by default for all localizations, and the holidays of the company's country can be suggested and loaded for the year.
- The overview lists all employees, including those without active leave requests.
- A new 'No' user right keeps users out of the Time Off app.
Explore: Odoo Human Resource
Appraisals
- Appraisals can be confirmed, emailed, marked as done or reset in bulk.
- 360 feedback requests can go to any contact, not just employees, and new appraisals default to the template matching the employee's department.
- A parent goal shows progress based on its sub-goals, and managers can edit the next appraisal date on the employee profile.
Explore: Odoo Human Resource
Payroll
- The Payroll dashboard is revamped around setup warnings and day-to-day control, and pay runs follow a clearer step-by-step workflow with a chatter and a one-click test print of payslips.
- Salary tools include net-to-gross simulation, salary indexation by percentage and/or fixed amount, and salary rules that can sit in several categories and structures.
- You choose when payslips are sent to employees (on confirmation, on payment or manually), and contract dates can no longer be changed if payslips are affected. Revert the payslips first.
- Employee types can be limited to a company or branch, working schedules can define hours per day without start and end times, and time entry exports follow a single standard format.
- Work entries and the Planning-Payroll integration are removed, and work entry types and time off types are merged.
Explore: Odoo Human Resource
Fleet
- Changing the car of an employee in Payroll updates the vehicle's assigned driver automatically.
Frontdesk
- Check-ins can be limited to visitors who are members, optionally restricted to specific membership tiers.
Email marketing
- Mailings get click and link tracking (which can be disabled in the HTML editor), conditional content blocks that depend on the recipient, and dynamic mailing lists calculated when the mailing is processed.
- Mailings can be saved as templates and reused from a template library, blocks can be saved as favorites, and product and event snippets fill themselves from the records you select.
- Editing is always full-screen, new fonts (with a fallback for clients that do not support them), templates and blocks are added, and social media accounts can be connected and styled.
- Contacts are easier to add to mailing lists and can manage their own subscriptions. Mailings can also go to employees and suppliers.
- UTM handling follows industry standards: instead of creating sources on the fly, details map to a new 'Reference' field.
Marketing Automation
- A drag-and-drop workflow builder lets you design customer journeys visually, and the AI assistant can help set up campaigns.
- Campaigns can start from events (such as a page visit or a list subscription), dates, anniversaries, webhooks or on demand, and new actions such as 'Collect new activity' and 'Wait for a value' are available.
- Webhooks add participants to a campaign in real time from external systems.
Social Marketing
- AI can write social media posts, mentions can be inserted to notify or tag accounts, and you can post to a personal LinkedIn account.
- Facebook and Instagram stories can be posted from Odoo, each platform can have its own scheduled time, and a first comment can be scheduled right after the post.
- When posting several images, you choose their display order.
Marketing Card
- Cards can be sent straight from an event with a 'Send cards' button, with recipients defined by conditions.
- A default event URL is suggested for event campaigns, and the card language can be selected.
Studio
- Form views can have their buttons, smart buttons and tabs reordered by drag and drop, and Kanban stages (the status bar) can be customized from the form.
- Automation rules can trigger activity plans.
- List view columns can have minimum and maximum widths, and Date and Datetime fields have a 'Warning' property that flags past or future dates.
- Many2many fields can be added to PDF reports in the report editor, report code can be translated in a single block, and the technical names of Studio fields are more readable.
Explore: Odoo Customization
Helpdesk
- Tickets can be filtered to find those where the customer sent the latest message and are still unanswered.
- A reminder email can be sent before a ticket is closed automatically.
- AI detects similar tickets to give teams suggested answers.
Subscription
- Loyalty rules and rewards can be created for subscriptions.
- Subscription, sales and rental prices are unified in a single 'Prices' tab using the standard pricelist engine.
Rental
- Rental products can be added to a sales order, which adds a 'Rental period' field. Remove the rental dates to turn it into a normal sales order.
- Changing the pricelist or the rental period on an order updates the prices on the existing lines, and a pricelist discount shows the original price crossed out in the Shop.
- A rental dashboard summarizes activity with filtering by status, and 'unavailability days' are replaced by working schedules.
E-learning
- Customers can view and open their courses from the customer portal.
Events
- Event combos bundle registration with food and beverages in one ticket, with a distinct VAT rate for each part.
Appointments
- Booking pages are redesigned to match the Website app's styling (even without Website installed), with a simpler flow where the user or resource is picked on the same page as the date and time.
- Customers can reschedule in a few clicks, choose accessory products at checkout, and give feedback after the appointment. The default party size is two guests.
- Bookings can be created from any calendar view with users or resources assigned, and the Gantt and calendar views show customer name, appointment type, seats and the expected attendance per time slot.
- A booking limit per time slot controls how many appointments can start together, the maximum capacity can be overridden manually, and automatic resource assignment accounts for the number of participants.
- Availabilities respect private events marked as busy, closed days are easier to manage, and the Kanban view has shortcuts to bookings to confirm, upcoming appointments and today's schedule.
- The appointment page can display types as a list, cards or pictures, and website editor blocks can be added anywhere on it.
LiveChat
- Messenger and Instagram direct messages can be connected to live chat teams so agents reply from Odoo.
- AI agents can show rich, clickable record cards in a live chat conversation.
Whatsapp
- Templates support named parameters, default recipients and interactive messages.
- A WhatsApp number can be blocked directly from Odoo.
- Authenticating a WhatsApp business account is simpler: ask in the live chat and an operator answers within minutes.
Phone
- A call flow designer builds incoming-call flows with extensions, call menus, time- and location-specific steps and other PBX features.
- The softphone can float as a draggable widget, fills the keypad with the current record's number and logs the call on that record when the numbers match. Calls can also be logged in the chatter during or after the call.
- Users can run several calls at once, transfer an ongoing call to another device, choose the outgoing number from several assigned ones, and change audio sources mid-call.
- Incoming calls trigger push notifications, and Linphone can be provisioned with a QR code.
Documents
- Groups of users can be defined to manage access rights on files and folders, and several files can be requested in a single document request. The requester is notified when they are uploaded.
- AI can rename files uploaded in Documents, fleet documents are sorted and linked to the vehicle by license plate, and markdown files get previews and thumbnails.
- The Employees folder structure is cleaner (payslips go to a dedicated folder, with a shortcut in each employee's My Drive), and the Employees integration is on by default.
- Bank statement attachments are available in both Accounting and Documents, and branches are handled in the bridge between the two.
Sign
- Signature requests can be sent by automated actions and from activities and activity plans, with fixed signers and dynamic signers based on a role such as customer or salesperson.
- itsme® identification and Qualified Electronic Signature (equivalent to a handwritten signature under eIDAS) are available in over 30 European countries, and more alphabets (Cyrillic, Devanagari, Arabic) cover over 40 new countries.
- Odoo Sign fields can update the matching field on an Odoo record with what the signer entered, and new fields can be created while preparing a document.
- Templates can include predefined CC recipients, reassign ownership, be created from any sent document, export signers' answers in bulk to a spreadsheet, and update their underlying document while keeping the fields.
- Signers can be reordered in the editor, progress for requests with more than three signers is shown in a dropdown, and signers can print, delegate or refuse from the options menu. Tag management is improved.
- Sign is fully responsive with touchscreen support for creating and editing documents.
Barcode
- Backorders can be created or skipped from the Barcode app, products can be created by scanning a barcode through Barcode Lookup, and batches are suggested for several expected receipts from the same vendor.
- Packages and their contents communicated by the vendor can be pre-encoded in Inventory, then received by scanning the package.
- Lots and serial numbers can be generated in bulk, or typed manually when scanning is not possible. Inventory counts allow manual entry of the total counted quantity.
- Barcode buttons stay in a fixed position whatever the quantity entered, light users can be limited to the Barcode module, and a login button was added to the mobile view.
- Manufacturing in Barcode is cleaner: irrelevant settings are removed and mandatory scans no longer block editing of by-products.
Spreadsheet
- New chart types and tools: bubble charts, calendar charts, annotations, pie slice colors, axis minimums and maximums, and chart suggestions from selected columns through Data Analysis.
- Pivot tables accept a domain, styles, expand and collapse all, and a switch between nested and tabular views. Dynamic lists can have calculated columns and can be inserted from within a spreadsheet.
- New formula features include REGEXTEST and REGEXREPLACE, lookup functions (CHOOSE, DROP, FORMULATEXT, TAKE), statistical functions and the spill-range operator (#). Named ranges label cells for use in formulas.
- Conditional formatting can use dates and top or bottom ranking, and custom formats cover dates, numbers and scientific notation.
- Sheets can be locked, given a background color, zoomed and printed from a print preview. Automatic recalculation can be turned off and triggered with F9.
- Global filters can have default operators and fiscal-year dates, templates can be limited to user groups, and unused data sources can be cleaned up.
Dashboard
- Dashboards can be private and shared with specific users, and global filters can be saved as favorites, with a default filter applied.
- The Fiscal Year date filter and a region selector for geo charts are added, and carousels can use a data layer so they remain responsive on mobile.
- Frozen share links are managed from a dedicated menu.
Calendar
- Several calendars, including shared team calendars, can be managed in Odoo, and several Google calendars can be synchronized in both directions. Google and Outlook synchronization is faster and more reliable.
- The sidebar lists booking pages to create events, copy invite links and edit time slots, and 'Meet with' shows other people's calendars and adds them as participants.
- An event can be linked to any Odoo record, pending activities can be viewed and managed in the Calendar, and a time in the title (such as '2 PM Meeting') sets the event time.
- The mobile calendar is redesigned for touch use.
Discuss
- Channels can be organized into categories and added to favorites, and polls can be created in a conversation.
- Calls can be recorded with a summary of what was said, and users show an 'On a call' status when using the Phone app.
- Notifications can be marked as unread.
Knowledge
- Right-clicking an article in the sidebar tree opens its settings.
ESG
- AI can assign the most suitable emission factor to each emission automatically.
Localizations
Highlights
- Odoo 20 updates the localization for more than 50 countries, including India, the UAE, Saudi Arabia, Qatar, Oman, Bahrain, Kuwait, Singapore, Malaysia, Indonesia, the UK, the USA, Canada, Australia, Brazil, Mexico, France, Belgium, Italy, Egypt and Turkiye.
India
- Credit notes can be issued for price adjustments, a bill of entry flow records import customs duty and includes it in inventory costing through landed costs, and TDS can be applied as 'TDS & Payment', 'TDS Only' or 'Payment Only'.
- GST compliance extends to Composition Taxpayers (CMP-08 and GSTR-4), financial statements follow Schedule III of the Companies Act, and GST-compliant self-invoices are available for the Reverse Charge Mechanism.
United Arab Emirates
- The chart of accounts is redesigned to comply with IFRS and UAE Commercial Companies Law, with a scalable 6-digit structure, statutory reserves and technical accounts. Payroll contributions are aligned with GPSSA and ADPF regulations, and DEWS contributions are handled for DIFC.
Saudi Arabia
- ZATCA synchronization is built into the 'Send' wizard with pre-check validations, identification schemes distinguish companies from individuals, and the 13 regions are reflected in the states.
Oman, Kuwait, Qatar and Bahrain
- Oman gets a base payroll package with end-of-service calculations and Wage Protection System (WPS) files, Kuwait gets a base payroll package, and Qatar, Kuwait, Oman and Bahrain states follow the ISO 3166-2 standard.
Other countries
- Malaysia: MyInvois works across branches with consolidated invoices and self-service e-invoicing in the POS. Singapore: IRAS GST reports and an improved chart for SFRS. Indonesia: PPN Dipungut tax support and a payroll overtime rule under PP No. 35/2021.
- United States: Avalara 'Included' integration for small and medium businesses, a redesigned sales tax report with multi-jurisdiction breakdowns, and new payroll local taxes. United Kingdom: HMRC authentication is saved per company so teams can manage several clients' VAT returns.
- Mexico, Brazil, Egypt, Türkiye, France, Italy, Belgium, Canada and Australia also receive e-invoicing, tax-report, payroll or banking updates.
Industries
- Odoo 20 adds industry-specific solutions for areas such as accounting firms, construction (builders and developers), hospitality and hotels, real estate and property management, interior design, nonprofit organizations, catering, vineyards, pet grooming, physical and mental therapy, machine, tool and agri-equipment rental, electronic refurbishment and talent acquisition.
- New industry modules include a Deposit module and an Excise module.