Requirements for an E-commerce System that Plays Well With Your POS

One of the most cost effective ways for a Brick and Mortar retail operation to expand is through the addition of e-commerce. This is a market that is continually growing, changing and expanding and is well worth consideration.

The key to a successful expansion into the world of e-commerce is that your e-commerce and POS / Warehouse Management system play well together. In most cases, this means that both your POS and e-commerce systems need to look at the items in your warehouse in the same way — at a SKU level — however, the e-commerce system must take the extra step of being able to group SKUs together into what I typically refer to as a product family. A product family is a collection of related SKUs. It is the “unit” that is displayed on your site’s sell page.

In most retailers the POS (and warehouse management) systems drive purchasing, inventory, pricing and other critical functions. These systems are “the truth” when it comes to inventory, sales reporting, customers and other critical information. The e-commerce system becomes a satellite to these legacy systems that must interface with the data they provide and work within the constraints of how they shape and use data.

Even if an “on-line only” operation later opens a retail location, working at the SKU level is critical in a Bricks and Mortar environment.

These POS and warehouse management systems are SKU driven. They track pricing and provide reporting at the SKU level. Typically, stock is ordered for a store at a SKU level, inventory is kept at a SKU level and items are priced at a SKU level. Reporting and data loading via (import / export) is also done at a SKU level.

The following is a summary of functions that your e-commerce system should provide as it relates to a SKU-driven inventory.

For the purposes of this document, a SKU is defined as the lowest individual unit of an item that can be sold. For example, an X-Large, Blue, Dress Shirt assigned a SKU of 1234 or an Large, Blue Dress Shirt (same item, different size) assigned a SKU of 5678.

For and e-commerce system to be able to truly work at the SKU level, the software needs to :

  • Allow a well defined hierarchy of data where one or more SKUs are associated to a parent, parents are collected to one or more categories, categories are collected to one or more departments and departments are collected to a store. Note that in most retail establishments it is not practical to define and maintain a one SKU to one parent association where the parent_id and SKU are identical. This is because a reasonable size store can end up dealing with 5 – 10K SKUs  due to the wide variety of colors and sizes.
  • Define options (e.g. size, color, width) for a parent level item. Each permutation of an item with its options is a SKU.
  • Assign a unique identifier to each SKU. This is typically the same identifier that in in your POS system and is the key to linking data between your POS/Warehouse system and the e-commerce side of the world.
  • Keep a set of attributes about an individual SKU. At a minimum SKU data should consist of cost, price and weight.
  • Provide a simple and consistent way to manage and report on a set of merchandise that consists of both items without options  and items with multiple options (e.g. size and color).
  • Track inventory, upload inventory and export inventory both at the SKU level and at the parent level. The reported inventory of the parent level always equals the sum or inventory for each of its children (each SKU).
  • Download and upload SKU level information (e.g pricing, inventory, cost, weight) along with applicable parent information through a Web service.
  • Set prices, import pricing and export pricing at the SKU level. This means that an X-Large Blue Shirt can have a different price than a Large Blue Shirt or a Large Red Shirt. This provides the capability to truly price at a SKU level and to put individual items on sale (e.g. dealing with an overstock of 3X, blue shirts by reducing the price on this SKU only).
  • Provide a consistent display of SKU information and product descriptions on receipts and pick tickets and other documents.
  • Report (export) and allow Web Service API access to items in orders by SKU — not by parent_id. This makes it possible to import orders into a POS system. Provide an XML output with all information associated with a SKU (e.g. parent_id, cost, inventory, weight, price). Allow uploading of this information as well. Use of a bi-directional Web service allows for periodic, unattended synchronization of the POS and 3D systems.
  • Associate an image to an individual SKU. Allow the sell page to display these images as alternate images to the main image.
  • Manage “stock-out” conditions on the sell page at the SKU level (e.g. prevent display and ordering or allow backordering of a X-Large Blue shirt if there is no inventory of that SKU available).