Migrating from Odoo 19 to Odoo 20: which OCA modules are available
Of the 1,530 OCA modules confirmed in Odoo 19.0, 73 (5 %) are also confirmed in Odoo 20.0. The other 1,457 do not have a confirmed 20.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1 modules are in Odoo 20.0 without being in 19.0.
- 1,530
- in Odoo 19
- 73
- also in Odoo 20
- 1,457
- pending in Odoo 20
- 5 %
- already migrated
See also
Odoo 19 modules not yet confirmed in Odoo 20
- Survey company rulesOdoo 15, 17, 19survey_multi_company
Lets you assign each survey to a specific company and automatically hides surveys that belong to other companies, so each company only sees its own surveys.
- Update generated partner on next surveyOdoo 15, 17, 19survey_next_survey_update_partner
When a contact was created from an earlier survey, this module updates that contact's details with the answers given in a follow-up survey. It keeps names, emails, addresses, tags and notes in sync automatically.
- Survey Partner RepresentativeOdoo 15, 17, 19survey_partner_representative
Lets authorised users fill in a survey on behalf of someone else, recording who the real respondent is. A new option on each survey enables this, and a security group controls who may use it.
- Survey model selection question typeOdoo 17, 19survey_question_type_model_selection
Adds a new "Model selection" question type to surveys, letting you ask users to pick a record from any Odoo model (for example a customer, product or project) with a searchable dropdown.
- Link between resource bookings and surveysOdoo 12, 13, 15, 16, 17, 19survey_resource_booking
Link a survey to a resource booking type and invite the requester to answer it from the booking. The booking then stores the requester's survey answers for quick access.
- Survey Result MailOdoo 13, 15, 17, 19survey_result_mail
Lets you automatically email survey participants a copy of their own answers as soon as they complete the survey, either written inside the email or as a PDF attachment.
- Survey sale generationOdoo 13, 15, 17, 19survey_sale_generation
Turn survey answers into sales quotations automatically. Link products to survey questions and answers, and when a respondent submits the survey, Odoo creates a draft quotation with the matching products and quantities.
- Survey Skip StartOdoo 15, 17, 18, 19survey_skip_start
Adds a "Skip start screen" option on surveys so respondents go straight to the questions instead of seeing the welcome/start page.
- SustainabilityOdoo 16, 17, 18, 19sustainability
Track the CO2 equivalent footprint of your accounting entries directly in Odoo. Emission factors can be attached to accounts, products, suppliers and contacts, and the resulting carbon amounts appear on invoices, journal entries and analytic lines.
- Sustainability PurchaseOdoo 16, 17, 18, 19sustainability_purchase
Adds CO2e tracking to purchase orders and their lines, so buyers can see the carbon footprint of what they buy and lock or recompute those values.
- Sustainability Spreadsheet DashboardOdoo 17, 18, 19sustainability_spreadsheet_dashboard
Adds a ready-made CO2 spreadsheet dashboard to Odoo, grouped under a new "Sustainability" dashboard section. It installs automatically when both the Sustainability and Spreadsheet Dashboard apps are present.
- Audit Log TestsOdoo 16, 17, 18, 19test_auditlog
This module adds no screens or features for everyday users; it only contains automated tests for the Audit Log module that use accounting models. It is meant for developers, not for production databases.
- Queue Job TestsOdoo 12, 13, 14, 15, 16, 17, 18, 19test_queue_job
This is a technical test module for the Queue Job system: it adds sample models, channels and job configurations used to verify that background jobs, retries, related actions and job chains work correctly. It is not meant for everyday business use.
- TransportOdoo 17, 18, 19tms
Manage transport operations in Odoo: teams, drivers, crews, vehicles, routes, insurance policies and trips, with start/end trip tracking and expiry warnings for driver licenses and vehicle insurance.
- TMS - AccountingOdoo 17, 19tms_account
Links transport trips and routes to accounting: invoices and bills can be created automatically when a trip is completed, and analytic accounts track income and expenses per trip or route.
- TMS DocumentOdoo 19tms_document
Attach expiry-tracked documents (licence, insurance, inspection, other) to drivers and vehicles, see at a glance whether each is valid, expiring or expired, and block starting a trip when a critical document has expired.
- TMS - ExpenseOdoo 17, 19tms_expense
Link expenses (fuel, tolls, hotel) to transport trips and drivers. Trip forms show an Expenses tab and a counter button, and expenses get a Trip button and filter.
- TMS - ProductOdoo 17, 19tms_product
Link vehicles to products and stock: receive vehicles into inventory, register serial numbers as fleet vehicles, and mark products as vehicles or trip services with cargo capacity.
- TMS - PurchaseOdoo 17, 19tms_purchase
Links purchase orders to trips and vehicles in the transport management system, so you can buy vehicles from suppliers and see which trip or driver each purchase belongs to.
- TMS - SalesOdoo 17, 19tms_sale
Sell transport services on sales orders: each trip or passenger seat sold automatically creates a transport order, and passenger vehicles get seat tickets that can be assigned to customers.
- Tracking ManagerOdoo 14, 15, 16, 17, 18, 19tracking_manager
Lets administrators choose which fields Odoo tracks in the chatter for any model, including one2many and many2many fields, and automatically logs changes made on the lines of those relations.
- Tracking Manager DomainOdoo 17, 18, 19tracking_manager_domain
Lets administrators add a domain filter to tracked fields so changes are only logged when the record matches a condition, for example only tracking a field when a partner is a company.
- UOM AliasOdoo 16, 17, 18, 19uom_alias
Add alternative names (aliases) to Units of Measure so you can find a unit by any of its known codes, such as "UND" for "Unit". Useful when supplier documents use different unit abbreviations.
- Uom Qty UniqueOdoo 19uom_qty_unique
Adds a database rule that prevents having two active units of measure with the same conversion factor inside the same unit-of-measure category.
- Product UoM UNECEOdoo 12, 13, 14, 15, 16, 17, 18, 19uom_unece
Adds a UNECE Code field to units of measure so each unit can carry the official United Nations code used in international e-invoicing standards.
- Upgrade AnalysisOdoo 14, 15, 16, 17, 18, 19upgrade_analysis
This module compares the data model of two Odoo databases (an old and a new version) and produces analysis files that list what changed in modules, models, fields and XML records. It is a migration tool, not meant for production use.
- User's Log ViewerOdoo 12, 13, 14, 15, 16, 17, 18, 19user_log_view
Adds an "Authentication logs" smart button on the user form so you can see when each user logged in, grouped by day.
- Voip OCAOdoo 17, 18, 19voip_oca
Make and receive phone calls directly inside Odoo using a web-based softphone connected to your PBX. Call history, contacts and phone activities are available in the softphone, and calls can be logged automatically.
- Calendar slot durationOdoo 12, 13, 14, 15, 16, 17, 18, 19web_calendar_slot_duration
Lets you change how tall each time slot is in Odoo's calendar views and set a default length for new events, by adding a calendar slot duration setting to the view context.
- Chatter PositionOdoo 13, 15, 16, 17, 18, 19web_chatter_position
Lets each user choose where the chatter (messages and activity panel) appears on form views: responsive, always at the bottom, or always on the side. The choice is saved in the user's preferences.
- Web Company ColorOdoo 12, 13, 14, 15, 16, 17, 18, 19web_company_color
Lets administrators change the colors of the Odoo web interface (top navigation bar, buttons, links, submenus) per company, either by picking colors manually or by generating them automatically from the company logo.
- web_company_context_highlight
Highlights the company switcher in the top bar when more than one company is active, using configurable background and text colors, so users notice they are working in a multi-company context.
- Dark ModeOdoo 16, 18, 19web_dark_mode
Lets each user turn Odoo's backend dark or light from the user menu, or follow their device's system preference. The choice is saved per user and applied automatically on every page.
- Web Date Format NumericOdoo 19web_date_format_numeric
Adds a 'Use Numeric Date Format' option to each language in Odoo, so dates and datetimes can be shown as numbers (31/01/2026) instead of text (Jan 31, 2026) across the whole web interface.
- Web editor class selectorOdoo 16, 17, 18, 19web_editor_class_selector
Lets you register custom CSS classes in Odoo and apply them to text directly from the HTML editor toolbar, so styled content can be created without writing code.
- Custom shortcut iconOdoo 12, 17, 18, 19web_favicon
Lets you upload a custom shortcut icon (favicon) per company, which is then shown in the browser tab. Useful for branding and for telling several Odoo instances apart at a glance.
- Filter ButtonOdoo 15, 18, 19web_filter_header_button
Lets you turn selected filters and group-by options into clickable buttons shown in the control panel header, so common filters are one click away instead of hidden in the search dropdown.
- Web Form BannerOdoo 16, 18, 19web_form_banner
Lets administrators define rules that display configurable alert banners (info, warning or danger) on backend form views, with messages computed from the record's data and refreshed live as the user edits.
- Group Expand ButtonsOdoo 12, 13, 14, 15, 16, 17, 18, 19web_group_expand
Adds two buttons to grouped list views that let you expand or collapse all groups at once, one level at a time, instead of clicking each group individually.
- Web Actions MultiOdoo 12, 13, 14, 15, 16, 17, 18, 19web_ir_actions_act_multi
Lets developers and administrators create a single action that runs several other actions one after another, so a button or menu can open multiple screens or trigger several steps in sequence.
- Client side message boxesOdoo 12, 13, 14, 15, 16, 18, 19web_ir_actions_act_window_message
Lets developers and administrators show a pop-up message box from a server action button, with a custom title, text or HTML content, and optional action buttons that run methods or open other screens.
- Leaflet Javascript LibraryOdoo 16, 17, 18, 19web_leaflet_lib
Adds the Leaflet map JavaScript library to Odoo's backend, so other modules can display interactive maps. It also stores the map tile server address and copyright text as system settings.
- Web M2X Options ManagerOdoo 14, 15, 16, 17, 18, 19web_m2x_options_manager
Lets administrators control, per field, whether the "Create" and "Create & Edit" shortcuts appear on Many2one and Many2many fields, directly from the model's form in Odoo.
- Web No BubbleOdoo 12, 13, 14, 15, 16, 17, 18, 19web_no_bubble
This module removes the small pop-up bubbles that appear in the Odoo web interface, keeping the interface cleaner. Help boxes are not affected.
- Web NotifyOdoo 12, 13, 14, 15, 16, 17, 18, 19web_notify
This module lets Odoo send instant pop-up notifications to users while they work, with success, danger, warning, info or default styles. Developers can trigger them from any server action or automation.
- Web Notify UpgradeOdoo 14, 16, 18, 19web_notify_upgrade
When a module is installed or upgraded, every user who is currently online in Odoo receives a pop-up notification asking them to reload the page so they get the latest changes.
- Web Pwa CustomizeOdoo 17, 18, 19web_pwa_customize
Lets you customize how Odoo looks when installed as a Progressive Web App: short name, background color, theme color and app icon, configured from the Settings screen.
- Web Remember Tree Column WidthOdoo 14, 15, 16, 17, 18, 19web_remember_tree_column_width
Odoo remembers the width you set for each column in list views, so your preferred column sizes come back the next time you open the same list, even after filtering, grouping or reordering.
- web_search_deactivate_autosearch
Adds an "Auto search" checkbox next to the search bar so users can turn off automatic searching while building several filters, then run the search once by clicking the search icon.
- Use AND conditions on omnibar searchOdoo 12, 13, 14, 15, 16, 17, 18, 19web_search_with_and
Lets users combine several search terms on the same field with AND instead of OR by holding the Shift key while picking a search suggestion in the omnibar.
- Web timelineOdoo 12, 13, 14, 15, 16, 17, 18, 19web_timeline
Adds a new Timeline view to Odoo that shows records as an interactive time chart, grouped by a field, with zoom levels (day, week, month, year) and drag-and-drop editing.
- Clickable many2one fields for tree viewsOdoo 12, 13, 14, 15, 16, 17, 18, 19web_tree_many2one_clickable
Adds a small arrow button next to many2one fields in list (tree) views, so users can open the linked record's form directly from the list without leaving it.
- Google Map ViewOdoo 12, 14, 19web_view_google_map
Adds a Google Maps view to Odoo so users can see geolocated records (like contacts) as markers on a map, and adds Google Places autocomplete fields that fill in addresses and coordinates automatically.
- Web Widget Bokeh ChartOdoo 12, 13, 14, 15, 16, 17, 18, 19web_widget_bokeh_chart
Adds two new field widgets that let developers display interactive Bokeh charts inside standard Odoo views. The chart is rendered from data stored in a field, so users see a live chart instead of plain text.
- Web Widget Domain Editor DialogOdoo 12, 13, 14, 15, 16, 17, 18, 19web_widget_domain_editor_dialog
Lets users edit a Domain field by opening a record-selection dialog instead of typing the domain text by hand. The chosen records are converted into the domain automatically.
- Dynamic Dropdown WidgetOdoo 12, 13, 14, 15, 16, 17, 18, 19web_widget_dropdown_dynamic
Adds a new "Dynamic Dropdown" field widget for Odoo forms. It lets developers show a dropdown whose options are fetched from the server, optionally depending on another field on the same form.
- Web Widget One2many Tree Line DuplicateOdoo 13, 14, 15, 16, 18, 19web_widget_one2many_tree_line_duplicate
Adds a clone button to lines in editable list views (including embedded one2many lists) so users can duplicate a line with all its values, including its sub-lines.
- Web Widget PopoverOdoo 17, 18, 19web_widget_popover
Adds a new field widget that shows a small icon instead of the field text; hovering the icon reveals the field content in a popover. Useful to keep forms and lists compact while keeping long text accessible.
- web_widget_product_label_section_and_note_full_label
Makes the product label widget on invoice and journal item lines show the complete line description instead of hiding the product name, so users always see and edit the full text of the line.
- Web widget product label section and noteOdoo 18, 19web_widget_product_label_section_and_note_name_visibility
Adds an eye button to the product/description field on invoice lines so users can quickly show or hide the product name inside the line description.