Version 7.1
Contents of this Topic: Show
Sub-SKUs are used to track inventory based on product attributes, or options. A sub-SKU is normally comprised of a Parent SKU , a delimiter, and the option , or options, in which the product is offered.
For example, a merchant sells numerous types of T-shirts on their Website. The T-shirt product itself is identified by a Parent SKU of 1234. Any option that the customer can select , such as color or size, is added to the Parent SKU. The Parent SKU and various options are separated by a delimiter, typically a dash (-). This produces a unique SKU, e.g. 1234-Red-Large.
Do not use a "space" or "blank" as a delimiter. It is best to use a printable character such as an underscore, dollar sign or colon, etc.
If your shopping cart supports order options, you can import your inventory with the options defined at the cart and create the appropriate sub-SKUs in the Order Manager. When orders are imported, the program translates the web SKU with order options into the corresponding sub-SKU, making it easier to process orders and track inventory more accurately.
Depending on the method by which sub-SKUs are built, the program uses the UseForBuild field differently.
If sub-SKUs are created through the order and product import processes, the program automatically sets the UseForBuild field in the OptionLists table to TRUE (the box is checked) when there is no web delimiter information (WebOptionCodeDelimiter, AddToSubSKUIfNoCodeDelimiter) in the XML. This field is displayed at the Attributes & Options tab of the Inventory interface. You can control whether the program uses the option information in those lists when building sub-SKUs with system parameter HonorUseForBuildForOrderImport.
If sub-SKUs are created manually through the Attributes & Options tab of the Inventory interface or through the batch process, the UseForBuild field is only evaluated and applied if system parameters UseModStopInventoryTrk or UseVikingCodersInventoryMgr = TRUE. These applications provided inventory tracking capability at the sub-SKU level before Miva Merchant introduced their native support. System parameter HonorUseForBuildForOrderImport does not apply in these situations.
Backup your data file before building sub-SKUs. If you are not satisfied with the way they are built, it is easier to restore your backup then to delete all of the newly created sub-SKUs.
All inventory items must be present and identical in both the shopping cart and OMS .
After you create sub-SKUs, they become unique inventory records.
After you create sub-SKUs, the System Parameters used to create them must remain unchanged in order for the Parent SKU to be replaced by the sub-SKU on incoming orders.
Most of the parameters mentioned below are in the Order Options parameter group. HonorUseForBuildOnOrderImport is in the Order parameter group.
Go to Main Menu>Settings>System Functions>Set System Parameters.
Set the following parameters as needed to match your business process:
BuildSubSKUs – If TRUE, the program checks imported orders for products marked "Parent SKU" in the Inventory table which include order options (product options). The program uses the Parent SKU, the SKU Delimiter and the order options to build a sub-SKU, and then replaces the Parent SKU in the order with the sub-SKU. The QOH of the sub-SKU is tracked by the program and can also be sent to shopping carts which support real-time inventory tracking at the attribute level.
BuildSubSKUDelimiter – the character OMS uses between attributes when creating sub-SKUs
Example: where "-" is the Delimiter (without quotes)
Parent SKU 1234ABC with options XL and Black results in sub-SKU 1234ABC-XL-Black
WebOptionCodeDelimiter – the program takes the value to the left of this delimiter and adds it to the sub-SKU, ignoring what is to the right of the delimiter
Example: the web options might be XL:Extra Large, L:Large, Fast:Add(+$20), Slow:Add(+$10), where ":" is the web option code delimiter.
Parent SKU 1234ABC with options XL and Regular Shipping results in the sub-SKU 1234ABC-XL-Slow
WebOptionPriceDelimiter – this parameter designates the character which separates the base price of the item from its price modifier in the order option (for Yahoo, the price delimiter is "(+ ", without quotes)
Example: the web options might be XL:Extra Large, L:Large, Fast:Add(+$20), Slow:Add(+$10), where "(+" is the web option price delimiter.
Parent SKU 1234ABC with options XL and Regular Shipping results in the sub-SKU 1234ABC-XL-Slow, price = [regular price] + $10
WebOptionNameDelimiter – this parameter designates the character which separates the name of the option from the option value
Example: Size = Large
"Size" it the name of the option, "=" is the WebOptionNameDelimiter, and the value of the option is "Large"
AddToSubSKUIfNoCodeDelimiter
If this parameter is set to FALSE and the order option information in the XML does not contain the WebOptionCodeDelimiter (or no WebOptionCodeDelimiter defined in the program) and BuildSubSKUs is TRUE, the value of the option is not added to the sub-SKU when it is built. The option value is added to the option fields seen at Process Orders (or as separate line item s if OptionDestination is set to "line items"). This is to accommodate shopping carts that have Text fields (or areas) where customers can enter their option details. A WebOptionCodeDelimiter cannot be added to these option values and most users would not want customer text added to the SKU.
If this parameter is set to TRUE and if a selected order option information in the XML does not contain the WebOptionCodeDelimiter (or no WebOptionCodeDelimiter defined in the program) and BuildSubSKUs is TRUE, the option's entire value is added to the sub-SKU when it is built.
HonorUseForBuildOnOrderImport
if the imported XML does not contain web delimiter information (WebOptionCodeDelimiter, with or without AddToSubSKUIfNoCodeDelimiter), the program sets the UseForBuild field in the OptionLists table to TRUE
if this parameter is set to FALSE, all option lists and all option values where Don't Use = FALSE are added to the sub-SKU when it is built
if this parameter is set to TRUE, only the option lists where UseForBuild = TRUE and option values where Don't Use = FALSE are used to create sub-SKUs
The simplest way to create sub-SKUs is to base them on all of the options available for an individual product. This method uses the all of the option text to build a sub-SKU.
Set these system parameters to the following values:
AddToSubSKUIfNoCodeDelimiter = TRUE
BuildSubSKUDelimiter = - (dash)
BuildSubSKUs = TRUE
Example:
Item Name= Tshirt SKU=1234
Options:
Color: Blue, Red, White
Size: Large, Medium, Small
The resulting sub-SKUs would be:
1234-Red-Large
1234-Red-Medium
1234-Red-Small
1234-White-Large
1234-White-Medium
1234-White-Small
1234-Blue-Large
1234-Blue-Medium
1234-Blue-Small
Another way to create sub-SKUs is to use a WebOptionCodeDelimiter. A WebOptionCodeDelimiter allows you to specify which Option and what part of the Option text is used to create sub-SKUs. The WebOptionCodeDelimiter can be set to a character of your choice. In the example below, it is set to use a colon (:). Anything to the left of the colon is used to build the sub-SKU.
Set these system parameters to the following values:
AddToSubSKUIfNoCodeDelimiter = FALSE
BuildSubSKUDelimiter = - (dash)
BuildSubSKUs = TRUE
WebOptionCodeDelimiter = : (colon)
Example Item:
Item Name= Tshirt SKU=1234
Options:
Color: B:Blue, R:Red, W:White
Size: L:Large, M:Medium, S:Small
The resulting sub-SKUs would be:
1234-B-L
1234-B-M
1234-B-S
1234-R-L
1234-R-M
1234-R-S
1234-W-L
1234-W-M
1234-W-S
This method of creating sub-SKUs is useful for building sub-SKUs that include both an option name and an option code.
Set these system parameters to the following values:
AddToSubSKUIfNoCodeDelimiter = TRUE
BuildSubSKUDelimiter = - (dash)
BuildSubSKUs = TRUE
WebOptionCodeDelimiter = : (colon)
Example:
Item Name= Tshirt SKU=1234
Options:
Color: Blue, Red, White
Size: L:Large, M:Medium, S:Small
The resulting sub-SKUs would be:
1234-Blue-L
1234-Blue-M
1234-Blue-S
1234-Red-L
1234-Red-M
1234-Red-S
1234-White-L
1234-White-M
1234-White-S
SKU is set to the new sub-SKU, of course.
Item Name
Reorder Point
Reorder Quantity
Description
Cost
Price
Taxable
Weight
Parent SKU
Barcode may be set to a new barcode, if system parameter AutoGenerateBarcodes=TRUE
Go to Main Menu>Manage My Inventory>View & Manage My Inventory.
Navigate to the appropriate inventory record.
Select the Attributes/Options tab.
Select Build Sub-SKUs for this Item in the Accordion.
The program prompts for confirmation before proceeding with the changes. Select OK to continue.
Inventory: Attributes and Options
Create inventory items in your shopping cart.
Import the inventory items into OMS .
Configure OMS system parameters to create sub-SKUs.
Go to Main Menu>Settings>Inventory Functions>Build Sub-SKUs.
Make the appropriate radio button selection in the right-hand pane and select Build Sub-SKUs.
Note: For Yahoo, select "All options list entries" since it does not mark SKUs as "Parent SKUs"
Build Sub-SKUs (DeleteOrphanedSubSKUs=FALSE)
Build Sub-SKUs (DeleteOrphanedSubSKUs=TRUE)
Created:
Revised: 5/7/14
Published: 04/14/16