Migrating from Odoo 18 to Odoo 19: which OCA modules are available
Of the 3,111 OCA modules confirmed in Odoo 18.0, 1,272 (41 %) are also confirmed in Odoo 19.0. The other 1,839 do not have a confirmed 19.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 259 modules are in Odoo 19.0 without being in 18.0.
- 3,111
- in Odoo 18
- 1,272
- also in Odoo 19
- 1,839
- pending in Odoo 19
- 41 %
- already migrated
See also
Odoo 18 modules not yet confirmed in Odoo 19
- 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.
- 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.
- 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.
- 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 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 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 Sequence TemplateOdoo 18base_sequence_template
Lets you define reusable sequence templates and generate one numbered sequence per company in a single step, automatically filling in company details such as name or registry number into the prefix and suffix.
- 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 Temporary ActionOdoo 18base_temporary_action
This technical module adds a flag to mark actions as temporary and automatically deletes them one hour after creation. It does not add any visible screen or menu by itself.
- Time ParameterOdoo 14, 15, 18base_time_parameter
Lets you store values that change over time (rates, thresholds, flags) and read the right value for any given date. Access is through a new Time Parameters menu under Technical settings.
- Base transaction ID for financial institutesOdoo 12, 16, 18base_transaction_id
Adds a Transaction ID field to sales orders and invoices so you can record the payment reference from a bank or payment provider. The value entered on a sales order is automatically copied to the invoice created from it.
- Base UrlOdoo 18base_url
This module provides a technical foundation for giving Odoo records clean, human-readable web addresses (URLs) instead of numeric IDs, and it automatically keeps old addresses working by redirecting them when they change.
- Effective permissionsOdoo 16, 18base_user_effective_permissions
Adds an "Effective permissions" button on the user form that opens a list showing, per model, whether the user can create, read, write or delete records and the record rules that restrict those operations.
- Empty users passwordOdoo 14, 18base_user_empty_password
Lets administrators clear the login password of one or more users from the Users list, so those users must sign in with another method (for example single sign-on).
- User Locale SettingsOdoo 12, 13, 14, 15, 16, 18base_user_locale
Lets each user or the whole company override how dates, times, week start and number separators are displayed in Odoo, instead of being forced to use the language defaults.
- User profilesOdoo 12, 14, 18base_user_role_profile
Lets administrators group roles into profiles and lets users switch between their allowed profiles from the top bar, so the active roles (and therefore menus and permissions) change instantly.
- Base User Show EmailOdoo 12, 13, 14, 16, 18base_user_show_email
Separates the user login from the email address in Odoo. The user form now shows a 'Login' label and a visible Email Address field, and the login page asks for a Login instead of an Email.
- Base Warn OptionOdoo 15, 18base_warn_option
Lets administrators create and manage a library of predefined warning and blocking messages, so the same wording is reused consistently across Odoo.
- Business RequirementOdoo 12, 13, 14, 15, 16, 18business_requirement
Track customer business requirements from the first story to approval, with scenarios, gaps, test cases and a portal page where customers can follow progress.
- Business Requirement CRMOdoo 12, 13, 14, 16, 18business_requirement_crm
Create a Business Requirement directly from a CRM opportunity and see all requirements linked to a lead. The opportunity form gets a Create Business Requirement button and a counter button listing its requirements.
- Business Requirement DeliverableOdoo 12, 13, 14, 18business_requirement_deliverable
Adds deliverable lines to business requirements so you can list the products and services a customer will receive, price them from a pricelist, and show them to the customer in the portal and on the printed report.
- business_requirement_deliverable_project
When a business requirement is approved, its deliverables can automatically become project tasks, either in a chosen project or in a brand-new project created for the requirement.
- Business Requirement RICEOdoo 18business_requirement_rice
Adds a RICE scoring section to business requirements so you can rank requests by Reach x Impact x Confidence / Effort. The score is stored, shown in the form, list and kanban views, and can be used to filter and sort requirements.
- Business Requirement SaleOdoo 12, 13, 14, 18business_requirement_sale
Lets salespeople turn a Business Requirement into a quotation, using its deliverables as sales order lines, and links quotations back to the requirement.
- Calendar Event Description LayoutOdoo 17, 18calendar_event_description_layout
Moves the Description field of the calendar event form onto its own dedicated tab, giving users much more room to write long or detailed event descriptions.
- Calendar Event Multi CompanyOdoo 12, 15, 16, 18calendar_event_multi_company
Adds a Company field to calendar events so each event belongs to a specific company. Users only see events of companies they are allowed to access, plus events with no company.
- Calendar Event Type ColorOdoo 16, 18calendar_event_type_color
Colorize calendar events automatically based on the color of their first event category, and let administrators set a color on each event type.
- Calendar - Export icsOdoo 15, 18calendar_export_ics
This module adds a wizard that lets you export your Odoo calendar events to a single .ics file, which you can then import into other calendar applications.
- Calendar - Import icsOdoo 15, 18calendar_import_ics
Lets users import .ics calendar files into Odoo Calendar, creating or updating events and optionally removing previously imported events that are no longer in the file.
- Carrier accounts configuration with server_environmentOdoo 14, 16, 18carrier_account_environment
Lets administrators store carrier account credentials (account and password) in server configuration files instead of typing them in Odoo, so production and test servers can use different carrier logins.
- Chained SwapperOdoo 12, 13, 14, 15, 18chained_swapper
Lets administrators define reusable "field swap" rules that change a field value on selected records and automatically propagate the same value to related records. Each rule can be protected by constraints and restricted to certain user groups.
- Commission Formula OCAOdoo 18commission_formula_oca
Adds a new 'Formula' commission type so you can calculate agent commissions with a custom formula instead of fixed percentages.
- Sanitary RegistryOdoo 15, 16, 17, 18company_sanitary_registry
Lets you record sanitary registry numbers for your company and assign them per product category and warehouse, and print them on reports.
- Connector Base ProductOdoo 12, 13, 14, 15, 16, 17, 18connector_base_product
Adds a hidden 'Connectors' tab to product and product variant forms, ready to be filled in by other connector modules.
- connector_elasticsearchOdoo 12, 13, 14, 15, 16, 18connector_elasticsearch
Adds Elasticsearch as a search engine backend in Odoo, letting you configure the connection and manage indexes that are exported to an Elasticsearch server.
- Connector Importer ProductOdoo 14, 15, 16, 17, 18connector_importer_product
Adds ready-made import types so you can load products, variants, attributes, categories, packaging and supplier info into Odoo from CSV files using the Connector Importer framework.
- Connector Importer Source SFTPOdoo 13, 14, 15, 18connector_importer_source_sftp
Adds a new CSV import source that reads files from an SFTP server, and can automatically move each processed file to a success or error folder depending on the import result.
- Connector Search EngineOdoo 12, 13, 14, 15, 16, 18connector_search_engine
Connect Odoo to external search engines by defining backends, indexes and per-record bindings, then recompute, export and delete index data in the background. It is a base framework: the actual search engine connection is provided by other addons.
- connector_typesenseOdoo 16, 18connector_typesense
Adds Typesense as a search engine backend in Odoo, so users can configure a Typesense server and export indexed data to it.
- Contract BrandOdoo 12, 13, 14, 15, 16, 18contract_brand
Lets you assign a brand to a contract and automatically carries that brand over to the invoices generated from it, so branded contracts and their billing stay consistent.
- Contract ForecastOdoo 12, 16, 18contract_forecast
Adds a forecast of future contract invoices, showing expected amounts and invoice dates per contract line, and lets you view them in a pivot, graph or list report.
- Contract Forecast BrandOdoo 12, 18contract_forecast_brand
Adds the brand to contract forecasts, so each forecast line shows the brand of its contract and updates automatically when the contract's brand changes.
- contract_forecast_variable_quantity
This module makes contract forecasts refresh automatically when you change how a contract line calculates its quantity, so the forecast stays in line with the new quantity rule.
- Contract Manually InvoiceOdoo 18contract_invoice_manually
Adds a "Manually Invoiced" option on contracts so they are skipped by automatic invoice generation and can instead be invoiced on demand from Accounting. A company setting turns the feature on or off.
- Contract Layout Category Hide DetailOdoo 12, 13, 18contract_layout_category_hide_detail
Lets you hide the detail lines, subtotals and line amounts of sections on contracts, their printed reports, the customer portal and the invoices generated from them.
- Contract Line DeferOdoo 18contract_line_defer
Lets you mark contract lines as deferred so they are not invoiced while their start date is unknown, then activate them later with a start and end date. A company setting can defer new contract lines automatically.
- contract_line_defer_successor
When a contract line is deferred, this module blocks the successor, stop and cancel actions on it and greys it out in the contract lines list, so users cannot act on a line that has been postponed.
- Contract MandateOdoo 12, 13, 14, 16, 17, 18contract_mandate
Lets you attach a direct debit mandate to a contract so that invoices created from that contract automatically carry the mandate. The mandate field only appears when the contract's payment method requires a mandate.
- Contract Payment Mode BrandOdoo 12, 18contract_payment_mode_brand
Limits the payment modes you can pick on a contract to those allowed for the contract's brand. The allowed list is taken from the brand configuration and applied automatically on the contract form.
- Contract Price RevisionOdoo 12, 13, 15, 17, 18contract_price_revision
Lets you revise contract line prices by applying a percentage change or a fixed new price, creating a new line and closing the old one the day before the new start date.
- Contract Queue JobOdoo 12, 14, 16, 17, 18contract_queue_job
When enabled, contract invoicing and contract line renewals are split into background jobs instead of being processed all at once, and a new button lets you enqueue invoice creation from the manual invoice wizard.
- Contracts Management - Recurring SalesOdoo 12, 14, 15, 16, 17, 18contract_sale_generation
Lets contracts generate sales orders instead of invoices on their recurring schedule, with an option to confirm those orders automatically. Users can also see how many sales orders a contract has produced and open them from the contract form.
- Contract Invoicing of Pending Sales OrdersOdoo 12, 15, 17, 18contract_sale_invoicing
Lets you add pending sales orders to a recurring contract invoice when they share the same analytic account, either merged into the contract invoice or as separate invoices.
- Contract Sale MandateOdoo 12, 18contract_sale_mandate
When a sale order with a banking mandate is turned into a contract, the mandate is automatically carried over to the contract.
- Contract Sale Payment ModeOdoo 12, 18contract_sale_payment_mode
Lets you choose a different payment mode for contracts generated from sale orders than the one used for invoices, controlled by a company-level setting.
- contract_sale_transmit_method
When a contract is created from a sale order, the transmit method chosen on the sale order (email, post, portal, etc.) is automatically copied to the contract.