Product Variants and Optional Products in Odoo Sales
Very few businesses sell a single, fixed product. You have sizes, colours, options and add-ons. Managed badly, that becomes a sprawling, unmanageable product list. Odoo handles it cleanly with variants and optional products. Here is how.
Product variants: one product, many versions
A variant is a version of a product that differs by an attribute: size, colour, material, capacity. In Odoo, you define the product once, list its attributes and the values each can take, and Odoo generates the variants for you.
A t-shirt in three sizes and four colours is one product with twelve variants, not twelve separate products. That keeps your catalogue tidy while still letting you track stock, price and sales for each specific variant. When a customer orders “large, navy,” Odoo knows exactly which variant that is.
Pricing variants
Variants can carry price differences where they need to. A larger size or a premium material can add to the base price, so the customer sees the right total automatically. You set the rule once rather than maintaining a dozen near-identical products by hand.
Optional products: the gentle upsell
Optional products are suggested extras offered alongside the main item. When a customer is buying a laptop, you might offer a carry case, an extended warranty or a mouse.
In Odoo, these optional products can appear on the quotation as suggestions the customer can add with a click. It is a natural, low-pressure way to increase the value of an order, and it mirrors how good salespeople already work: “would you like anything to go with that?”
Why this matters
Together, variants and optional products let you offer real choice and upsells without drowning in product records. Your catalogue stays clean, your stock stays accurate per variant, and your quotations become an opportunity to sell a little more, all without extra manual effort.
Practical tips
- Model genuine attributes as variants, rather than creating separate products for each combination.
- Use variant pricing for real differences, like size or material, not for everything.
- Offer a few relevant optional products, not a long list that overwhelms.
- Keep attributes consistent across similar products so your catalogue stays logical.
My take
Variants and optional products are how Odoo lets you sell the way real businesses actually sell: with choice and sensible extras. Set attributes up thoughtfully and offer relevant add-ons, and you get a clean catalogue, accurate stock, and quotations that quietly lift your average order value.
Next in the series: getting pricing right with pricelists and discounts.
Based on the official Odoo 19 Sales documentation. A plain-English guide, not a replacement for the docs.