Go to Bottom

Options, Attributes and Sub-SKUs


This topic discusses the subject of product attributes, options and the purpose of sub-SKUs as they relate to the Order Manager's inventory tracking system. Let's start by defining some terms.

A parent SKU is an inventory record that represents the basic product, such as a shirt. The abbreviation, SKU, stands for Stock Keeping Unit. An example of a parent SKU might be 12345.

An attribute represents the different characteristics of the same product, such as the size or color of a shirt. Attributes may also be referred to as variants.

An option is one of the possible choices for a given attribute, such as Small, Medium, Large or Red, Blue, and Green. Shopping carts allow the customer to select product options by means of a radio button, check box or drop-down list at the Web site. That information is passed to the Order Manager when orders are imported from the shopping cart, however, there is no standard format that is used by all shopping carts.

A sub-SKU is a term used by the Order Manager which refers to a unique identifier that represents the combination of product and attributes ordered by the customer. An example of a sub-SKU might be 12345-XL-Blue to represent an extra large blue T-Shirt.

A delimiter is a character that separates the parent SKU information from the product option information. A commonly used delimiter is a dash (-).

Sub-SKUs are necessary for the Order Manager to track the quantity on hand of a particular product at the option level. Tracking inventory at the option level is more efficient than tracking inventory at the item, or product level, because it tells the merchant what specific sizes and colors of a product are currently in-stock and which ones need to be replenished. For instance, it is more helpful to know that there are only 2 small, blue short-sleeve T-shirts in stock, rather than to know there are 5 T-shirts in stock. The Order Manager is also able to synchronize inventory counts with certain shopping cart systems, however, all of those shopping cart systems are not necessarily able to track inventory at the attribute/option level. Check the Shopping Cart Matrix for more information about your cart type.

Some shopping carts provide product order information already in the form of a sub-SKU, while others provide the product and attribute information as separate values. In the latter case, the Order Manager can generate, or "build" sub-SKUs inventory records for some or all of a merchant's products. Refer to Knowledge Base topic, Building Sub-SKUs, for more information.

When orders are imported, product attribute and option information is "translated" or "mapped" to the correct sub-SKU record in Order Manager.  The manner in which product option information is displayed in an order can be controlled by the user.


Preparing to Build Sub-SKUs in the Order Manager

The Order Manager contains a number of system parameters that must be set before sub-SKUs can be built.

Set system parameter

din affect control the manner in which sub-SKUs are constructed.   

When the Order Manager builds sub-SKUs, it starts with the parent SKU and appends either the entire option code(s) or a portion thereof, based on the information provided by the shopping cart system and the settings of the system parameters.

For example, if the shopping cart provides the name or label of an attribute in the order information provided to the Order Manager, it might look something like this:

"Size=XL:Extra Large"

Refer to the Using Product Options with a _________ Shopping Cart, Knowledge Base topics for information about the specific cart.  

Most shopping cart systems let you have "options" or "attributes" such as color, size, style, etc. for your products. Those options usually appear to your customers as drop-down lists from which they can select the options that they want. The shopping cart then reports what item was sold, and which options or attributes were selected.


If you are using the Order Manager to track your inventory, and you sell clothing for example, it doesn't help you to know that you sold a shirt unless you also know what size and color your customer ordered. Similarly, when it comes time to re-order your inventory, you need to know exactly which colors, sizes, etc. you have in stock and which need to be ordered.


To solve those problems, the Order Manager can be configured to convert each SKU that is ordered with options into a different SKU that is for the specific item that was ordered. We call the original SKU the "parent SKU" and the final SKU the "sub SKU". For example, if your customer orders SKU 001 in green and medium, the sub SKU would become something like "001-green-medium". Or the options can be coded to result in shorter sub SKUs, resulting in something like "001-gr-m". The sub SKUs are used in the final order in the Order Manager and are also used for all inventory tracking purposes within the program. In some cases they can even be used with real-time inventory tracking systems with AbleCommerce and Yahoo!Store shopping carts. The Order Manager also includes tools to help manage your options and sub SKUs.


Note: Although different shopping cart systems use different terms for these lists (Order Options, Order Attributes, etc.) generally we refer to them as Options or Product Options.


How Product Options Work


There are several parts to the Product Option puzzle. It is important to understand these concepts, although some of them may not apply to your shopping cart.


Parent SKU: The main SKU or product that your customer sees in your Web store.


SKU Delimiter: Also known as "Web Delimiter". When the Order Manager builds sub SKUs, it can either use the entire option or a selected part of the option. (With some shopping carts, including Miva Merchant, AbleCommerce and Americart, you can also use a separate code for each option to build your sub SKUs.) If you just want to use the beginning part of the option in the sub SKU, the SKU Delimiter is the text that separates the portion to be used in the sub SKU from the rest of the option. 


Example with option name and colon ( : ) for SKU delimiter: "Size=XL:Extra Large". Only the letters "XL" will be added to the parent SKU.


Example without option name and with "dash" for SKU delimiter: "CB005-Cotton Blend". Only the "CB005" will be added to the parent SKU.


Name Delimiter: For shopping carts that return the name of each option along with the selected option, such as "Color:Blue" or "Size=Medium". The Name Delimiter is the text that appears between the name and the selected option (":" or "=" in the examples).


Option Delimiter: For Americart and other shopping carts that combine the item name with its order options in a single field, this is the text that appears between the item name and the first option, and again between each additional option. Example: if the shopping cart returns "ABC001 option:green option:small" the Option Delimiter would be "option:".


Price Delimiter: If your order options include an amount that the options add to or subtract from the base price of the product, this is the text that separates the rest of the option from the price. Examples; price delimiter is a dollar sign: "Size=XL:Extra Large; $5.00" or "Chrome Finish; $35.00".


Sub SKU Delimiter: Also known as "Local Delimiter". This is the text that the program inserts between the Parent SKU and the SKU portion of each Order Option. Example: "ABC001-XL-BLK" (the sub SKU Delimiter is a "-")


The Ordering of Attributes when SubSKUs are Built by the Order Manager

Ordering of the SubSKUs is dependent on the “Local Sort Order” of the Option Lists (Attributes) in the Order Manager’s Inventory.


Many of the shopping carts we support do not maintain or provide sort order of the Attributes. Therefore, we adhere to the following rule set when building SubSKUs:


  1. The import system looks for the Parent SKU in the Inventory. If it is found AND it has a list of attributes, the system attempts to match the attributes by name. Should all attributes have a match, the build is then sorted based on the Order field in the OptionLists table (local sort order).

  2. The import system looks for the Parent SKU in the Inventory. If it is found AND it has a list of attributes, the system attempts to match the attributes by name. Should any of the attributes NOT have a match, the build is then sorted alphabetically by attribute name.

  3. The import system looks for the Parent SKU in the Inventory. If it is found AND it does NOT have a list of attributes,  the build is then sorted alphabetically by attribute name.

  4. The import system looks for the Parent SKU in the Inventory. If the parent SKU is NOT found then the order in which the attributes are provided in the incoming data is honored.


Created: 1/20/12

Updated: 7/18/12

Go to Top