OdooWiki OCA HUB

OCA products and catalogue modules for Odoo

Attributes, variants, packs, brands and product configurators: how to organise and enrich the product catalogue in Odoo. The catalogue has 287 modules in this area, 4 of them confirmed in Odoo 20.0 (reviewed on 2026-11-03).

Confirmed modules per version

12.0
85 modules
13.0
95 modules
14.0
128 modules
15.0
73 modules
16.0
152 modules
17.0
89 modules
18.0
154 modules
19.0
77 modules
20.0
4 modules

OCA repositories in this area

Other areas

Modules in this area

  • product_logistics_uom_net_weight

    When both the logistics UoM and net weight modules are installed, this module shows and lets you edit a product's net weight directly in the product's own weight unit, instead of the system's base unit.

  • product_logistics_uom_total_weight

    Shows the total weight of the stock on hand for each product, calculated from its quantity and unit weight, in product list and kanban views.

  • Product Lot SequenceOdoo 12, 13, 14, 15, 16, 17, 18
    product_lot_sequence

    Lets you give each tracked product its own lot/serial number sequence, with a prefix, number of digits and next number, so new lots and serials are numbered automatically per product instead of using one shared sequence.

  • Product Main VendorOdoo 14, 16, 17, 18
    product_main_supplierinfo

    Shows the main vendor of each product directly on the product form and in the product list, so buyers can see at a glance who the preferred supplier is.

  • Product ManufacturerOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20
    product_manufacturer

    Adds a Manufacturer section to the product form where you can record the manufacturer (a contact), plus the manufacturer's product name, product code and product URL for each product.

  • product_matrix_show_color

    Shows the color of each product attribute value directly inside the product matrix table used when selecting variants in sales orders. This is a technical module that only changes how the matrix looks.

  • product_matrix_sticky_header

    Makes the header row of the product variant matrix stay visible while scrolling, so users can always see column labels when configuring products with many attributes.

  • Product MedicalOdoo 13, 14, 18
    product_medical

    Adds medical product information to Odoo products: a Medical flag, a Conformity tab with categories (medical class, drug category, PPE, in vitro diagnostics, notified body) and attached documents (declaration of conformity, CE certificate, validity dates).

  • product_model_viewer

    Adds a 3D model viewer to products, letting users upload a GLTF 2.0 file and view it in a new '3D' tab on the product form. Variants can have their own 3D model, falling back to the template's model.

  • Product - Many CategoriesOdoo 12, 13, 14, 16, 17, 18, 19
    product_multi_category

    Lets users assign several extra categories to a product, in addition to its single main category. The extra categories are only for classification and do not change stock, pricing or other operations.

  • product_multi_code

    Lets you store several internal references (codes) for the same product, instead of only one. The first code in the list is shown as the product's main Internal Reference.

  • product_multi_image

    Adds an image gallery to products, letting you store several pictures per product and choose which product variants each picture is shown for.

  • Product Multi PriceOdoo 12, 13, 14, 15, 16, 18
    product_multi_price

    Lets you store several extra prices on each product (for example a special purchase or reseller price) and use those prices as the base of pricelist rules, instead of only the sales price.

  • Products - Net WeightOdoo 12, 13, 14, 15, 16, 17, 18, 19
    product_net_weight

    Adds a Net Weight field to products, separate from the existing Gross Weight, so you can record the weight of the product alone without its container or packaging.

  • product_next_reception_date

    Shows the next expected reception date for each product, based on incoming stock transfers. The date appears on the product form in the Purchase section.

  • product_optional_product_quantity

    Lets you define optional products for a product together with a default quantity, and control who can see and edit those quantities through a settings option.

  • Product Order No NameOdoo 12, 13, 14, 15
    product_order_noname

    Speeds up product searches and product lists by changing how Odoo sorts products, avoiding slow translated-name sorting. Users see faster product lookups, especially in databases with several languages installed.

  • Product OriginOdoo 16, 17, 18, 19
    product_origin

    Adds a Country of Origin and Country State of Origin to products, so you can record where each product comes from and filter or group products by country.

  • Product PackOdoo 12, 13, 14, 15, 16, 17, 18, 19
    product_pack

    Lets you mark a product as a pack made of other products, with quantities, and control how its components and prices appear on sales and purchase orders.

  • product_pack_category_restriction

    Lets you mark product categories as allowed for pack products, and automatically blocks pack products from being placed in categories that are not marked as pack categories.

  • product_packaging_archive

    Lets you archive product packagings instead of deleting them, and filter the list to see archived ones.

  • product_packaging_calculator

    This module adds a helper that converts a total product quantity into a readable breakdown by packaging (pallets, boxes, units). It is a technical building block used by other modules to show or compute quantities by packaging.

  • product_packaging_calculator_packaging_level

    This glue module changes how product quantities are shown by packaging: instead of the full packaging name, it displays the packaging level code (for example "1PL, 2TU, 7CU, 10 Units").

  • product_packaging_container_deposit

    Lets you set a container deposit product on a package type, and automatically adds or updates deposit lines on sales and purchase orders based on the packaging used.

  • Product Packaging DimensionOdoo 12, 13, 14, 16, 17, 18
    product_packaging_dimension

    Store length, width, height, weight and volume on each product packaging. Volume is calculated automatically from the dimensions and shown in the packaging form.

  • product_packaging_level

    Lets you classify product packagings (retail, box, pallet, etc.) into packaging levels, with a default level, automatic packaging names, and a quantity-per-level summary shown on each packaging.

  • product_packaging_level_purchasable

    Adds a 'Can be purchased' flag to packaging levels and packagings, and blocks using a packaging on a purchase order line when it is not marked as purchasable.

  • product_packaging_level_salable

    Adds a 'Can be sold' flag on packaging levels so you can decide which packagings are allowed on sales orders. Odoo blocks or clears packagings that are not marked as sellable.

  • product_packaging_level_vendor

    Adds a "Vendor Packaging" checkbox to packaging levels, so you can flag which packaging types are specific to a vendor.

  • Product Packaging TypeOdoo 12, 13, 14, 15
    product_packaging_type

    Lets you define reusable packaging types (with a code, sequence and GTIN flag) and assign one to each product packaging, so packagings are named and ordered by type instead of by free text.

  • product_packaging_type_pallet

    Adds a 'pallet' option to packaging types and extra pallet fields (layers, packs per layer) on product packaging, so you can describe how goods are stacked on a pallet.

  • product_packaging_type_required

    Mark a packaging type as required and let Odoo automatically create the missing packaging records on products. A scheduled job fills in the gaps for storable and consumable products.

  • product_packaging_type_vendor

    Adds a "Vendor Packaging" checkbox to packaging types, so you can flag which packaging types are specific to a vendor.

  • product_packaging_unit_price_calculator

    Adds a calculator button that turns the price of a whole package into a unit price and writes it back to the product, supplier or price list line. It also shows the sale price of each packaging.

  • product_price_history

    Adds a Product Cost History menu and a Price History smart button on product forms, so users can see and analyse the recorded cost price changes of products over time.

  • product_pricelist_alternative

    Lets you attach alternative price lists to a main price list so Odoo automatically picks the cheapest price for a product. You can also mark a price rule to ignore the alternatives.

  • Product Pricelist AssortmentOdoo 13, 14, 17, 18
    product_pricelist_assortment

    Create pricelist rules automatically from product assortments. Each assortment item on a pricelist generates individual price rules for the products matching the assortment filter, and a scheduled job keeps them up to date.

  • product_pricelist_button_box

    Adds an empty button box area to the product pricelist form, giving other modules a place to add their own buttons.

  • product_pricelist_by_contact

    Lets you assign a specific pricelist directly on each contact, so that contact's own pricelist is used in the sales flow instead of only the company-level one.

  • Product Pricelist Direct PrintOdoo 12, 13, 14, 15, 16, 17, 18
    product_pricelist_direct_print

    Print or email a detailed price list for selected products, categories or customers, with options for taxes, cost price, sale price, units of measure and grouping.

  • product_pricelist_direct_print_company_group

    Extends the pricelist printing wizard so that, when printing a pricelist for a company that belongs to a company group, the products sold to all companies in that group are taken into account.

  • product_pricelist_direct_print_website_sale

    Adds website product categories to the Pricelist Print wizard, so you can filter the printed price list by public (website) categories and group or show those categories in the output.

  • product_pricelist_direct_print_xlsx

    Adds an Excel (XLSX) export button to the product pricelist print wizard, so users can download a price list as a spreadsheet instead of a PDF. It also adds an option to include internal product categories in the export.

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

  • Pricelist rules list viewOdoo 15, 16, 17, 18, 19
    product_pricelist_item_list_view

    Adds a "Pricelist Rules" menu that lists every pricelist rule in one searchable screen, so you can find a specific rule by product, variant, category or validity dates.

  • product_pricelist_item_uom

    Lets you enter the minimum quantity of a pricelist rule in the product's own unit of measure, and shows that unit next to the quantity. Odoo automatically converts it to the standard quantity used by the rule.

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

    Adds website category filtering and grouping to the Product Pricelist Print wizard, so users can print price lists limited to or grouped by the public categories used on the website.

  • 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 Pricelist RevisionOdoo 12, 13, 14, 15, 16, 17, 18, 19
    product_pricelist_revision

    Lets you version pricelist rules: duplicate selected price list items with a new start date and a percentage price change, and see the variation % versus the previous version.

  • product_pricelist_show_product_ref

    Shows the full product name, including its internal reference, on pricelist item lines, so users can identify products more easily when reviewing price lists.

  • Product Pricelist SimulationOdoo 13, 15, 16, 17, 18, 19
    product_pricelist_simulation

    Adds a 'See Price per Pricelist' button on the product form that opens a simulation window showing the unit price of the product (or each variant) in every pricelist, for a chosen quantity and date.

  • product_pricelist_simulation_margin

    Adds cost, margin and margin percentage columns to the pricelist simulation wizard, so users can preview the profitability of each pricelist before applying it.

  • Supplier info prices in sales pricelistsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    product_pricelist_supplierinfo

    Lets you build sales pricelist rules that take their price from the product's supplier prices instead of a fixed amount, with options to ignore supplier minimum quantity, supplier discount and supplier sale margin.

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

    Adds a numeric Priority field to products, defaulting to 100, so products can be ranked for use by other modules. The value is visible on the product form and in the product list.

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

    Adds a "View Template" button on the product variant form so users can jump straight to the related product template.

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

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.