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

  • base_tier_validation_waiting

    Adds a new "Waiting" status to tier validation reviews, so approvals can start in a waiting state and automatically move to pending when their turn comes. Reviewers can also be notified by email when a review reaches pending.

  • base_transaction_id

    Adds a Transaction ID field to sales orders and invoices so you can record the payment reference from a bank or payment provider. The value entered on a sales order is automatically copied to the invoice created from it.

  • Base UBL PaymentOdoo 12, 13, 14, 16
    base_ubl_payment

    Adds payment information to UBL electronic invoices and credit notes, so exported XML files include how the invoice should be paid (bank transfer, IBAN, due date).

  • base_ubl_payment_banking_mandate

    Adds the customer's SEPA direct debit mandate reference and bank account to UBL payment files when the payment method code is 49 or 59.

  • base_user_chatter

    Adds a chatter (message log, followers and scheduled activities) to the user form in Odoo, so you can keep notes and follow-up actions on each user record.

  • base_user_effective_permissions

    Adds an "Effective permissions" button on the user form that opens a list showing, per model, whether the user can create, read, write or delete records and the record rules that restrict those operations.

  • User Locale SettingsOdoo 12, 13, 14, 15, 16, 18
    base_user_locale

    Lets each user or the whole company override how dates, times, week start and number separators are displayed in Odoo, instead of being forced to use the language defaults.

  • Base User Show EmailOdoo 12, 13, 14, 16, 18
    base_user_show_email

    Separates the user login from the email address in Odoo. The user form now shows a 'Login' label and a visible Email Address field, and the login page asks for a Login instead of an Email.

  • base_vat_optional_vies

    Adds a read-only "VIES validation" flag on contacts that records whether their VAT number passed the European VIES check, without blocking you from saving a VAT number that is valid in its own country.

  • base_wamas_ubl

    Adds two technical wizards under an EDI > WAMAS menu that let EDI managers inspect a WAMAS file (type, telegram type and decoded data) or simulate the conversion of a WAMAS file into another WAMAS file.

  • Brand External Report LayoutOdoo 12, 13, 14, 15, 16, 18, 19
    brand_external_report_layout

    Lets you give each brand its own external report layout — logo, colours, fonts, header, footer and paper format — so printed documents and PDFs follow the brand instead of the company.

  • Business RequirementOdoo 12, 13, 14, 15, 16, 18
    business_requirement

    Track customer business requirements from the first story to approval, with scenarios, gaps, test cases and a portal page where customers can follow progress.

  • Business Requirement CRMOdoo 12, 13, 14, 16, 18
    business_requirement_crm

    Create a Business Requirement directly from a CRM opportunity and see all requirements linked to a lead. The opportunity form gets a Create Business Requirement button and a counter button listing its requirements.

  • calendar_event_link_base

    Provides a reusable building block that lets other Odoo modules show and count the calendar events linked to their records, with a button that opens those events in a calendar view.

  • Calendar Event Multi CompanyOdoo 12, 15, 16, 18
    calendar_event_multi_company

    Adds a Company field to calendar events so each event belongs to a specific company. Users only see events of companies they are allowed to access, plus events with no company.

  • calendar_event_type_color

    Colorize calendar events automatically based on the color of their first event category, and let administrators set a color on each event type.

  • calendar_event_type_multi_company

    Adds a Company field to Calendar Event Types so each type can belong to a specific company. Users only see event types of their allowed companies (or shared ones with no company).

  • calendar_monthly_multi

    Extends monthly recurring calendar events so users can repeat an event on several days of the month (e.g. the 5th and 15th) or on weekdays, weekend days, or a custom set of weekdays.

  • carrier_account_environment

    Lets administrators store carrier account credentials (account and password) in server configuration files instead of typing them in Odoo, so production and test servers can use different carrier logins.

  • CMISOdoo 12, 13, 14, 16
    cmis

    Lets administrators register connections to an external CMIS document server (such as Alfresco) inside Odoo, storing the server address, login and a default folder for writing files.

  • CMS FormOdoo 13, 16
    cms_form

    Provides the building blocks to build web forms (create, edit, search and multi-step wizards) on the Odoo website/portal, with validation, status messages and redirects after submission.

  • CMS infoOdoo 13, 14, 16
    cms_info

    Adds a reusable technical foundation that gives any Odoo record the URLs and permission checks needed to be managed from a CMS front-end. It is a base module for developers, not a ready-made website feature.

  • CMS status messageOdoo 13, 14, 16
    cms_status_message

    Lets developers and website builders show short status messages (info, success, warning, error) to visitors, for example after a form is submitted. Messages appear as dismissible alerts on portal pages and can disappear automatically.

  • commission_delegated_partner

    Lets you assign a delegate partner to a sales agent so commission invoices are issued to that delegate instead of the agent, while still showing the original agent on the invoice line.

  • company_default_partner_pricelist

    Lets you set a default pricelist for each company, which is then used automatically as the default pricelist for new partners in that company.

  • company_dependent_flag

    This module adds a visual icon next to company-dependent fields in Odoo forms, so users can easily see which fields have different values per company.

  • confirmation_wizard

    Adds a reusable confirmation pop-up that other modules can call from code. It shows a message and, when the user confirms, either closes the window or runs a chosen method on selected records.

  • Connector for E-CommerceOdoo 12, 13, 14, 16
    connector_ecommerce

    Adds the shared e-commerce plumbing used by Odoo online-store connectors: it handles sales orders cancelled on the external shop, adds shipping, cash-on-delivery, gift and discount lines, and fires events when invoices, deliveries or prices change.

  • connector_elasticsearchOdoo 12, 13, 14, 15, 16, 18
    connector_elasticsearch

    Adds Elasticsearch as a search engine backend in Odoo, letting you configure the connection and manage indexes that are exported to an Elasticsearch server.

  • Connector Search EngineOdoo 12, 13, 14, 15, 16, 18
    connector_search_engine

    Connect Odoo to external search engines by defining backends, indexes and per-record bindings, then recompute, export and delete index data in the background. It is a base framework: the actual search engine connection is provided by other addons.

  • connector_search_engine_serializer_ir_export

    Adds an 'Exporter' option to search engine index serializers, letting users choose a saved export definition (ir.exports) to decide which fields are sent to the search engine.

  • connector_typesense

    Adds Typesense as a search engine backend in Odoo, so users can configure a Typesense server and export indexed data to it.

  • Contract BrandOdoo 12, 13, 14, 15, 16, 18
    contract_brand

    Lets you assign a brand to a contract and automatically carries that brand over to the invoices generated from it, so branded contracts and their billing stay consistent.

  • Contract ForecastOdoo 12, 16, 18
    contract_forecast

    Adds a forecast of future contract invoices, showing expected amounts and invoice dates per contract line, and lets you view them in a pivot, graph or list report.

  • contract_payment_auto

    Lets you turn on automatic payment for contracts, so invoices created from them are posted, emailed and charged to a saved payment token without manual work.

  • contract_sale_invoicing_pricelist

    When recurring invoices are generated from a contract, the invoice automatically uses the contract's pricelist and currency instead of the customer's default pricelist.

  • CooperatorsOdoo 12, 14, 16
    cooperator

    Manage cooperative members and their shares: register subscription requests, issue capital release invoices, record share lines, and keep an up-to-date cooperator registry with certificates and share operations.

  • cooperator_documentation

    Adds a Documentation menu item to the Cooperator menu that opens the online user documentation in a new browser tab.

  • Cooperator PortalOdoo 12, 14, 16
    cooperator_portal

    Adds a cooperator area to the customer portal: members see their cooperative details, shares and certificate, and can view their capital release requests. It also locks some account fields and blocks account deletion.

  • Cooperators WebsiteOdoo 12, 14, 16
    cooperator_website

    Adds public web pages where visitors and logged-in users can subscribe for cooperative shares online, filling in personal or company details, choosing a share type and quantity, and accepting the cooperative's rules.

  • cooperator_website_payment

    Lets people pay for their cooperative shares online right after they subscribe on the website, instead of waiting for an invoice by email.

  • cooperator_website_recaptcha

    Adds a Google reCAPTCHA check to the online subscription request forms for becoming a cooperator (individual or company), so bots cannot submit fake requests.

  • crm_claim_analytic

    Link claims to analytic accounts and track the costs and revenues recorded on each claim. See how many claims belong to an analytic account and jump straight to their analytic entries.

  • crm_date_deadline_required

    Makes the Deadline field mandatory on opportunities in CRM. When a record is an opportunity, users cannot save it without filling in the deadline date.

  • crm_lead_search_archive

    Adds an "Archived or Not" filter to the CRM leads and opportunities search bar, so users can list active and archived leads together in one view.

  • NUTS Regions in CRMOdoo 12, 14, 16
    crm_location_nuts

    Adds NUTS region fields (levels L1 to L4) to leads and opportunities in CRM, so you can record and analyse the geographic region of each lead.

  • crm_lost_reason_multi_company

    Adds a Company field to CRM lost reasons so each company can keep its own list. Users only see and can pick lost reasons belonging to their allowed companies.

  • crm_partner_required

    Makes the customer (partner) field mandatory on CRM opportunities. Users can no longer save or quick-create an opportunity without selecting a customer, while leads stay unchanged.

  • CRM Project CreateOdoo 16, 18, 19
    crm_project_create

    Lets salespeople create a project directly from a lead or opportunity in CRM. A button on the lead form opens a small dialog to name and describe the project, then links the new project to the lead.

  • crm_salesperson_planner_sale

    Link sales quotations and orders to salesperson visits, so you can create a quotation directly from a visit and see how many quotations and confirmed orders came from it.

  • CRM Only Security GroupsOdoo 13, 14, 15, 16, 18
    crm_security_group

    Adds four CRM-only security levels (Own, Team, All, Administrator) so you can give users access to CRM without giving them Sales access. It hides sales-related buttons, menus and dashboard figures from users who only have CRM rights.

  • Crm Stage MailOdoo 16, 18
    crm_stage_mail

    Lets you attach an email template to each CRM stage, so an email is automatically sent to the customer when a lead or opportunity reaches that stage.

  • crm_stage_multi_company

    Lets each CRM stage belong to a specific company, so stages can be kept separate between companies. Users only see and use the stages of the companies they have access to.

  • crm_stage_multi_team

    This module lets a CRM stage be shared by several sales teams instead of just one. Users can assign multiple teams to a stage, and leads only see stages that belong to their team or to no team.

  • crm_tag_multi_company_event_crm

    Keeps event lead rule tags limited to the companies the user is allowed to work with, so tags from other companies cannot be selected on event lead rules.

  • crm_tag_multi_company_sale

    Adds a company check to the tags on sales orders, so users can only select tags that belong to companies they are allowed to use.

  • crm_team_zip_assign

    Automatically assigns CRM sales teams to contacts based on their ZIP code, country and state. Teams are configured with ZIP patterns, priority and optional extra conditions, and partners can be excluded from the automatic assignment.

  • CRM Won Restrict Per StageOdoo 15, 16, 18, 19
    crm_won_restrict_per_stage

    Lets you control, stage by stage, whether the "Won" button is visible on CRM opportunities, and blocks moving an opportunity into a won stage from a stage where the button is hidden.

  • cron_daylight_saving_time_resistant

    Adds a checkbox on scheduled actions (cron jobs) so they keep running at the same local time even when daylight saving time changes the clock by one hour.

  • cross_connect_client

    Lets administrators register other Odoo servers and give selected user groups a menu shortcut that logs them straight into that remote server, without creating a local account there.

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.