Purchase - Product variants
This module allows you to create the product variant when a purchase order is confirmed. It adds to the purchase line a product configurator, so that selecting a product and its attributes can be created a new product variant.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you configure product variants directly on purchase order lines and automatically creates the missing variant when the order is confirmed.
This module brings the product configurator into purchase orders. On a purchase order line you can pick a product template and its attributes, and Odoo will create the matching product variant when needed.
- A new setting "Create variants on confirm" appears in Purchase settings. When enabled (default), the product field on purchase order lines is no longer mandatory, so you can leave it empty and let Odoo create the variant at confirmation.
- On the purchase order form, the order lines are shown in an editable list and a detailed form. The form shows the product template, attribute values, and a button to create the variant if it does not exist yet.
- When you confirm a purchase order, any line that has a product template but no product will automatically create the missing variant before the order is processed.
- The module also updates existing purchase order lines so they keep their product template information.
- It touches the purchase order, purchase order line, product, product supplier info, company, and settings models.
- A technical constraint ensures that accountable lines have the required product information, while non-accountable lines (like sections or notes) cannot have product data.
- The purchase order copy function is adjusted so that copied lines without a product still get a planned date based on the supplier and quantity.
Depends on
Required by other modules
Models and fields (5)
- res.company · extends an existing modelpo_confirm_create_variant (Create variants on confirm)
- purchase.order · extends an existing model
- purchase.order.line · new modelproduct_id, product_uom_id, product_id_is_required
- res.config.settings · extends an existing modelpo_confirm_create_variant
- product.supplierinfo · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/product-variant.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0- Go to
Purchase > Configuration > Settings. - Check the "Create variants on confirm" option if you want to delay the creation of them until the order confirmation.
Usage
Source · Odoo 19.0- Go to a purchase order or create a new one.
- Create a new line
- Set in Product Template some product with attributes and variants.
- All product attributes will be displayed in table mode just below.
- Set a value for all attributes.
- A product variant (with the selected options) will be auto-set.
Only if the "Create variants on confirm" option in the configuration is set.
- Go to
Purchase > Products > Productand create a new one. - Go to the "Attributes & Variants" tab.
- Set in "Variant creation" the option "Do not create them automatically".
- Set some attribute and value(s)
- Go to a purchase order or create a new one.
- Create a new line
- Set in Product Template the one created before and select values for attributes.
- Confirm orden.
- A product variant (with the selected options) will have been created for the Product Template.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.