Migrating from Odoo 18 to Odoo 19: which OCA modules are available
Of the 3,112 OCA modules confirmed in Odoo 18.0, 1,272 (41 %) are also confirmed in Odoo 19.0. The other 1,840 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, 260 modules are in Odoo 19.0 without being in 18.0.
- 3,112
- in Odoo 18
- 1,272
- also in Odoo 19
- 1,840
- pending in Odoo 19
- 41 %
- already migrated
See also
Odoo 18 modules not yet confirmed in Odoo 19
- 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.
- Contract Service DatesOdoo 18contract_service_dates
Adds Service Start Date and Service End Date fields to contract lines, so you can record the real service period separately from the billing dates. The service dates follow the contract line dates automatically unless you change them by hand.
- Contract Transmit MethodOdoo 12, 18contract_transmit_method
Lets you choose how each contract should be sent (email, post, portal, etc.) and automatically copies that choice onto the invoices generated from the contract.
- Contract Variable Qty TimesheetOdoo 12, 13, 15, 16, 17, 18contract_variable_qty_timesheet
Adds three new quantity formulas to recurring contracts so that invoice lines can be automatically filled with hours logged in Timesheets (analytic lines) for the matching period.
- Country FrOdoo 18country_fr
Sets the country of the main company to France when installed, so that the French localisation can be applied automatically by the accounting module.
- CRM Claim TypesOdoo 12, 13, 14, 15, 16, 17, 18crm_claim_type
Classify CRM claims by type (Customer, Supplier, Other) and configure which claim stages apply to each type. The claim type becomes a required field on every claim.
- CRM Date Deadline RequiredOdoo 16, 18crm_date_deadline_required
Makes the Deadline field mandatory on opportunities in CRM. When a record is an opportunity, users cannot save it without filling in the deadline date.
- Firstname and Lastname in LeadsOdoo 12, 13, 14, 15, 16, 17, 18crm_lead_firstname
Split the contact name on CRM leads into separate First name and Last name fields, and carry those names over when a lead is converted into a contact.
- CRM Lead ProductOdoo 12, 13, 16, 17, 18crm_lead_product
Add product lines to leads and opportunities in CRM, with expected and probability-weighted revenue per product, plus a Pipeline by product report with pivot, graph and list views.
- Crm Lost Reason Multi CompanyOdoo 12, 16, 18crm_lost_reason_multi_company
Adds a Company field to CRM lost reasons so each company can keep its own list. Users only see and can pick lost reasons belonging to their allowed companies.
- Membership data in CRMOdoo 18crm_membership
Shows the linked contact's membership status and period directly on CRM leads and opportunities, and adds membership filters and grouping to the CRM search view.
- CRM Partner CapitalOdoo 18crm_partner_capital
Adds company financial profile fields (capital, turnover range, company size) to CRM leads and opportunities, and shows them in forms, lists and filters.
- crm_partner_employee_quantity
Adds employee quantity information to CRM leads and opportunities, so salespeople can see how big a prospect's workforce is and group records by company size range.
- CRM Partner RequiredOdoo 16, 18crm_partner_required
Makes the customer (partner) field mandatory on CRM opportunities. Users can no longer save or quick-create an opportunity without selecting a customer, while leads stay unchanged.
- Phonecall plannerOdoo 12, 13, 15, 17, 18crm_phonecall_planner
Plan and automatically generate a schedule of phone calls for your partners based on their ideal call times, call duration, and date range. The planner creates the calls in bulk and shows them in a list, calendar, or form view.
- Crm Phonecall ResultOdoo 18crm_phonecall_result
Lets you record the outcome of each CRM phone call (for example Positive, Negative, Wrong number) and then filter, group and analyse calls by that result.
- Crm Salesperson PlannerOdoo 13, 15, 16, 17, 18crm_salesperson_planner
Plan and track salesperson visits to customers from CRM. Create recurring visit templates that automatically generate visits and all-day calendar events, and link each visit to the opportunities to be discussed.
- CRM Only Security GroupsOdoo 13, 14, 15, 16, 18crm_security_group
Adds four CRM-only security levels (Own, Team, All, Administrator) so you can give users access to CRM without giving them Sales access. It hides sales-related buttons, menus and dashboard figures from users who only have CRM rights.
- Crm Sign OcaOdoo 18crm_sign_oca
Link the Sign app with CRM so signature requests can be created from opportunities and tracked directly on the CRM record.
- Crm Stage MailOdoo 16, 18crm_stage_mail
Lets you attach an email template to each CRM stage, so an email is automatically sent to the customer when a lead or opportunity reaches that stage.
- Crm Stage Multi CompanyOdoo 12, 16, 18crm_stage_multi_company
Lets each CRM stage belong to a specific company, so stages can be kept separate between companies. Users only see and use the stages of the companies they have access to.
- CRM stage multiple teamsOdoo 16, 18crm_stage_multi_team
This module lets a CRM stage be shared by several sales teams instead of just one. Users can assign multiple teams to a stage, and leads only see stages that belong to their team or to no team.
- Crm Tag Multi CompanyOdoo 16, 17, 18crm_tag_multi_company
Adds a Company field to CRM tags so each tag belongs to a specific company. Users only see tags from their allowed companies (plus shared tags with no company), keeping CRM leads organised per company.
- Crm Team ParentOdoo 12, 18crm_team_parent
Lets you organise sales teams into a hierarchy by assigning each team a parent team, and shows the child teams on the team form.
- CRM won reasonOdoo 15, 18crm_won_reason
Lets salespeople record why an opportunity was won, just like lost reasons. A new 'Won' button opens a small pop-up where a win reason is chosen before the opportunity is marked as won.
- Cross Connect ClientOdoo 16, 18cross_connect_client
Lets administrators register other Odoo servers and give selected user groups a menu shortcut that logs them straight into that remote server, without creating a local account there.
- Cross Connect ServerOdoo 16, 18cross_connect_server
Lets other Odoo databases (running the Cross Connect Client module) connect to this database and log their users in automatically, without creating separate passwords. Administrators configure which clients and user groups are allowed.
- CrowdfundingOdoo 14, 18crowdfunding
Turn Odoo into a crowdfunding platform: publish funding challenges on your website, collect pledges through online payments, and pay the vendor who delivers the work, with an automatic commission fee.
- Crowdfunding (demo data)Odoo 14, 18crowdfunding_demo
Installs demo data so the Crowdfunding module is ready to use on test/demo databases. It removes default taxes from the crowdfunding product and from the main company, and pulls in demo and custom payment providers.
- Crowdfunding: Public pledgesOdoo 14, 18crowdfunding_public_pledge
Lets donors choose to publish their crowdfunding pledge on the challenge's website page, and shows paid public pledges under the challenge description.
- Crowdfunding ScheduleOdoo 18crowdfunding_schedule
Lets you set a start and end date/time on a crowdfunding challenge so pledges are only accepted during that window, with countdown timers and status messages shown on the public challenge page.
- Currency Old Rate NotifyOdoo 14, 16, 18currency_old_rate_notify
Warns accounting managers when currency exchange rates in Odoo are older than a set number of days, so converted amounts stay reliable. The warning appears as a pop-up notification and the threshold is configurable in Accounting settings.
- Currency Rate Update - BNROdoo 13, 14, 15, 16, 17, 18currency_rate_update_RO_BNR
Adds the National Bank of Romania (BNR) as a currency rate provider in Odoo, so users can automatically download and update exchange rates from BNR.
- Currency Rate Update - BOTOdoo 15, 16, 17, 18currency_rate_update_TH_BOT
Adds the Bank of Thailand (BOT) as an exchange rate provider in Odoo, so companies using THB can automatically download daily BOT rates and update their currencies.
- Currency Rate Provider BCVOdoo 18currency_rate_update_bcv
Adds a BCV (Banco Central de Venezuela) provider to the currency rate update tool, so Odoo can fetch today's official USD, EUR, CNY, TRY and RUB rates from the BCV website and store them as rates against the Venezuelan bolívar.
- Currency Rate Update: XE.comOdoo 12, 14, 15, 16, 17, 18currency_rate_update_xe
Adds XE.com as an exchange rate provider so Odoo can automatically fetch daily and historical currency rates from the XE.com website and store them as currency rates.
- Encryption dataOdoo 12, 14, 16, 17, 18data_encryption
This module stores sensitive data such as passwords and credentials in encrypted form, separated by environment (for example production or pre-production). It is a technical building block: it has no menu of its own and is meant to be used by other modules.
- Database Autovacuum TuningOdoo 18database_autovacuum_tuning
Automatically tunes PostgreSQL autovacuum settings on busy tables and keeps a log of what was changed. Administrators set the thresholds in Odoo settings; a daily job applies them.
- Database SizeOdoo 18database_size
Track how much disk space each Odoo model uses and compare growth over time. A daily scheduled job records the sizes, and administrators can review them under Database Size.
- Datev Export XMLOdoo 13, 14, 15, 16, 17, 18datev_export_xml
Export customer invoices and vendor bills/refunds from Odoo into DATEV XML files (zipped together with the invoice PDFs) so they can be uploaded to DATEV Unternehmen Online. Exported invoices are flagged and can be filtered or re-exported.
- DDMRP PackagingOdoo 13, 14, 15, 18ddmrp_packaging
Lets you tie a packaging (e.g. a box of 12) to a DDMRP buffer and to procurement requests, so replenishment quantities are automatically rounded to full packages.
- ddmrp_packaging_product_replace
Glue module that prevents the packaging of the old product from being copied onto the new stock buffer when using the DDMRP product replacement wizard, avoiding a validation error.
- Default Multi UserOdoo 12, 13, 14, 15, 18default_multi_user
Lets you share a user-defined default value with several users or whole user groups, instead of it applying to only one person.
- Delivery Carrier CityOdoo 14, 18delivery_carrier_city
Lets you restrict a delivery method to specific cities, so the carrier is only offered to customers whose address city matches the selected ones.
- Delivery Carrier ImageOdoo 18delivery_carrier_image
Lets you add a logo or picture to each delivery carrier in Odoo, so the carrier is easier to recognise on its form.
- Default label for carrier labelsOdoo 12, 18delivery_carrier_label_default
Adds a generic "Shipping Label" PDF report on transfers that prints the recipient's address when no specific carrier label is available.
- Delivery Carrier Manual WeightOdoo 16, 17, 18delivery_carrier_manual_weight
Lets you tick "Manual Weights" on a shipping method so that, on transfers using that carrier, you can type the weight and the shipping weight by hand instead of letting Odoo calculate them.
- delivery_carrier_max_quantity
Lets you set a maximum order quantity on each delivery carrier, so that carrier is automatically hidden when the total quantity of the order goes over that limit.
- Constrain package maximum weightOdoo 16, 18delivery_carrier_max_weight_constraint
Adds a company-wide setting to forbid overweight packages and blocks the package selection wizard when the shipping weight exceeds the maximum weight allowed by the chosen package type.
- Delivery Method PricelistOdoo 13, 14, 18delivery_carrier_pricelist
Adds a new delivery method type, "Based on Product Pricelist", that prices shipping from the delivery product's price in the sales order's pricelist, and a "Delivery Product Price" invoicing option that replaces a real carrier's cost with that pricelist price.
- delivery_carrier_report_to_printer
Lets you choose a label report on a delivery carrier and automatically print the shipping labels to a configured printer right after the carrier generates them.
- delivery_carrier_shipping_label
Stores carrier shipping labels as a dedicated document type linked to transfers, so labels can be told apart from other attachments. When a carrier returns labels, they are automatically attached to the corresponding transfer.
- delivery_carrier_shipping_policy
Lets you set a default shipping policy on each delivery method, so sales orders automatically use it when that carrier is selected.
- Delivery Carrier WarehouseOdoo 13, 14, 15, 16, 18delivery_carrier_warehouse
Lets you set a default delivery method on each warehouse. When a customer has no default carrier, the shipping wizard on a sales order pre-fills the warehouse's delivery method.
- Delivery DachserOdoo 16, 18delivery_dachser
Adds Dachser as a delivery carrier in Odoo, so you can get shipping quotes, send shipments, print labels and track parcels directly from sales orders and deliveries.
- delivery_date_exclude_service
Adds an "Affect Delivery Date" checkbox on service products so you can decide whether a service line pushes the sales order delivery date or is ignored in the calculation.
- Delivery Drop-off SitesOdoo 16, 18delivery_dropoff_site
Lets you define drop-off sites where customers pick up their parcels, link them to delivery carriers, and choose the site as the delivery address on a sales order while keeping the real recipient separate.
- Easypost Shipping OCAOdoo 17, 18delivery_easypost_oca
Connect Odoo to the EasyPost shipping service so you can get live rates from many carriers, buy labels and track parcels directly from sales orders and delivery orders.
- Delivery Estimated Package Quantity By WeightOdoo 16, 17, 18delivery_estimated_package_quantity_by_weight
Adds a maximum weight per package on delivery carriers and shows, on outgoing transfers, how many packages are needed versus how many were actually packed, warning you when you use too many.
- Delivery FeeOdoo 18delivery_fee
Adds an extra delivery fee to sales orders when a delivery is completed, using a fee product configured on the delivery carrier. Fees can be returned when goods come back, and can be limited to once per order or per customer per day.