OCA modules for Odoo 19
There are 1,530 OCA community modules confirmed in Odoo 19.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 18 has 3,110. 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 19
See also
Modules for Odoo 19
- 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.
- 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 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.
- Google Maps IntegrationOdoo 12, 14, 19base_google_map
Lets administrators enter a Google Maps API key and choose map language, region, theme and libraries from Odoo Settings, and optionally install extra Google Maps widgets and a map view.
- 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 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 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.
- 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.
- 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.
- 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 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 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 CUPSOdoo 19base_report_to_printer_cups
Connect Odoo to one or more CUPS print servers, import their printers and paper trays, and send reports straight to a chosen printer instead of downloading a PDF.
- Report to QZ TrayOdoo 19base_report_to_printer_qztray
This module lets Odoo send reports straight to printers installed on the user's own computer using QZ Tray, without needing a print server. It adds a "QZTray" option to printing printers and handles the secure connection and printing in the browser.
- base_report_to_printer_websocket
Lets Odoo send report print jobs directly to a user's computer over the existing WebSocket connection, without needing an external print server. Each printer is linked to a specific user who receives the job.
- 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 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 Confirm AuthOdoo 18, 19base_tier_validation_confirm_auth
Adds an option on tier definitions so that approvers must re-enter their password (identity check) before approving, rejecting or commenting on a tier review.
- Base Tier Validation CorrectionOdoo 14, 16, 18, 19base_tier_validation_correction
Lets authorised users replace the reviewer of pending tier validation reviews on documents, either immediately or on a scheduled date, and revert the change later.
- 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 UBL generateOdoo 18, 19base_ubl_generate
Technical foundation module that builds UBL (Universal Business Language) XML files from Odoo data. It adds no screens or menus by itself; other modules use it to generate electronic documents such as purchase orders.
- Base UBL ParseOdoo 18, 19base_ubl_parse
Technical helper module that reads UBL (Universal Business Language) XML files and turns their content into structured data. It does nothing on its own; other modules use it to import UBL documents such as invoices or sale orders.
- 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 activitiesOdoo 18, 19base_user_role_activity
Automatically creates a reminder activity on a user's contact when one of their role assignments is about to expire, and removes it when the role is extended or deleted.
- 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.
- Base User SignatureOdoo 15, 16, 17, 18, 19base_user_signature
Adds a digital signature field to user records so each user can draw and save their own signature, visible and editable on their user form and personal preferences.
- Extended view inheritanceOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20base_view_inheritance_extension
Adds new operators to Odoo view inheritance so developers can wrap text in elements and update, extend or merge attribute values (contexts, domains, text) when customizing existing screens.
- Base - Write DiffOdoo 17, 19base_write_diff
Prevents Odoo from saving field values that are identical to what is already stored, so records are only updated when something really changes. It adds a new write_diff method that developers can use to skip useless updates.
- BI SQL EditorOdoo 12, 13, 14, 15, 16, 17, 18, 19bi_sql_editor
Lets technical users build custom reports by writing an SQL query, then automatically creates the database view, an Odoo model, list/form/graph/pivot views, an action and a menu to display the results.
- BrandOdoo 12, 13, 14, 15, 16, 17, 18, 19brand
Adds a Brands directory to Odoo and lets you decide, per company, whether brands must be chosen on business documents. Brands are stored as contacts, so they carry address, VAT and logo details.
- Brand External Report LayoutOdoo 12, 13, 14, 15, 16, 18, 19brand_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.
- Bus Alt ConnectionOdoo 12, 13, 14, 16, 17, 18, 19bus_alt_connection
Allows Odoo to work with PgBouncer as an external database connection pooler by letting the instant-messaging dispatcher connect to a separate database host and port.
- Calendar Event Type Multi CompanyOdoo 12, 16, 18, 19calendar_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 Holidays PublicOdoo 18, 19calendar_public_holiday
Lets you record public holidays per country and year, and automatically creates matching all-day calendar events so holidays appear in the Odoo calendar.
- Commissions OCAOdoo 18, 19commission_oca
Lets you define commission rules and agents, assign agents to customers and products, and generate commission settlements for chosen periods, with a printable settlement report.
- Companyweb Business InformationOdoo 12, 13, 14, 15, 16, 17, 18, 19companyweb_base
Connect Odoo contacts to Companyweb to fetch official company data (VAT, registry, address, financial health) and keep selected contacts automatically updated. Users can enrich a contact with one click and add it to Companyweb Alerts.
- Companyweb Payment InfoOdoo 13, 14, 15, 16, 17, 18, 19companyweb_payment_info
Automatically sends your unpaid customer invoices to Companyweb once a day, so your company's payment behaviour can be shared with suppliers assessing credit risk.
- ComponentsOdoo 12, 13, 14, 15, 16, 17, 18, 19component
Adds a technical framework that lets developers register and use reusable 'components' instead of only Odoo models. It provides the base building blocks used by connector-style modules.