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, 18analytic_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, 18analytic_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, 18animal
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, 18announcement
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, 18api_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, 18api_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.
- Restrict Deletion of AttachmentsOdoo 12, 14, 16, 18attachment_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, 18attachment_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, 18attachment_queue
Adds an attachment queue that processes files in the background, with status tracking, manual run/reschedule buttons, and failure email notifications.
- Attachment Queue EmailOdoo 18attachment_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, 18attachment_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.
- Authentification - System Administrator PasskeyOdoo 12, 14, 15, 16, 17, 18auth_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, 18auth_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, 18auth_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, 18auth_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.
- OAuth Filter by DomainOdoo 16, 18auth_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 FieldOdoo 18auth_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, 18auth_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, 18auth_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, 18auth_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, 18auth_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, 18automation_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 Mail Message and AttachmentOdoo 12, 13, 14, 16, 18autovacuum_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 CameraOdoo 18barcode_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 GS1Odoo 18barcode_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 StockOdoo 18barcode_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 PurchaseOdoo 18barcode_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 ScannerOdoo 18barcode_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 ScrapOdoo 18barcode_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 StockOdoo 18barcode_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 QualityOdoo 18barcode_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 PhoneOdoo 12, 14, 16, 18base_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, 18base_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, 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.
- Add custom filters in standard filters and group by dropdownsOdoo 13, 14, 15, 16, 18base_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 module for DNS infrastructureOdoo 16, 18base_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 AnonymizeOdoo 18base_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, 18base_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, 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 External SystemOdoo 12, 13, 15, 16, 18base_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, 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 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.
- 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.
- Extra user typeOdoo 18base_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.
- Readonly publishing of calendarsOdoo 15, 18base_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, 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.
- 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.
- 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.
- 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.
- 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.