OCA/product-attribute
OCA community repository with 206 Odoo modules confirmed in the OdooWiki catalogue (versions 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0). Reviewed on 2026-11-03.
Open on GitHubConfirmed modules per version
Modules in the repository
- Product Documentation SetsOdoo 12product_documentation_set
Create reusable sets of product documents and attach them to products or product categories, filtered by purpose, country and language. These sets can then be looked up for a product, for example to send to customers with quotations or sales orders.
- Products - Drained WeightOdoo 15, 18, 19product_drained_weight
Adds a 'Drained Weight' field to products, so you can record the weight of a product without its fluid. The drained weight can never be higher than the net weight.
- Product End-Of-Life DateOdoo 12product_end_of_life
Set an End-of-Life date on products and stop them from being selected on purchase orders once that date has passed. A scheduled job warns a discussion channel when products are nearing their end-of-life date.
- Product English NameOdoo 16product_english_name
Shows the English product name next to the product name in the user's own language on the product form, so translation mistakes are easy to spot.
- Product EPRELOdoo 14, 18product_eprel
Connect Odoo products to the European EPREL database to fetch energy labels and product fiches. Users set an API key, link product categories to EPREL categories, and retrieve registration numbers and energy class data.
- Product Equivalent CategoryOdoo 12product_equivalent_category
Lets you group products into 'equivalent categories' so that products in the same group are treated as interchangeable. You can create these categories and assign them to products from the product form or list.
- Product ExceptionOdoo 13product_exception
Define rules that check your products and flag those that are wrongly configured, such as a selling price below cost. You can see the exceptions on the product form, ignore them, or run a daily check.
- Product Expiry ConfigurableOdoo 13, 14, 16product_expiry_configurable
Set expiry, use, removal and alert delays on product categories so they flow down to products and lots, and get automatic activities when lots pass those dates.
- Product firmware versionOdoo 12product_firmware_version
Adds a "Firmware Version" text field to product forms, so you can record the latest, official or tested firmware version of an electronic product.
- Product Form PricelistOdoo 14, 17, 18product_form_pricelist
Lets you add and edit fixed price rules for a product directly from its product form, and optionally hide the standard Sales Price field when you only use fixed prices.
- Product Get Price HelperOdoo 16, 18product_get_price_helper
Adds a technical helper on products that calculates a product's unit price from a pricelist, fiscal position, company and date, including tax handling and discount information.
- Product IngredientsOdoo 15, 16, 18product_ingredient
Lets you record the ingredients and allergens of a product, and automatically copies that information onto each stock lot of the product. An Ingredients tab appears on products and lots.
- Product Internal Reference GeneratorOdoo 14, 16product_internal_reference_generator
Automatically generates internal references for products and their variants using configurable sequences, and makes the reference read-only once set. Managers can define reference templates and generate prefixes from the product form.
- Product Is BulkOdoo 16product_is_bulk
Adds an "Is Bulk" checkbox to products and product variants, automatically ticked when the product's unit of measure is a weight or a volume.
- Compute product sales price from a pricelistOdoo 16, 18product_list_price_from_pricelist
Lets you set a pricelist as the source for product sales prices, then automatically updates each product's sales price when that pricelist changes or on demand.
- Product List Pricelist PriceOdoo 13product_list_pricelist_price
Adds a "Pricelist Prices" menu under Sales > Products where you can see, in one list, the sales price of every product or product variant for each pricelist you choose to display.
- Product logistics UoMOdoo 12, 14, 15, 16, 17, 18, 19product_logistics_uom
Lets you choose a specific unit of measure for each product's weight and volume, instead of being limited to kilograms/pounds and cubic meters. You can set default units in Settings and see a warning when a value is too small for the chosen unit.
- 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, 18product_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, 18product_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, 20product_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 MedicalOdoo 13, 14, 18product_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 viewerOdoo 12, 14product_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, 19product_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 CodeOdoo 17product_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.
- Multiple Images in ProductsOdoo 14, 15, 16product_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, 18product_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, 19product_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, 15product_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, 19product_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 Packaging ArchiveOdoo 18product_packaging_archive
Lets you archive product packagings instead of deleting them, and filter the list to see archived ones.
- Product packaging calculatorOdoo 18product_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, 18product_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 LevelOdoo 16, 17, 18product_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 salableOdoo 16, 17, 18product_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, 15product_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 PalletOdoo 13, 14product_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 RequiredOdoo 12, 13, 14product_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 CalculatorOdoo 13, 14, 18product_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 AlternativeOdoo 16, 18, 19product_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, 18product_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 BoxOdoo 13, 14product_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 Per ContactOdoo 13, 15, 17, 18product_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, 18product_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 GroupOdoo 13, 14, 15, 16, 18product_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 Print Website SaleOdoo 13, 15, 16, 18product_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)Odoo 16, 18product_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 RangeOdoo 15, 18product_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 RateOdoo 16, 17, 18product_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, 19product_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.
- Pricelist Rule UoMOdoo 16, 19product_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.