We have a lead for production, where each item model has many optional properties, not only color and size, but also a list of extra accessories, besides each item has it own custom unique label. So a model (design/style) has some required (fixed) properties and a bunch of optional properties, essencially, each sales order row must have a different recepy (BOM), even though it is the same model number.