Product Variant BOMs in Odoo Manufacturing#
When a product comes in multiple variants (sizes, colors, configurations), each variant may require slightly different components. Odoo's variant BOM feature avoids creating a separate BOM for every combination - instead, you define one BOM with conditional component lines.
Product Attributes and Variants#
Product → Attributes & Variants tab:
- Color: Red, Blue, Black
- Size: Small, Medium, Large
- Power: 100W, 200W
Odoo generates a matrix of variants: Red-Small-100W, Red-Small-200W, Blue-Medium-100W, etc.
One BOM for Multiple Variants#
Manufacturing → Bills of Materials → New:
- Product: Widget (the product template, not a specific variant)
- Apply on Variants: all (or select specific variants)
Components tab:
- Red Paint: 100ml → Apply on Variants: Color = Red
- Blue Paint: 100ml → Apply on Variants: Color = Blue
- Small Housing: 1 pc → Apply on Variants: Size = Small
- Medium Housing: 1 pc → Apply on Variants: Size = Medium
- Large Housing: 1 pc → Apply on Variants: Size = Large
- 100W Motor: 1 pc → Apply on Variants: Power = 100W
- 200W Motor: 1 pc → Apply on Variants: Power = 200W
- Base Frame: 1 pc → (no variant filter - applies to all variants)
How Odoo Uses Variant BOMs#
When a manufacturing order is created for Widget (Blue-Large-200W):
- Odoo selects the BOM for Widget
- Filters components: includes Blue Paint, Large Housing, 200W Motor, Base Frame
- Excludes: Red Paint, Small Housing, Medium Housing, 100W Motor
One BOM manages all combinations - any component change (e.g., new motor supplier) is updated once and applies to all relevant variants.
Routing Differences by Variant#
Operations can also be variant-conditional:
BOM → Operations tab → [Operation] → Apply on Variants:
- "Special Coating" operation → only for Color = Red
- "High-Power Testing" operation → only for Power = 200W
BOM Version Control#
When a component changes:
- Archive the old BOM line (don't delete - preserves history)
- Add new line with the replacement component
- Tag the change date in the chatter
MOs created before the change use the old components; new MOs use the updated BOM.
Validating Variant BOMs#
Create a test MO for each major variant combination:
Manufacturing → Orders → New MO → select Widget Blue-Large-200W → review exploded components:
- Verify correct paint, housing, and motor are listed
- Verify shared components (Base Frame) are present
- No unexpected components from other variant lines

