Managing Product Attributes, Options, and Variants

This post is long overdue. In the past five years, we’ve had hundreds of conversations with customers, partners and within our team on the subject of product attributes, options and variations. In fact, it’s so complex an issue that it’s the topic of a stand-alone training session for every new team member that joins Webgility.

I’ve been procrastinating writing this post for a while now but a curious email from a customer this morning about synching attributes finally got my fingers rolling on the keyboard.

Before you read further, I recommend grabbing a cup of your favorite beverage because this could take a little time. I wish it didn’t but then again, I wouldn’t be writing about it if it were simple.

Some definitions

  1. Product attributes – it’s a characteristic of a product like color, size, type, etc.
  2. Product options – these are the values associated with an attribute. So “blue” or “black” would be options for an attribute like color. Or “small”, “medium” could be options for an attribute like size.
  3. Variant – a product that has attributes and each option of that attribute is represented with a different identifier or SKU. So if you have a “small blue shirt” and a “large black shirt” that have different SKUs, each of these shirts is a variant.
  4. Parent item – typically the “shirt” in the examples above would be the parent item. You can’t really sell a shirt by itself and it doesn’t have option values or stock….it’s simply the parent item that helps structure the variants.
  5. Child item – each combination of option values for a parent item produces a child item. So, “small blue shirt” and “large black shirt” are child items of a Parent item “shirt” which has attributes called size and color.
  6. Stock or Inventory – the number of items you have available for a particular product

Sample variant product: Let’s define a sample variant product, its attributes and values:

  • Item Name – sample shirt
  • Item SKU – shirt
  • Attributes – size and color
  • Option values for size – small, medium & large
  • Option values for color – blue, black & red
  • Variant SKUs (assuming I have this type of a naming convention for SKUs)
    • shirt-small-blue
    • shirt-small-black
    • shirt-small-red
    • shirt-medium-blue
    • shirt-medium-black
    • shirt-medium-red
    • shirt-large-blue
    • shirt-large-black
    • shirt-large-red
  • Inventory – 10 of each of these variants in stock

>> Therefore, we have a total of 9 variant products.

What’s the big deal?

The basic concept of product options and variants seems simple. The complexity arises not from semantics but from the lack of standardization of how these are handled by various eCommerce platforms and accounting systems. So let’s take a look at a few variations (pardon the pun) of how these are managed:

1. QuickBooks Financial software – Out of the box, QuickBooks does not support product attributes. You could use “Custom Fields” to define product attributes but they are just fields, they don’t provide a relationship between parent and child items or connect a set of variant products. QuickBooks Pro/Premier supports up to 5 custom fields while Enterprise edition supports up to 15. QuickBooks uses simple lists to represent a collection of items and it uses 1 field as the unique identifier for a product: Item Name/Number. It does not have separate fields for SKU and Name. You CAN establish a parent-child relationship between products by creating “sub-items” but there are no standard ways to organize items having multiple attributes. Consequently, customers can use a number of interesting ways to represent product variations, for example:

  • Each variant as a separate item with a standardized name
    Amazon product sync, BigCommerce product sync, E-commerce, eCC, eCommerceConnector, Inventory Management, Magento product sync, Product managment, QuickBooks integration, QuickBooks POS integration, Shopping cart platform, X-Cart product sync
  • Each variant as a separate item using 2 custom fields with/without any naming convention
    Amazon product sync, BigCommerce product sync, E-commerce, eCC, eCommerceConnector, Inventory Management, Magento product sync, Product managment, QuickBooks integration, QuickBooks POS integration, Shopping cart platform, X-Cart product sync
  • A parent item with each variant as a sub-item
    Amazon product sync, BigCommerce product sync, E-commerce, eCC, eCommerceConnector, Inventory Management, Magento product sync, Product managment, QuickBooks integration, QuickBooks POS integration, Shopping cart platform, X-Cart product sync
  • A parent item with a tree of attributes. The sub-sub-items are the variants
    Amazon product sync, BigCommerce product sync, E-commerce, eCC, eCommerceConnector, Inventory Management, Magento product sync, Product managment, QuickBooks integration, QuickBooks POS integration, Shopping cart platform, X-Cart product sync

>> What this means is: depending on how you’ve organized your catalog, you could have 9 products in QuickBooks, or 10, or even 13 to represent the same set of actual 9 variant shirts that you have available for sale.

Start a free trial