OdooWiki OCA HUB

Migrating from Odoo 16 to Odoo 17: which OCA modules are available

Of the 3,166 OCA modules confirmed in Odoo 16.0, 1,542 (49 %) are also confirmed in Odoo 17.0. The other 1,624 do not have a confirmed 17.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 452 modules are in Odoo 17.0 without being in 16.0.

3,166
in Odoo 16
1,542
also in Odoo 17
1,624
pending in Odoo 17
49 %
already migrated

See also

Odoo 16 modules not yet confirmed in Odoo 17

  • analytic_mixin_analytic_account

    Adds two read-only fields to records that use analytic distribution: a list of the analytic accounts involved and their names as a comma-separated text. Useful for exports and as a hook for custom logic.

  • announcement_dialog_size

    Lets announcements open in a full-screen dialog by default when a system setting is enabled, instead of the normal small pop-up.

  • attachment_delete_restrict

    Control who is allowed to delete attachments in Odoo. Set a global rule, or a specific rule per document type, so only the creator, admins, or chosen users and groups can remove files.

  • Attachment SynchronizeOdoo 12, 14, 16, 18
    attachment_synchronize

    Create scheduled tasks that automatically import files from an external storage backend into Odoo attachments, or export Odoo attachments back to that backend, with options to rename, move, delete or skip duplicates.

  • Attachment Unindex ContentOdoo 12, 13, 14, 15, 16, 18, 19
    attachment_unindex_content

    Stops Odoo from storing the text content of attachments in the database, saving space and avoiding duplicate data. Existing stored content is cleared when the module is installed.

  • Attribute SetOdoo 12, 13, 14, 15, 16, 18, 19
    attribute_set

    Lets administrators define extra fields (attributes) on any Odoo model and group them into reusable attribute sets, without writing code. Attributes can be simple values, selections, files, images or links to other records.

  • Attribute Set CompletenessOdoo 12, 13, 14, 16
    attribute_set_completeness

    Define completion requirements on attribute sets and track how complete a record's attributes are, with a percentage and a complete/not complete status.

  • Attribute Set Mass EditOdoo 12, 13, 14, 16
    attribute_set_mass_edit

    Lets you flag an attribute as mass-editable, so Odoo automatically builds a mass editing action for its attribute group. Users can then update that attribute on many records at once from the mass editing wizard.

  • Attribute Set SearchableOdoo 12, 13, 14, 16
    attribute_set_searchable

    Adds a "Searchable" checkbox on attributes so that, when ticked, the attribute automatically becomes available as a custom filter in the search view of the related model.

  • Auth JWT TestOdoo 13, 14, 16, 18
    auth_jwt_demo

    Demo/test module that adds sample web endpoints to try out JWT authentication in Odoo, returning the logged-in user's name and email as JSON.

  • auth_jwt_server_env

    Lets administrators configure JWT authentication settings (secret key, audience, issuer, public key URI) through server environment files instead of entering them in Odoo.

  • auth_oauth_filter_by_domain

    Lets you restrict each OAuth login provider to specific web domains, so only the providers that match the domain the user is visiting are shown on the login page.

  • auth_oauth_ropc

    Lets users sign in to Odoo with their username and password validated against an external OAuth provider, instead of only Odoo's own password. Administrators configure the provider under Settings > Users.

  • Auth Oidc EnvironmentOdoo 14, 16, 18
    auth_oidc_environment

    Lets administrators keep the OIDC/OpenID Connect client ID and client secret in server environment files instead of typing them in Odoo, so authentication settings can be managed outside the database.

  • Partner AuthOdoo 16, 18
    auth_partner

    This module lets you manage external partner accounts that can log in through authentication directories, with email validation, password reset, invitations and impersonation. It adds a Partner Authentication menu where you configure directories and see the…

  • autovacuum_message_attachment

    Create rules that automatically delete old mail messages and attachments after a chosen number of days, to keep the database small. Rules are managed from the Email menu and run by two daily scheduled jobs.

  • bank_statement_check_number

    Adds a check number field to bank statement lines, visible in the list and form views, and automatically copies it onto the related journal entry lines.

  • barcodes_generator_package

    Lets users assign a barcode rule to a product packaging and generate its barcode automatically from a sequence or from a manually entered base.

  • base_archive_security

    Adds a new user group called "Can archive records" that controls who is allowed to archive or unarchive records in Odoo. Users without this group no longer see the archive/unarchive action and are blocked if they try it.

  • base_binary_url_import

    Add a wizard that downloads files from URLs and stores them into any binary field of existing records, for one record or many at once. Useful for mass-loading PDFs, texts or other documents that the standard CSV import cannot handle.

  • base_business_document_import_phone

    When importing business documents (such as supplier invoices or orders), Odoo can now find the right partner by matching the phone or mobile number written on the document, instead of relying only on names or VAT numbers.

  • Track record changesetsOdoo 12, 13, 14, 15, 16
    base_changeset

    Lets administrators decide which fields of which records must be approved before the change is really saved, instead of being written directly. Pending changes appear in a 'Changes' button on the record form and can be applied or rejected by authorised users.

  • base_company_legal_info

    Adds legal name and legal type fields to companies and prints them automatically in the footer of every PDF report, so official documents show the correct legal identity of your company.

  • Conditional ImagesOdoo 12, 14, 15, 16, 18
    base_conditional_image

    Lets administrators define reusable images that are automatically shown on records based on conditions, avoiding duplicate image storage. A new "Conditional Images" menu appears under Settings > Technical.

  • base_custom_filter

    Lets administrators define reusable custom filters, group-by options and search fields that appear inside the standard Filters and Group By dropdowns of any Odoo model, optionally restricted to specific user groups.

  • base_dns_infrastructure

    Store and organise DNS domain zones and their DNS records directly in Odoo, with owners, renewal dates, record types and automatic validation of record values.

  • base_domain_inverse_function

    Adds helper functions that split a normalized Odoo search domain into its individual parts, so developers can modify one part and rebuild the domain.

  • base_edifact

    Provides technical building blocks to read and write UN/EDIFACT D96A electronic business documents (orders, invoices, etc.) inside Odoo, converting EDI segments into Odoo-friendly values such as partners, addresses, products, quantities and prices.

  • Base Export AsyncOdoo 12, 14, 15, 16
    base_export_async

    Adds an "Asynchronous export" option to Odoo's export dialog: instead of downloading the file immediately, the export runs in the background and the file is emailed to you when ready.

  • External Database Source - MSSQLOdoo 12, 13, 15, 16, 18
    base_external_dbsource_mssql

    Adds Microsoft SQL Server as a connectable external database type in Odoo, so users can configure MSSQL connections and run SQL queries against them from the External Database Sources screen.

  • Base External SystemOdoo 12, 13, 15, 16, 18
    base_external_system

    Lets administrators register connections to external systems (host, port, credentials, keys) and test them from Odoo. It is a technical foundation other modules use to talk to remote servers.

  • base_external_system_http

    Lets Odoo talk to external web services over HTTP(S): you register an external system with its host, port and path, define named endpoints, and the module sends GET, POST, PUT and DELETE requests and tests the connection.

  • base_external_system_odoorpc

    Adds a new external system type that lets Odoo connect to another Odoo instance over RPC. Users configure the remote server's database, host, port, credentials and SSL, then test the connection from the form.

  • base_geolocalize_company

    Adds geolocation fields (latitude, longitude and geolocation date) to companies, so each company can store its own coordinates. A button on the company form computes or refreshes these coordinates from the company address.

  • Group backendOdoo 16, 18
    base_group_backend

    Adds two new user types, "Backend user" and "Backend UI user", that can log into the Odoo backend with a much smaller, controlled set of menus and data access than the standard Internal User.

  • base_import_default_enable_tracking

    When importing data into Odoo, the "Track history during import" option is switched on by default, so imported records keep a history of changes without you having to tick the box yourself.

  • Import from OdooOdoo 13, 14, 16
    base_import_odoo

    Connect Odoo to another Odoo database and import records from it, with rules for handling duplicates, field mappings and automatic scheduled imports.

  • Kanban - Stage SupportOdoo 12, 14, 15, 16, 19
    base_kanban_stage

    Adds a reusable Kanban stage system to Odoo, letting you define stages per model and manage cards with priority, status, colour and assigned user. It is a technical foundation that other modules inherit to get Kanban boards with stages.

  • Maintenance SettingsOdoo 12, 13, 14, 15, 16
    base_maintenance_config

    Adds a Maintenance section to Odoo's General Settings and a Settings menu entry under Maintenance Configuration, giving equipment managers a dedicated place to configure the Maintenance app.

  • Maintenance GroupsOdoo 12, 13, 14, 15, 16, 18, 19
    base_maintenance_group

    Adds a dedicated Maintenance access category with two levels, User and Full Access, so maintenance menus and teams are no longer open to every internal user but only to people given a maintenance role.

  • Multiple images baseOdoo 12, 14, 15, 16, 18
    base_multi_image

    Adds a reusable image gallery to any Odoo record, letting users store several images per record from a URL, a file, the database, the filestore or an attachment, and pick one as the main image.

  • base_multicompany_reporting_currency

    Lets you set one shared reporting currency for all companies in Odoo, directly from General Settings. Any model built on the provided mixin automatically stores and updates that reporting currency on its records.

  • base_partner_merge_user_consolidation

    When you merge duplicate contacts, this module automatically consolidates their linked user accounts: it keeps one login, archives the others, and combines their access rights.

  • Portal typesOdoo 16, 18
    base_portal_type

    Lets administrators create different types of portal users by defining portal-type groups, so portal access can be tailored (for example vendors versus customers) using Odoo's normal group mechanism.

  • Base Product Mass AdditionOdoo 12, 14, 15, 16
    base_product_mass_addition

    This technical module provides a reusable product grid that other modules can use to add many products and quantities to a document in one go. It is not usable on its own; it only works when another module inherits it.

  • Remote BaseOdoo 12, 13, 14, 15, 16, 18
    base_remote

    Stores every remote (external IP address) that connects to Odoo, with its hostname and whether it can be resolved on the network. It also blocks logins coming from remotes that cannot be identified.

  • base_report_auto_create_qweb

    Create QWeb report templates automatically when you add a report in Odoo, and duplicate an existing report with a custom suffix, including its linked QWeb views.

  • Report to label printerOdoo 14, 16, 18, 19
    base_report_to_label_printer

    Lets you mark a report as a label report and send it to a dedicated label printer set on each user, instead of the normal printer.

  • Report to printer - Mail extensionOdoo 12, 13, 14, 15, 16, 18
    base_report_to_printer_mail

    When a report is generated from an email template, this module prevents it from being sent to a printer. It only affects automatic report generation triggered by mail templates.

  • Base RestOdoo 12, 13, 14, 15, 16, 18
    base_rest

    This module provides the technical foundation to build and publish REST APIs for Odoo. It adds a REST API menu with a Swagger documentation page where developers can explore the available endpoints.

  • Base Rest Auth Api KeyOdoo 14, 15, 16, 18
    base_rest_auth_api_key

    Adds API key security information to the automatically generated OpenAPI documentation of REST services, so developers see that an API-KEY header is required.

  • Base Rest DatamodelOdoo 12, 13, 14, 15, 16
    base_rest_datamodel

    Lets developers use DataModel objects as input and output for REST API methods, with automatic validation and OpenAPI documentation.

  • Base Rest DemoOdoo 12, 13, 14, 15, 16
    base_rest_demo

    This is a demonstration module that exposes example REST API endpoints for partners and a ping service, showing how to build self-documented web services with the Base REST framework.

  • Base Rest DatamodelOdoo 13, 14, 15, 16, 18
    base_rest_pydantic

    This module lets developers use Pydantic data models as input and output for REST API methods in Odoo, adding automatic validation and OpenAPI documentation. It does not add any screen or menu for end users.

  • base_rule_visibility_restriction

    Adds an "Excluded Groups" field to record rules so administrators can make a rule stop applying for specific user groups, giving finer control over who a security rule affects.

  • base_sequence_default

    Lets you give any text field on any record a default value taken from an Odoo sequence, so new records automatically get an incremental reference. You set it up by creating a sequence whose code follows a special naming pattern.

  • base_tier_validation_board

    Adds a read-only Tier Reviews board so users can see all pending and completed approval reviews in one place, grouped by status, and jump straight to the related document.

  • base_tier_validation_correction

    Lets authorised users replace the reviewer of pending tier validation reviews on documents, either immediately or on a scheduled date, and revert the change later.

  • base_tier_validation_definition_server_action

    Adds a new "Server Action" option to tier validation definitions, so a tier can be triggered by running a custom server action instead of only by a domain condition.

  • base_tier_validation_report

    Adds a Reviews section to the Odoo Dashboard where users can see the tier validation reviews they must handle and, for authorised users, all reviews with their status (pending, approved or rejected).

Data imported from GitHub: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.