OdooWiki OCA HUB

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

Of the 3,113 OCA modules confirmed in Odoo 18.0, 1,272 (41 %) are also confirmed in Odoo 19.0. The other 1,841 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,113
in Odoo 18
1,272
also in Odoo 19
1,841
pending in Odoo 19
41 %
already migrated

See also

Odoo 18 modules not yet confirmed in Odoo 19

  • product_pricelist_discount_by_range

    Adds a "By range" discount option to pricelist rules, so you can set different discount percentages for different price intervals instead of one single discount.

  • product_pricelist_fixed_currency_rate

    Lets you lock a fixed exchange rate on a pricelist rule that is based on another pricelist in a different currency, so prices are always converted with your chosen rate instead of the live Odoo rate.

  • product_pricelist_margin

    Shows the product cost and the resulting margin (amount and percentage) directly on pricelist rules, so you can see profitability while setting prices.

  • product_pricelist_product_price_history

    Automatically records every change to a fixed price in a product pricelist, showing the old price, new price, who changed it and when. Managers can review the history and print product labels from the history list.

  • product_print_category

    Lets you group products into print categories with their own label layout, and automatically flags products as 'To print' when their label-relevant data changes. You can then print price tags for one product, a selection, or a whole category.

  • Product Template LinkOdoo 16, 17, 18
    product_product_template_link

    Adds a "View Template" button on the product variant form that opens the related product template record.

  • Product ProfileOdoo 12, 14, 15, 16, 17, 18
    product_profile

    Lets you configure a product with a single 'Profile' choice instead of filling in many fields by hand. Profiles define the values that get copied onto products, and updating a profile can refresh the products that use it.

  • Product Readonly SecurityOdoo 13, 14, 17, 18
    product_readonly_security

    Adds a new 'Product edition' permission that controls who can create, modify or delete products and product variants. Users without this permission can still view products but cannot change them.

  • product_replenishment_cost

    Adds a "Replenishment cost" field to product variants, showing what it would cost to buy or produce the product again. By default it simply copies the product's Cost Price.

  • Product Restricted TypeOdoo 12, 13, 14, 15, 16, 17, 18
    product_restricted_type

    Lets you set a "Restricted Product Type" on a product category so that only products of that type can be assigned to it, and automatically filters the category choices on the product form.

  • Product Route MtoOdoo 14, 16, 17, 18
    product_route_mto

    Adds an automatic 'MTO' flag on products that have at least one Make To Order route, so you can see and filter which products are made to order.

  • Product Route ProfileOdoo 14, 15, 16, 17, 18
    product_route_profile

    This module lets you group warehouse routes into reusable "route profiles" and assign them to products, so you can set a product's delivery/receiving flows in one click instead of picking routes one by one.

  • product_route_profile_internal_resupply

    Lets you assign dedicated internal resupply routes to individual products, separate from the shared route profile, so a product can be replenished from a specific warehouse without affecting other products.

  • product_sale_manufactured_for

    Mark products as manufactured for specific customers, and when filling a sale order only products made for that customer (or generic products) can be selected.

  • product_set_sell_only_by_packaging

    When a product can only be sold by packaging, this module warns you if product set lines for that product have no packaging, and a scheduled job automatically assigns the first valid packaging to those lines.

  • product_simple_seasonality

    Lets you create a list of seasons (seasonalities) and tag products and packagings with the seasons they belong to, so teams can see at a glance which products are meant for which season.

  • Product weekly sales hintOdoo 13, 15, 16, 18
    product_sold_by_delivery_week

    Shows a small weekly sales history for each product, so salespeople can see at a glance in which of the last weeks a product was actually sold and delivered to customers.

  • product_standard_margin_security

    Restricts who can see product margin information in Odoo. Only users with the product cost permission group can view the standard margin, margin rate, markup rate and VAT-excluded price fields.

  • product_state_active

    Lets you mark a product state so that products automatically get archived or un-archived when they reach that state, and prevents a state from doing both at once.

  • product_state_stock_base

    Adds the Product States configuration screen to the Inventory settings area and gives Inventory managers the rights to manage product states.

  • Product StickerOdoo 15, 16, 18
    product_sticker

    This module lets you create reusable stickers (images with an optional caption) and attach them to product categories, product attributes or attribute values. It is a base module: it stores and organises stickers, and other modules can use them on reports.

  • Product Stock StateOdoo 12, 13, 14, 15, 16, 18
    product_stock_state

    Adds a computed stock state (In Stock, In Limited Stock, Resupplying, Out Of Stock) to products, based on a configurable threshold set at company, category or product level.

  • product_supplierinfo_disable_autocreation

    Adds a checkbox in Purchase settings to control whether supplier price lists are created automatically when a purchase order is confirmed. When unchecked, Odoo stops adding new supplier price lines from purchase orders.

  • product_supplierinfo_import

    Import vendor price lists from Excel (.xlsx) files into Odoo supplier pricelists, matching products by a chosen field and optionally creating missing products.

  • product_supplierinfo_import_margin

    Adds a sale margin field to the supplier pricelist import wizard, so imported vendor prices automatically carry the margin you set.

  • product_supplierinfo_incoterm

    Adds an Incoterm field to vendor pricelists (supplier info lines), automatically filled from the vendor's default purchase incoterm but editable per line.

  • product_supplierinfo_purchase_contact

    Adds a 'Purchase contact' field to supplier price lists (supplier info), so you can record a specific contact person at the vendor. When Odoo automatically creates a purchase order from replenishment rules, it uses that contact as the order's vendor contact.

  • product_supplierinfo_qty_multiplier

    Lets you set a minimum purchase multiple per supplier on each product, and automatically rounds purchase order quantities up to that multiple with a warning.

  • product_supplierinfo_stock_picking_type

    Lets you link a specific operation type (like Receipts) to each vendor line of a product, so that vendor prices and lead times only apply to purchase orders using that operation type.

  • product_supplierinfo_update_price

    Adds a refresh button on purchase order lines that updates the vendor price stored on the product with the price entered on the order. It can also create a new vendor price record if none exists for that supplier.

  • product_tag_view

    Shows product tags on the General Information tab of product forms, so tags can be viewed and edited even for products that are not marked as sellable.

  • product_tags_code

    Adds a unique code field to product tags, automatically generated from the tag name. Users can view and edit this code on the product tag form and list views.

  • product_tier_validation

    Adds an approval workflow to products: new products stay archived until an internal user approves them. Approvers can accept or reject products directly from the product list.

  • product_total_weight_from_packaging

    Adds a way to estimate the total weight of any quantity of a product by using the weights defined on its packagings, falling back to the product's own weight when no packaging weight is set.

  • product_variant_change_attribute_value

    Lets you change or remove attribute values on several product variants at once from the product list. When a value is no longer used by any variant, it is also removed from the product template configuration.

  • product_variant_configurator_manual_creation

    Lets you create product variants on demand: when a product template is set to not create variants automatically, a "Create Pending Variants" button appears and opens a wizard where you pick attribute values and generate the missing variants.

  • product_variant_route_mto

    Lets you turn Make To Order on or off for a single product variant, even when the main product is not set to Make To Order. It adds a "Variant is MTO" checkbox on the variant edit screen.

  • Project BudgetOdoo 12, 13, 18
    project_budget

    Lets you link an OCA account budget to a project and see its budget lines directly on the project form, without needing full accounting access.

  • project_crm_postsale_automation

    Automatically create recurring post-sale CRM opportunities from projects. Set a follow-up rhythm on a project and Odoo generates the leads for you, with the right salesperson, customer, name and tags.

  • project_multi_department

    Lets you tag projects with one or more HR departments, and automatically gives employees access to projects and tasks of their own department (and its sub-departments).

  • project_no_portal

    Adds a per-company switch in Settings > Project that blocks portal users from reading a company's projects and tasks, prevents setting portal visibility, and disables the Share Project / Share Task actions.

  • Project with Operating UnitsOdoo 12, 14, 15, 16, 17, 18
    project_operating_unit

    Adds an Operating Unit to projects and tasks, so each project belongs to a business unit and users only see projects and tasks from their allowed operating units.

  • project_portal_properties

    Lets you choose which task properties are visible to customers in the project portal, and shows those properties on the task pages and task cards that portal users see.

  • project_portal_task_visibility

    Portal users only see project tasks they follow, instead of every task in a portal-visible project. When a new task is created, everyone following the project automatically follows it too.

  • Project Purchase LinkOdoo 12, 13, 14, 16, 17, 18
    project_purchase_link

    Adds purchase and purchase invoice smart buttons to the project form, showing counts and totals of purchase order lines and vendor bill lines linked to the project's analytic account.

  • Project ReviewerOdoo 16, 18
    project_reviewer

    Lets you assign one or more reviewers to a project task, see them on the task form and kanban card, and filter tasks to find the ones you have to review.

  • Project RolesOdoo 12, 13, 14, 15, 16, 17, 18
    project_role

    Define project roles and assign users to them, either company-wide or per project. Odoo blocks duplicate or conflicting assignments and can restrict which roles a user may take.

  • project_share

    Adds a 'readonly' option when sharing a project with collaborators, so some collaborators can only view tasks (kanban, list, form) without editing, creating or dragging them.

  • project_stage_last_update_date

    Adds a read-only field to projects that records the date and time the project stage was last changed. The value is set automatically whenever a project's stage is updated.

  • project_stakeholder

    Lets you record who is involved in a project, with a role and notes, and see on a contact form in which projects that person is a stakeholder.

  • Project StatusOdoo 12, 13, 14, 15, 16, 17, 18
    project_status

    Adds a configurable project status (e.g. Pending, In Progress, Complete) to projects, shown as a clickable status bar on the project form and used to group and filter projects.

  • project_sub_manager

    Adds a "Sub Managers" field to projects so you can list extra responsible users besides the main project manager, and search or group projects by them.

  • Project Task Add Very HighOdoo 12, 13, 14, 15, 16, 17, 18
    project_task_add_very_high

    Adds two extra priority levels to project tasks: 'Very High' and 'Most Important'. Tasks can now be rated with up to three stars on the task form, in Kanban and in the customer portal.

  • project_task_assign_to_me

    Adds an "Assign to Me" button on the project task form so a user can add themselves as an assignee of a task with one click.

  • project_task_code_portal

    This module lets customers open and search project tasks in the portal using the task's custom code instead of its internal number, and shows a copyable portal link on the task form.

  • project_task_create_date

    Adds the creation date to the task list view in the Project app, so users can see when each task was created.

  • project_task_description_portal

    Lets you write a separate description for a task that only portal (customer) users see, instead of the internal task description.

  • Project Task MaterialOdoo 12, 13, 14, 15, 16, 17, 18
    project_task_material

    Record the products and quantities used on a project task, directly from the task form. It is a simple log only: no stock or accounting entries are created.

  • project_task_parent_completion_blocking

    Blocks closing a project task while it still has open subtasks, so parents can only be marked done once all their children are finished.

  • project_task_recurring_activity

    Add recurring activities to recurring project tasks so that scheduled activities are automatically created on each new occurrence of the task.

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.