OdooWiki OCA HUB

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_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_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, 18
    contract_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 18
    country_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, 18
    crm_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_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, 18
    crm_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, 18
    crm_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_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.

  • crm_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_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_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, 18
    crm_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_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, 18
    crm_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, 18
    crm_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_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, 18
    crm_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_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_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, 18
    crm_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, 18
    crm_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, 18
    crm_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_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_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, 18
    crowdfunding

    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

    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_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_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_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, 18
    currency_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, 18
    currency_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_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, 18
    currency_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, 18
    data_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_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_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, 18
    datev_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, 18
    ddmrp_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, 18
    default_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_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_image

    Lets you add a logo or picture to each delivery carrier in Odoo, so the carrier is easier to recognise on its form.

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

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

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

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.