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

  • partner_category_multi_company

    Assign partner categories (tags) to a specific company, so each company only sees and uses its own categories. Adds a Company field on partner categories and filters them per company.

  • partner_category_multi_company_account

    Adds a multi-company check to the partner categories used in reconciliation models, so a reconciliation rule cannot mix partner categories from different companies.

  • partner_category_multi_company_analytic

    Adds a company restriction to the partner category field used in analytic distribution models, so users can only pick partner categories that belong to the allowed companies.

  • partner_category_security_crm

    This glue module limits what salespeople can do with contact tags in the CRM app, giving them read-only access instead of full management rights.

  • Contacts in several partnersOdoo 12, 13, 14, 16
    partner_contact_in_several_companies

    Lets one person be linked to several companies as different job positions, while keeping a single main contact record for their personal details.

  • partner_contact_tags_in_popup

    Shows a contact's tags directly inside the 'Contacts & Addresses' pop-up form, so you can see and edit them without opening the full contact record.

  • partner_contact_type_end_user

    Adds a new 'End User' option to the contact type field on partner records, so you can label an address as an end user instead of just contact, invoice or delivery address.

  • Deduplicate Contacts by referenceOdoo 12, 13, 14, 15, 16, 18
    partner_deduplicate_by_ref

    Adds a "Reference" option to the Odoo contact de-duplication wizard, so contacts can be grouped and merged based on their reference number instead of only name, email or VAT.

  • partner_identification_eori

    Adds an "EORI Identification Number" category to partner identification numbers, so you can store and validate a partner's EORI number on their contact record.

  • Partner Industry ParentOdoo 12, 15, 16, 18
    partner_industry_parent

    Adds a parent/child hierarchy to partner industries, so you can organise industries into a tree and see full names like 'Parent / Child'.

  • Partner Interest GroupOdoo 16, 18, 19
    partner_interest_group

    Adds an "Interest Group" field to contacts so you can tag partners by the topics they care about, and lets you manage the list of available interest groups from the Contacts configuration menu.

  • partner_invoicing_mode_at_shipping

    Adds an 'At Shipping' invoicing mode on customers so invoices are created automatically when goods are delivered, optionally after a waiting period in days.

  • partner_invoicing_mode_cash_on_delivery

    Mark a payment mode as Cash on Delivery so that when a delivery is shipped, an invoice is generated automatically and can be validated automatically. Users can also see the related COD invoices directly on the delivery order.

  • partner_invoicing_mode_monthly

    Lets you mark customers for monthly automatic invoicing. Odoo then creates their invoices automatically once a month on a day you choose.

  • Partner Iterative ArchiveOdoo 12, 13, 14, 16, 19
    partner_iterative_archive

    When you archive a contact in Odoo, all of its child contacts are archived automatically too, so no active sub-contacts are left behind under an archived parent.

  • Partner labelsOdoo 12, 13, 14, 15, 16, 18, 19
    partner_label

    Print address labels for contacts (partners) directly from Odoo, with label size, padding and margins configurable per company.

  • partner_last_invoice_date

    Adds two read-only date fields to contacts showing the most recent posted customer invoice and vendor bill, including those of child contacts. Useful to see how recently a contact was invoiced.

  • partner_match_or_create

    This technical module provides a wizard that helps match an incoming contact against existing Odoo contacts or create a new one, and adds an API code field to contact titles. It is mainly used by other OCA modules (stay_api, donation_api).

  • partner_middlename

    Adds a separate Middle Name field to contacts and users, so full names can be stored and displayed as first, middle and last name parts.

  • partner_mobile_duplicate_warn

    Shows a warning banner on the partner form when another partner already uses the same mobile number, so users can spot duplicate contacts before saving.

  • partner_multi_relation_archive_propagate

    Lets you mark partner relation types so that archiving a company also archives the partners linked to it through those relations, as long as they have no active users.

  • partner_multi_relation_function

    Lets you record a job title or role (a "function") on the relationship between two contacts, for example CEO of one company and volunteer at another. You can also search contacts by that function.

  • Partner Phone Number ExtensionOdoo 12, 13, 14, 15, 16
    partner_phone_extension

    Adds a phone extension field to contacts, so you can store the internal extension next to the main phone number. The extension appears on the contact form and on the contact kanban card.

  • partner_quality_log

    Adds a Qualification log tab to contacts where users rate value for money, service and attention; Odoo computes an overall partner quality score and keeps a dated history of every rating.

  • partner_risk_insurance_product_sticker_invoice_report

    Link product stickers to a credit policy company so that invoice reports only show the insurance company's sticker when the invoice is actually insured under that policy.

  • partner_street_number

    Lets you split a partner's street into street name, house number and door/extension, and rebuild the full street from those parts. Parsing and formatting rules are configured per country, with a live test tool.

  • partner_supplierinfo_smartbutton

    Adds a smart button on the vendor contact form showing how many products that vendor supplies, and opens the list of those products when clicked.

  • partner_usps_address_validation

    Adds a Validate button on contacts that checks the address against the USPS database and lets you accept the corrected address, including the full ZIP+4 code.

  • Payment PartnerOdoo 16, 18
    payment_partner

    Lets you control which payment providers are offered to which customers by adding a filter mode and a customer list on each payment provider.

  • payment_worldline

    Adds Worldline as a payment provider in Odoo, letting you accept card and local payment methods online, with saved-card payments and automatic transaction status updates.

  • Product Information ManagementOdoo 12, 13, 14, 16, 18, 19
    pim

    Adds a dedicated PIM application menu in Odoo that gathers product, variant, attribute and category screens in one place, plus three access levels (PIM Reader, PIM User, PIM Manager) to control who can view or edit the product catalogue.

  • pingen

    Lets you flag any Odoo attachment to be sent as a physical letter through the paid pingen.com postal service, and tracks each letter's status, cost and delivery information inside Odoo.

  • pingen_env

    Lets administrators keep the Pingen.com connection settings (client ID, secret, organization, staging mode, webhook secret) in server environment variables instead of typing them in Odoo.

  • pms

    Adds a full property management system to Odoo for hotels and similar properties: rooms, reservations, folios, check-in, availability plans, board services and invoicing, all linked to accounting and sales.

  • pms_account_move_budget

    Adds a Hotel field to accounting budget lines so each budget line can be linked to a specific property. The Hotel column appears in the budget lines list, right after the partner column.

  • PMS Hr PropertyOdoo 14, 16
    pms_hr_property

    Link employees to the properties (workplaces) where they work. You can assign several properties to an employee and see all assigned employees from each property.

  • pms_l10n_es

    Adds Spanish legal reporting to the property management system: it sends guest and reservation data to the Spanish Ministry of the Interior (SES) and produces INE tourism statistics files, with extra mandatory guest data and minor-traveller controls.

  • pms_l10n_es_sii

    Marks the generic PMS customer used for simplified invoices as an anonymous cash customer for Spanish SII reporting, and prevents that partner from being deleted.

  • pms_l10n_es_tbai

    Automatically marks invoices issued to the PMS anonymous/various partner as simplified invoices for Spanish TicketBAI, so they are sent correctly without recipient data.

  • pms_partner_identification

    Lets hotel staff record each guest's identity document (type, number, country, issue date) during check-in, and automatically links or creates the matching partner identification record.

  • pms_partner_second_lastname

    Adds a second last name field to PMS check-in guests and contacts, so hosts with two family names can be recorded correctly. The second last name appears on check-in forms, lists, kanban cards, contact forms and the traveller report.

  • portal_sale_accept_terms

    Adds a free-text terms field on sales orders and shows it as a mandatory checkbox in the customer portal before the order can be confirmed or signed.

  • portal_sale_order_search

    Customers can now search their own sales orders and quotations in the customer portal by order reference, customer reference or customer name.

  • pos_access_right

    Adds extra security groups that control what a cashier is allowed to do inside the Point of Sale screen, such as giving discounts, changing prices, selling negative quantities, deleting orders or lines, opening several orders and taking payments.

  • pos_account_bank_statement_line

    Adds a Point of Sale menu entry that lists all bank statement lines linked to a Point of Sale session, with a dedicated list view and search filters.

  • pos_auto_invoice

    Adds a setting in Point of Sale configuration to automatically mark new POS orders as 'to invoice' by default. When enabled, every new order in the POS will have the invoice option turned on.

  • pos_bypass_global_discount

    This module makes the Point of Sale respect the 'bypass global discount' setting on products, so that products marked to bypass discounts are excluded when a global discount is applied to the whole order.

  • pos_cash_control_override

    Allows Point of Sale users without accounting rights to perform cash in and cash out operations in their sessions, and always shows the cash move button in the POS interface.

  • pos_cashback

    Warns the cashier on the Point of Sale payment screen when the current payment will produce a cashback (change given in cash after a non-cash payment).

  • pos_category_complete_name

    Adds a 'Complete Name' field to Point of Sale categories, showing the full category path (e.g., 'Parent / Child'). This makes it easier to search and identify categories in Odoo.

  • Point of sale logoOdoo 14, 16, 18, 19
    pos_config_logo

    Lets you set a different logo for each point of sale, so receipts and the POS screen can show a store-specific logo instead of the company logo.

  • pos_container_deposit

    Lets you charge a refundable container deposit in the Point of Sale: when a product with a deposit is sold, its deposit product is added automatically and its quantity follows the sold quantity.

  • pos_customer_comment

    Adds a 'Cashier Comment' field on customers that cashiers can read and edit directly in the Point of Sale screen, and shows a small comment icon next to customers that have one.

  • pos_customer_required

    Lets you force Point of Sale cashiers to select a customer before starting an order or before paying, configurable per point of sale. Anonymous orders are blocked with an error message.

  • Pos Vat TreeOdoo 14, 16, 18
    pos_customer_tree_view_vat

    Adds a Tax ID column to the customer list in the Point of Sale screen, showing each customer's VAT number next to their name.

  • pos_daily_sales_reports_category_only

    Adds a setting to Point of Sale that hides individual product lines in the daily sales report, showing only product category totals. Enabled by default per point of sale.

  • Point Of Sale Default PartnerOdoo 12, 13, 14, 15, 16
    pos_default_partner

    Lets you set a default customer for each Point of Sale, so new POS orders automatically get that customer when no customer is chosen.

  • pos_discount_all

    Shows the total discount amount on the Point of Sale order summary and printed receipt, calculated as the difference between the default price list total and the actual sale total.

  • POS Edit Order LineOdoo 14, 16, 18, 19
    pos_edit_order_line

    Adds an "Edit Order Lines" button to the Point of Sale screen that opens a popup where cashiers can directly type the quantity, unit price and discount for every line of the current order.

  • pos_environment

    Lets administrators add a custom header and footer text to Point of Sale receipts, so tickets printed in test, pre-production or production environments can be told apart.

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.