OdooWiki OCA HUB

Migrating from Odoo 18 to Odoo 19: which OCA modules are available

Of the 3,110 OCA modules confirmed in Odoo 18.0, 1,272 (41 %) are also confirmed in Odoo 19.0. The other 1,838 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, 258 modules are in Odoo 19.0 without being in 18.0.

3,110
in Odoo 18
1,272
also in Odoo 19
1,838
pending in Odoo 19
41 %
already migrated

See also

Odoo 18 modules not yet confirmed in Odoo 19

  • Analytic BrandOdoo 12, 13, 14, 15, 16, 17, 18
    analytic_brand

    Lets you add a Brand to analytic distribution models, so that invoices or sales orders linked to that brand automatically pick the right analytic account.

  • analytic_hr_department_restriction

    Restrict which analytic plans and analytic accounts each user can see, based on the HR departments linked to them. Users only see plans/accounts tied to their own department (or, optionally, those with no department).

  • Link analytic items and partnerOdoo 12, 13, 14, 15, 16, 17, 18
    analytic_partner

    Adds an 'Other Partner' field to analytic items so you can search and group analytic entries by partner, and automatically fills it from the invoice's commercial partner when invoices are validated.

  • AnimalOdoo 12, 14, 15, 16, 17, 18
    animal

    Store and manage animal records with species, breed, color, gender, weight, birth date and photo. Includes pre-loaded species, breeds and colors, plus a Manager group for configuration.

  • AnnouncementOdoo 13, 15, 16, 17, 18
    announcement

    Create internal announcements that pop up for targeted Odoo users, with rich content, attachments, tags and a read log showing who has read them.

  • API LogOdoo 16, 17, 18
    api_log

    Stores API requests, responses and errors in the database so they can be reviewed in Odoo. Users with the API Log Access group can browse, search and filter these logs from a dedicated menu.

  • API Log notificationOdoo 16, 17, 18
    api_log_mail

    When an API request fails and an exception is logged, this module can automatically create an activity and/or send an email so the right people are notified.

  • attachment_delete_restrict

    Control who is allowed to delete attachments in Odoo. Set a global rule, or a specific rule per document type, so only the creator, admins, or chosen users and groups can remove files.

  • Preview attachmentsOdoo 12, 13, 14, 15, 18
    attachment_preview

    Preview PDF and LibreOffice attachments directly inside Odoo without downloading them. A preview button appears on attachments and binary fields, opening a side panel or a new tab.

  • Attachment QueueOdoo 12, 14, 16, 17, 18
    attachment_queue

    Adds an attachment queue that processes files in the background, with status tracking, manual run/reschedule buttons, and failure email notifications.

  • attachment_queue_email

    Automatically turn email attachments received by an incoming mail server into Attachment Queue files, based on rules you define (sender, recipient, subject, file extension).

  • Attachment SynchronizeOdoo 12, 14, 16, 18
    attachment_synchronize

    Create scheduled tasks that automatically import files from an external storage backend into Odoo attachments, or export Odoo attachments back to that backend, with options to rename, move, delete or skip duplicates.

  • auth_admin_passkey

    Lets a system administrator log in as any user by entering a special passkey password defined in the Odoo configuration file, and optionally notifies the user and the administrator by email.

  • Auth API key server environmentOdoo 14, 15, 16, 17, 18
    auth_api_key_server_env

    Lets you store API keys in the server configuration file instead of the database, so each environment (test, production) uses its own keys and they are not mixed when restoring a database.

  • Auth JWTOdoo 13, 14, 16, 17, 18
    auth_jwt

    Lets Odoo accept JWT bearer tokens (or a secure cookie) as a login method for API/web routes, configured through JWT Validator records. Administrators define validators that check token signature, audience and issuer, then map the token to an Odoo user.

  • Auth JWT TestOdoo 13, 14, 16, 18
    auth_jwt_demo

    Demo/test module that adds sample web endpoints to try out JWT authentication in Odoo, returning the logged-in user's name and email as JSON.

  • auth_oauth_filter_by_domain

    Lets you restrict each OAuth login provider to specific web domains, so only the providers that match the domain the user is visiting are shown on the login page.

  • auth_oauth_login_field

    When users sign up or log in through an OAuth provider, this module uses the login value returned by the provider instead of the email address, so accounts can have a login that differs from the email.

  • Auth Oidc EnvironmentOdoo 14, 16, 18
    auth_oidc_environment

    Lets administrators keep the OIDC/OpenID Connect client ID and client secret in server environment files instead of typing them in Odoo, so authentication settings can be managed outside the database.

  • Partner AuthOdoo 16, 18
    auth_partner

    This module lets you manage external partner accounts that can log in through authentication directories, with email validation, password reset, invitations and impersonation. It adds a Partner Authentication menu where you configure directories and see the…

  • Auth SAML environementOdoo 14, 15, 18
    auth_saml_environment

    Lets administrators configure SAML single sign-on settings (identity provider metadata, certificates, entity ID) from server environment configuration files instead of typing them in Odoo, and adds file-path fields for the SAML certificates.

  • Verify email at signupOdoo 12, 13, 14, 15, 16, 17, 18
    auth_signup_verify_email

    New users signing up from the public page no longer choose a password: they only enter an email address, which is validated, and they set their password later from the activation email.

  • auth_totp_enforce

    Forces internal users to set up an authenticator app (two-factor authentication) before they can access Odoo. Users who are not exempt are held on a setup page at login until they scan a QR code and enter a valid 6-digit code.

  • Automation OcaOdoo 16, 17, 18
    automation_oca

    Lets users build multi-step automations on any chatter-enabled model: send emails, create activities or run server actions, chained by triggers such as mail opened, clicked, replied or activity finished. Each run is tracked per record with graphs and click…

  • autovacuum_message_attachment

    Create rules that automatically delete old mail messages and attachments after a chosen number of days, to keep the database small. Rules are managed from the Email menu and run by two daily scheduled jobs.

  • barcode_camera

    Adds a floating camera button to the Barcode app so operators can scan barcodes with the device camera instead of a hardware scanner, and the scanned code is handled exactly like a normal scan.

  • barcode_gs1

    Lets the Barcode app understand GS1 barcodes (GS1-128, DataMatrix, QR, DataBar) and turn them into product, lot, serial, dates, quantities, weights, prices and locations, using the GS1 rules configured in Odoo Settings.

  • barcode_gs1_stock

    When a GS1 barcode label states both a piece count and a weight or volume, this module makes the measure the picked quantity if the product is stocked in that kind of unit, so the warehouse records the right amount.

  • barcode_purchase

    Lets warehouse staff create and confirm purchase orders from the Odoo barcode scanner app: pick a vendor, destination and buyer, scan products (with lot/serial and quantity from GS1 labels), then save a draft or confirm the order to raise the receipt.

  • barcode_scanner

    Adds a full-screen "Scanner" application to Odoo that captures barcodes from handheld scanners and keyboard-wedge devices, shows what was read, and gives other modules a framework to build scanning screens on top of.

  • barcode_scrap

    Lets warehouse operators scrap damaged or lost goods directly from the Barcode scanner app: pick the source location, scan products, set quantities and reasons, and the stock is written off immediately.

  • barcode_stock

    Adds a barcode-driven warehouse screen to Odoo for receipts, deliveries and internal transfers, letting operators scan products, lots and locations to pick, validate and transfer stock quickly.

  • barcode_stock_partner_delivery_zone

    Adds the customer's delivery zone to the warehouse barcode app: operations can be grouped and filtered by zone, the zone is shown on each operation card, and the operator can change it from the operation's Information tab.

  • barcode_stock_quality

    Lets warehouse operators run a reception's quality control inspections directly from the Barcode app, answering each check and attaching a photo when a check fails.

  • base_business_document_import_phone

    When importing business documents (such as supplier invoices or orders), Odoo can now find the right partner by matching the phone or mobile number written on the document, instead of relying only on names or VAT numbers.

  • Conditional ImagesOdoo 12, 14, 15, 16, 18
    base_conditional_image

    Lets administrators define reusable images that are automatically shown on records based on conditions, avoiding duplicate image storage. A new "Conditional Images" menu appears under Settings > Technical.

  • Base Currency ISO 4217Odoo 12, 13, 14, 15, 16, 17, 18
    base_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_custom_filter

    Lets administrators define reusable custom filters, group-by options and search fields that appear inside the standard Filters and Group By dropdowns of any Odoo model, optionally restricted to specific user groups.

  • base_dns_infrastructure

    Store and organise DNS domain zones and their DNS records directly in Odoo, with owners, renewal dates, record types and automatic validation of record values.

  • base_export_anonymize

    Marks specific fields to be replaced with a masked value when users in the "Anonymize data in export" group export records, so sensitive data never leaves Odoo in spreadsheets.

  • External Database Source - MSSQLOdoo 12, 13, 15, 16, 18
    base_external_dbsource_mssql

    Adds Microsoft SQL Server as a connectable external database type in Odoo, so users can configure MSSQL connections and run SQL queries against them from the External Database Sources screen.

  • External Database Source - MySQLOdoo 12, 13, 15, 16, 17, 18
    base_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, 18
    base_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 External SystemOdoo 12, 13, 15, 16, 18
    base_external_system

    Lets administrators register connections to external systems (host, port, credentials, keys) and test them from Odoo. It is a technical foundation other modules use to talk to remote servers.

  • Base Factur-XOdoo 12, 13, 14, 15, 16, 17, 18
    base_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_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, 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.

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

  • base_group_subcontractor

    Adds a new "Subcontractor" user type in Odoo that can log into the backend but only sees the Discuss menu, with minimal permissions for the web client to work.

  • base_ical

    Lets administrators publish read-only calendar feeds (.ics URLs) from any Odoo model, and lets users subscribe to those calendars from their profile.

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

  • base_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_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, 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.

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

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

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

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

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.