Summary Matrix

Attribute Product Variant
Representation Abstract marketing container Specific physical or digital item option
Example Leather Jacket Leather Jacket / Brown / Size Large
Price Usually a price range (min/max) Exact selling price
Inventory Aggregate sum of child variants Exact stock count per location
SKU & Barcode Does not have its own SKU Has unique SKU and barcode/UPC
Cart & Checkout Cannot be added to cart directly Directly added to cart and purchased

Key Differences

1. Conceptual Container vs. Purchasable Unit

A Product exists to market a set of related choices under one title, URL slug, and image gallery. A Variant represents the exact selection (e.g. Size: Medium, Color: Red) chosen by a shopper.

2. Inventory & Stock Allocation

Inventory is tracked at the Variant level. Physical warehouse bins store specific sizes and colors. A Product only reports inventory as the sum total of all its child variants.

3. Pricing Logic

While many stores sell all variants at the same price, variants can have distinct pricing (e.g. Size XXL costing $2 more, or a 500GB laptop model costing $300 more than the 250GB model).

Developer Takeaway

Database Normalization: In relational database design, products and variants are connected by a 1-to-Many relationship (1 Product → N Variants). Every purchasable product has at least one variant, even if it has no options (often called a "Default Variant" or "Single Variant").