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, 19base_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, 18base_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, 18base_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.
- Geo spatial support DemoOdoo 12, 16, 17base_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 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.
- Base Global DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19base_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, 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.
- Asynchronous ImportOdoo 12, 13, 14, 16, 17, 18base_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, 18base_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, 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.
- Optional CSV importOdoo 12, 13, 14, 15, 16, 17, 18base_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, 19base_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, 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.
- Location management (aka Better ZIP)Odoo 12, 13, 14, 15, 16, 17, 18, 19base_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, 19base_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, 19base_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, 18base_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, 19base_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, 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.
- Base Menu Visibility RestrictionOdoo 13, 14, 15, 16, 17, 18, 19base_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, 18base_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, 19base_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, 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.
- Improved Name SearchOdoo 13, 14, 16, 17, 18base_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, 19base_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, 19base_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, 19base_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.
- 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.
- Add a sequence on customers' codeOdoo 12, 13, 14, 15, 16, 17, 18, 19base_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, 18base_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, 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.
- Base Products MergeOdoo 15, 16, 17base_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, 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.
- Base Repair ConfigOdoo 12, 13, 16, 17, 18, 19base_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.
- 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 printerOdoo 12, 13, 14, 15, 16, 17, 18, 19base_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, 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 Revision (abstract)Odoo 14, 15, 16, 17, 18, 19base_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 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.
- Add custom filters for fields via UIOdoo 12, 13, 14, 15, 16, 17, 18, 19base_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, 19base_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, 18base_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.
- 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.
- Base Sequence OptionOdoo 14, 15, 16, 17, 18base_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, 18base_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, 19base_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, 19base_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, 19base_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, 19base_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, 19base_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.