OCA modules for Odoo 17
There are 1,994 OCA community modules confirmed in Odoo 17.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 16 has 3,166. 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 17
See also
Modules for Odoo 17
- Base Cron ExclusionOdoo 12, 13, 14, 15, 16, 17, 18, 19base_cron_exclusion
Lets you mark scheduled actions (automated tasks) as mutually exclusive so they never run at the same time. You pick the other scheduled actions that must not overlap with the one you are editing.
- Base Currency ISO 4217Odoo 12, 13, 14, 15, 16, 17, 18base_currency_iso_4217
Adds two ISO 4217 fields to currencies: the official numeric code and the full currency name. It also fills in these values, plus the correct number of decimal places, for the currencies shipped with Odoo.
- Base module for carrier labelsOdoo 12, 13, 14, 15, 16, 17base_delivery_carrier_label
Adds carrier options and label handling to delivery methods, so shipping connectors can attach labels, track parcels and generate carrier manifests. It is a technical base module: it does not ship labels by itself.
- Base eBill Payment ContractOdoo 13, 14, 16, 17, 18, 19base_ebill_payment_contract
Adds a new "eBill Payment Contract" screen under Invoicing > Customers where you record, per customer and per e-billing service, the contract period and status. It is a technical foundation: alone it does not send or receive any e-bill.
- Base EDIOdoo 12, 13, 14, 15, 16, 17, 18, 19base_edi
Adds an EDI section to Odoo with its own top menu and two access levels (EDI User and EDI Manager). It is a foundation module that other EDI features build on.
- Exception RuleOdoo 12, 13, 14, 15, 16, 17, 18, 19base_exception
Lets administrators define custom exception rules that flag or block records on any Odoo model, and shows users a popup listing the outstanding exceptions before they continue.
- Manage model export profilesOdoo 12, 13, 14, 15, 16, 17, 18, 19base_export_manager
Lets administrators create and manage reusable export profiles for any Odoo model, and control per access-right whether users are allowed to export records.
- External Database SourcesOdoo 12, 13, 14, 15, 16, 17, 18, 19base_external_dbsource
Lets administrators register connections to external databases (currently PostgreSQL) and test them from Odoo. Other modules can then run queries or read/write records on those external databases.
- External Database Source - MySQLOdoo 12, 13, 15, 16, 17, 18base_external_dbsource_mysql
Adds MySQL as a connector option for external database sources in Odoo, so users can connect to and query a MySQL database from the External Database Sources screen.
- External Database Source - SQLiteOdoo 12, 13, 15, 16, 17, 18base_external_dbsource_sqlite
Adds SQLite as a connector option on external database sources, so Odoo can connect to SQLite files and run SQL queries against them.
- Base Factur-XOdoo 12, 13, 14, 15, 16, 17, 18base_facturx
Technical foundation module for Factur-X/ZUGFeRD electronic invoicing. It provides shared methods used by other modules to generate and read the XML embedded in PDF invoices.
- 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.
- Base Fontawesome Web EditorOdoo 17, 18base_fontawesome_web_editor
Makes FontAwesome 6.7.2 and newer icons appear correctly in Odoo's web editor, so users can pick and insert icons when editing web pages and content.
- 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 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.
- 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 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.
- Base Import Pdf by TemplateOdoo 15, 17, 18base_import_pdf_by_template
Create templates that read PDF files and automatically generate Odoo records from the data inside them. Upload PDFs, preview the extracted values, and let Odoo create or update the matching records.
- Base Import Pdf by Template AccountOdoo 17, 18base_import_pdf_by_template_account
Lets accountants create invoice templates that automatically read supplier invoice PDFs and fill in the invoice data, including when the PDF arrives by email.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 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.
- 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.
- 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.
- 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.
- Base Tier Validation FormulaOdoo 12, 13, 14, 15, 16, 17, 18, 19base_tier_validation_formula
Lets you write Python formulas to decide when a tier approval is required and who must approve it, instead of only using fixed domains or user lists.
- Base Tier Validation ForwardOdoo 12, 13, 14, 15, 16, 17, 18, 19base_tier_validation_forward
Adds a Forward option to tier approvals, letting an assigned reviewer pass the decision to another user instead of approving or rejecting.
- Base Tier Validation - Server ActionOdoo 14, 15, 16, 17, 18, 19base_tier_validation_server_action
Extends tier validation so each approval step can automatically run a server action when it is approved or rejected, and can auto-approve itself when a condition is met.
- Base Time WindowOdoo 13, 14, 15, 16, 17, 18, 19base_time_window
Provides reusable building blocks (a weekday list and a time-window mixin) so other Odoo modules can define opening hours or availability slots with automatic overlap and validity checks.
- Base UBLOdoo 12, 13, 14, 15, 16, 17, 18, 19base_ubl
Technical foundation module that provides shared tools to create and read UBL (Universal Business Language) XML files. It adds no menus or screens; other modules use it to exchange electronic business documents.
- Base UNECEOdoo 12, 13, 14, 15, 16, 17, 18, 19base_unece
Adds a central reference list of UNECE codes (units of measure, payment means, transport modes, packaging, etc.) that users can browse and search in Odoo. Only administrators can add, edit or delete entries; everyone else can only read them.
- User rolesOdoo 12, 13, 14, 15, 16, 17, 18, 19base_user_role
Lets administrators define reusable user roles that bundle several access groups, assign them to users (optionally with start and end dates), and automatically keep each user's groups in line with their roles.
- User roles by companyOdoo 12, 14, 16, 17, 18, 19base_user_role_company
Lets you assign a user role to a specific company, so a role only becomes active when the right company (or companies) are selected. Adds a Company field on each role line in the user form.
- Base User Role HistoryOdoo 12, 13, 16, 17, 18, 19base_user_role_history
This module keeps a history of every change made to the roles assigned to users. From a user's form you can open a smart button showing who changed which role, when, and what the old and new values were.