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 SizeOdoo 16announcement_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.
- Restrict Deletion of AttachmentsOdoo 12, 14, 16, 18attachment_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, 18attachment_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, 19attachment_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, 19attribute_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, 16attribute_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, 16attribute_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, 16attribute_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, 18auth_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 EnvOdoo 16auth_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.
- OAuth Filter by DomainOdoo 16, 18auth_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 ROPCOdoo 16auth_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, 18auth_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, 18auth_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 Mail Message and AttachmentOdoo 12, 13, 14, 16, 18autovacuum_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 NumberOdoo 14, 16bank_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.
- Generate Barcodes for PackagingOdoo 14, 16barcodes_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.
- Archive SecurityOdoo 16base_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 ImportOdoo 13, 16base_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 PhoneOdoo 12, 14, 16, 18base_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, 16base_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, 18base_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.
- Add custom filters in standard filters and group by dropdownsOdoo 13, 14, 15, 16, 18base_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 module for DNS infrastructureOdoo 16, 18base_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 FunctionOdoo 13, 16base_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 EDIFACTOdoo 16base_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, 16base_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, 18base_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, 18base_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.
- External System HTTPOdoo 16base_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 CompanyOdoo 12, 16base_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, 18base_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, 16base_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, 19base_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, 16base_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, 19base_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, 18base_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 CurrencyOdoo 15, 16, 19base_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.
- Partner Merge User ConsolidationOdoo 16, 18base_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, 18base_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, 16base_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, 18base_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.
- Report qweb auto generationOdoo 14, 16base_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, 19base_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, 18base_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, 18base_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, 18base_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, 16base_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, 16base_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, 18base_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 RestrictionOdoo 13, 14, 16base_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.
- Default Fields with SequenceOdoo 14, 16base_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.
- Tier Review Activity BoardOdoo 16base_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 CorrectionOdoo 14, 16, 18, 19base_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 - ReportsOdoo 14, 15, 16base_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).