Product2 records and the product variation data model
Key Takeaway
ProductClass is read-only, so you control it indirectly: setting Type to Base makes a variation parent, and inserting a ProductAttribute record on a product makes it a variation.
In B2B Commerce, every catalog product is a Product2 record, and a ProductClass field tells you what kind of product it is. Variations let you sell one base product, such as a tee shirt, in different sizes and colors. Each combination gets its own SKU. ProductAttribute records connect each variation to its variation parent and hold that variation's attribute values.
Product2 records
Product2 represents a product your company sells. The Name field, labeled "Product Name", is required. The StockKeepingUnit field holds the SKU. You can use the SKU together with ProductCode or instead of it.
A distributor resells a cordless drill. ProductCode tracks the manufacturer's code, DR-200. The SKU is the code the distributor assigns for resale, DIST-4471.