OdooWiki OCA HUB

OCA modules for Odoo 16

There are 3,166 OCA community modules confirmed in Odoo 16.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 15 has 2,091. Open any module to see what it does, its availability in the other versions and its sources.

Confirmed modules per version

Repositories with the most modules in Odoo 16

See also

Modules for Odoo 16

  • Base FontawesomeOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_fontawesome

    Updates the icon library used across Odoo to Font Awesome 6.7.2, so icons look modern and consistent in the backend, the website and printed reports.

  • Force Record No-updateOdoo 14, 16, 17, 18
    base_force_record_noupdate

    Adds a "Force No-Update" checkbox on models so that existing and future records linked to those models are protected from being overwritten by module updates.

  • Geospatial support for OdooOdoo 12, 13, 14, 16, 17, 18
    base_geoengine

    Adds map views to Odoo so users can see records on an interactive map, search them by location, and draw or edit geographic shapes directly on records.

  • base_geoengine_demo

    This demo module shows how Odoo can display and analyse geographic data on maps. It adds sample ZIP areas and retail machines with map views, so users can see points, lines and polygons and colour them by sales or status.

  • 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.

  • Base Global DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_global_discount

    This module lets you define global discount records (name, percentage, sales or purchases scope, company) and assign them to customers or suppliers. It also adds a per-product option to exclude a product from global discounts.

  • 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.

  • Asynchronous ImportOdoo 12, 13, 14, 16, 17, 18
    base_import_async

    Adds an "Import in the background" checkbox to the standard CSV import screen, so large files are split into chunks and processed by the queue instead of blocking the 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.

  • Base Import MatchOdoo 12, 13, 14, 15, 16, 17, 18
    base_import_match

    Lets you define matching rules so that CSV imports update existing records instead of creating duplicates, based on fields like VAT, email or name rather than the external ID.

  • 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.

  • Optional CSV importOdoo 12, 13, 14, 15, 16, 17, 18
    base_import_security_group

    This module makes CSV/Excel importing optional per user. Only users with the "Import CSV/Excel files" access right see the Import button and can actually import records; others are blocked.

  • ISO 3166Odoo 12, 13, 14, 15, 16, 17, 18, 19
    base_iso3166

    Adds the official ISO 3166 country codes to Odoo countries: the 3-letter code and the numeric code, shown on the country form and list. The values are filled in automatically from the existing 2-letter country code.

  • 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.

  • Location management (aka Better ZIP)Odoo 12, 13, 14, 15, 16, 17, 18, 19
    base_location

    Manage ZIP/postal codes as their own records linked to cities, so users can pick a location and have the address fields filled in automatically. Adds Cities and Zips menus under Contacts and a Zips button on countries.

  • Base Location Geonames ImportOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_location_geonames_import

    Adds a wizard that downloads the official Geonames city and postal-code list for a country and creates or updates the matching cities, states and zip entries in Odoo, removing entries that no longer exist in the file.

  • NUTS RegionsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_location_nuts

    Adds European NUTS region levels (L1 to L4) to contacts and lets you download the official NUTS 2024 list from the EU ShowVoc service. You can tag partners with NUTS regions and protect custom entries from being overwritten.

  • Base Many2many Custom FieldOdoo 12, 13, 14, 16, 17, 18
    base_m2m_custom_field

    Adds a new technical field type that lets developers control whether the database link table for a many-to-many relation is created automatically. It changes nothing visible for everyday users.

  • Base MaintenanceOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_maintenance

    Adds a Team Leader and a description to maintenance teams, and provides a printable Maintenance Request report. It also prepares the maintenance request form for extra buttons added by other modules.

  • 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.

  • Base Menu Visibility RestrictionOdoo 13, 14, 15, 16, 17, 18, 19
    base_menu_visibility_restriction

    Lets administrators hide specific menu items from chosen user groups by adding "Excluded Groups" to each menu, so users in those groups no longer see the menu.

  • Update Restrict ModelOdoo 12, 14, 15, 16, 17, 18
    base_model_restrict_update

    Lets administrators make specific models read-only for everyone except chosen user groups, and mark individual users as read-only so they cannot change any business records.

  • Multi Company BaseOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_multi_company

    Provides the technical foundation that lets other modules give records access to several companies at once instead of just one. On its own it changes nothing visible for users.

  • 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.

  • Improved Name SearchOdoo 13, 14, 16, 17, 18
    base_name_search_improved

    Makes Odoo's record lookup more forgiving: typing words in any order still finds the record, and administrators can add extra fields (like city or phone) to search into.

  • Optional quick createOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_optional_quick_create

    Lets administrators disable the "quick create" shortcut on many2one fields for chosen models, so users must open the full create form instead of typing a name inline.

  • Base PartitionOdoo 16, 17, 18, 19
    base_partition

    Adds three helper methods to every Odoo model so developers can group records by a value, split them into smaller chunks, and read data record by record. These are technical tools used by other modules, not new screens for end users.

  • Base Partner Company GroupOdoo 15, 16, 17, 18, 19
    base_partner_company_group

    Lets you assign a company group to companies and see all contacts belonging to that group. You can search and group contacts by company group in the Contacts app.

  • 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.

  • Add a sequence on customers' codeOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_partner_sequence

    Automatically gives every new company or main contact a customer code taken from a numbered sequence (for example P/00001), and shares that code with the company's contacts.

  • Base PhoneOdoo 12, 13, 14, 16, 17, 18
    base_phone

    Adds phone-number tools to Odoo: a Dial button next to phone fields, automatic international reformatting of stored numbers, and a wizard to clean up all existing numbers. It also lets Odoo find a partner from an incoming caller's number.

  • 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.

  • Base Products MergeOdoo 15, 16, 17
    base_product_merge

    Lets users merge duplicate products or product templates into a single destination product, redirecting all linked documents to the kept product.

  • 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 Repair ConfigOdoo 12, 13, 16, 17, 18, 19
    base_repair_config

    Adds an empty "Repair" section to Odoo's General Settings and a Settings menu entry under the Repair app's Configuration menu. It is a technical base module with no user-facing features of its own.

  • 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 printerOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_report_to_printer

    Lets administrators and users choose whether each Odoo report is downloaded as a PDF or sent straight to a configured printer, with default rules per report, per user, or per user-and-report combination.

  • 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 Revision (abstract)Odoo 14, 15, 16, 17, 18, 19
    base_revision

    This module is a technical building block that lets other Odoo documents keep a history of revisions. By itself it adds no menu or screen; developers use it to give documents like quotations or purchase orders a revision history.

  • 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.

  • Add custom filters for fields via UIOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_search_custom_field_filter

    Lets administrators add extra search filters to any Odoo screen without coding, by defining a field (or a related field path) in a simple list. Regular users then see these filters in the search bar of that screen.

  • Fuzzy SearchOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_search_fuzzy

    Lets administrators create PostgreSQL trigram indexes on text or character fields so that other addons can perform fuzzy (approximate) searches, and registers the '%' fuzzy search operator in search domains.

  • Base Search Mail ContentOdoo 12, 13, 14, 15, 16, 17, 18
    base_search_mail_content

    Lets users search any record that uses Odoo chatter (like tasks, tickets or issues) by the content of its messages, notes and emails, not just by the record's own fields.

  • 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 Sequence OptionOdoo 14, 15, 16, 17, 18
    base_sequence_option

    This base module lets administrators define alternative numbering sequences for documents, chosen automatically by matching rules on the document's own values. It does nothing on its own; other modules must enable it for each document type.

  • Base Sparse Field List SupportOdoo 13, 14, 15, 16, 17, 18
    base_sparse_field_list_support

    Technical module that lets Odoo store lists (not only dictionaries) in serialized fields. It changes how serialized field values are converted when read into memory, so lists are saved correctly.

  • Base Sub StateOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_substate

    This module provides the technical foundation to add customizable sub-states (like "In negotiation", "Won", "Lost") to any Odoo record that has a state field, and to send an email when a record reaches a given sub-state. It is not useful on its own; it must…

  • Technical features groupOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_technical_features

    Lets selected users keep Odoo's technical features and technical menus switched on permanently, without having to turn on developer (debug) mode each time.

  • Base Technical UserOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_technical_user

    Lets you designate a dedicated technical user on each company, so automated or batch processes can run under that user instead of a real person.

  • Base TerritoryOdoo 13, 14, 15, 16, 17, 18, 19
    base_territory

    Lets you define a sales or field-service coverage structure in Odoo: regions, districts, branches and territories, each with a responsible manager. Territories can be defined by ZIP codes, states or countries.

  • Base Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    base_tier_validation

    Adds a configurable multi-step approval workflow to any Odoo document, so records must be reviewed and approved by chosen users or groups before they can move forward.

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.