All posts
Functional5 min read

Configuring Product Attributes and Variants in Odoo Inventory

Set up Odoo product attributes to create configurable products - managing variants for size, color, material, and configuration without creating separate product records for each combination.

Product Attributes and Variants in Odoo#

A T-shirt comes in 3 sizes and 5 colors - that's 15 combinations. Creating 15 separate product records wastes time and fragments analytics. Odoo product attributes generate all variants from a single product template, sharing information that's common and differentiating only what varies.

Setting Up Attributes#

Inventory → Configuration → Attributes → New:

  • Size: XS, S, M, L, XL, XXL
  • Color: Red, Blue, Black, White, Green
  • Material: Cotton, Polyester, Blend
  • Power: 100W, 200W, 300W

Each attribute value can have:

  • Extra Price: color "Custom Print" adds $5 to the base price
  • Excluded Values: some combinations are not available (XL only in Black and White)

Applying Attributes to a Product#

Inventory → Products → [Product Template] → Attributes & Variants tab → Add a Line:

  • Attribute: Color → Values: Red, Blue, Black
  • Attribute: Size → Values: S, M, L

Odoo generates: 3 colors × 3 sizes = 9 variants automatically.

Click Variants button to see all generated combinations. Deactivate specific variants that you don't produce (e.g., Red-XL is not available).

Per-Variant Pricing#

Variants tab → [Variant] → Edit:

  • Base price: $25.00 (from product template)
  • Color = Custom Print: +$5 (extra price on the attribute value)
  • Size = XL: +$2 (extra for larger size)
  • Result: Custom Print XL = $32.00

Per-Variant Inventory Tracking#

Each variant has its own stock:

  • Red-S: 150 units
  • Red-M: 200 units
  • Blue-L: 75 units

Inventory moves are recorded per variant - picking, receiving, and reporting all show the specific color/size.

Variant on Sale Orders#

Salesperson selects "T-Shirt" → a dropdown appears: choose Color and Size → correct variant and price auto-populate.

On eCommerce: customer selects attributes from dropdowns → variant-specific price and availability shown in real time.

Attribute-Based Reorder Rules#

Create reorder rules per variant:

  • Red-S: reorder when below 50 units, order 200
  • Blue-XL: reorder when below 20 units, order 50

Each variant can have different safety stock levels based on its demand pattern.

Reporting on Variant Performance#

Sales → Reporting → Sales Analysis → group by Product Variant:

  • Which color/size combination sells most?
  • Which variants are slow-moving (candidates for clearance)?
  • Variant mix analysis: are high-margin variants growing?

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free