🏷 ↓ Product Master (SKU File)

Download our SKU load template here.

🚧

Nothing happens until SKUs are loaded

In order for any other record to load (like outbound orders to ship, inbound receipts from the factory, etc...) items MUST be loaded in Ramp's WMS.

What is a Product Master?

A Product Master contains basic information about your product. In order to upload all other filetypes (like ASNs and Outbound Orders), RAMP must have an up-to-date Product Master. In other words, anytime you addd new items, please send RAMP an updated Product Master file. The SKU and UPC (primary key) must exactly match your ERP or system. Without an up-to-date Product master, pick tickets, inbound PO’s, RMA’s referencing those new items will error and not load into RAMP.

❗️

DO NOT CHANGE SKU's

The quickest way to slow down your supply chain is to constantly modify SKU names. SKUs should never be modified once created in WMS. Any time you create new items, please send an updated item file to Ramp. If an order is created in your ERP before the updated item file is sent to Ramp, the order will error out. The SKU + UPC in the ERP must match the SKU + UPC loaded into Ramp’s WMS.

What is a SKU?

SKU (/'skyo͞o/), pronounced "skew", is an acronym for Stock Keeping Unit. A SKU is a human readable name given to an item, similar to a person's first + last name.

A SKU is made up of a set of meaningful letters + numbers by its seller. Typically, the letters and numbers in a SKU are abbreviated attributes that distinguish one product from another product such as STYLE, COLOR, and SIZE.

📘

Who cares about SKUs/UPCs?

Your entire supply chain! Streamlining your item creation process increases your speed-to-market and strengthens your supply chain.

Quickly and intelligently assigning easy-to-understand SKUs helps:

  • Your sales force to efficiently convey information about your products to buyers (sell more)
  • Your customers to understand the important product attributes (reduce returns)
  • Your factories to improve quality control and (decrease production problems that occur due to miscommunication)
  • Your warehouse to turn product faster (increase fulfillment speed)

SKU versus UPC

The term SKU should not be confused with the term UPC code. UPC is an acronym that stands for Universal Product Code.

667

A UPC is made up of a 12-digit number. The UPC remains constant amongst multiple retailers. Once scanned, UPCs reveal information about the product. Unlike a human-readable SKU, the UPC is a standardized string of numbers and cannot be meaningfully interpreted by humans. (Image source: https://en.wikipedia.org/wiki/File:UPC_A.svg)

UPC Codes are required by most retailers and distributors. Businesses rely on this unique, universal identifier for products to track inventory and operate point-of-sale (POS) systems.

Key differences of SKU versus UPC to remember:

  • SKUs are assigned internally for internal tracking purposes vs UPCs are assigned externally by a nonprofit (like GS1) for external tracking by retailers and distributors at the point-of-sale.
  • Sellers can use any naming convention they want when creating SKUs (non-standardized), while the practice of creating UPCs is strictly standardized.
  • Various retailers might use a different SKU code for the same product vs UPC codes, which will have the same code regardless of the seller.
  • SKU codes can be alpha-numeric vs UPCs, which are only numeric.
  • SKU codes may be interpreted by humans, while UPC codes cannot.

What does a SKU look like?

Let's say that you have a pair of Steve Madden black Terraa women's shoes in size 6. Here's SKU number example for that product:

680

"Sm," the abbreviation for the manufacturer, Steve Madden, is followed by, "terraa," which is the name of the shoe. "Bk," describes the color of the shoe, black. Finally, "6" is the size of the shoe. (Source: https://www.skuvault . com/)

What is a unique SKU?

In apparel, an item's SKU is often comprised of a couple elements. The most common elements are: STYLE-COLOR-SIZE.

SKUs should be unique down to the SIZE level. For example, if you have a t-shirt style called "5YEAR" offered in red and blue colors, in sizes Small-Large, your SKUs might look something like this:

  • 5YEAR-RED-S
  • 5YEAR-RED-M
  • 5YEAR-RED-L
  • 5YEAR-BLUE-S
  • 5YEAR-BLUE-M
  • 5YEAR-BLUE-L

When do I send RAMP a Product Master?

Before you send a Product Master...
Before sending an item file to Ramp, please make sure your items have a unique SKU and unique UPC in your ERP. MAKE SURE THERE ARE NO DUPLICATE SKUS.

What info is needed in a Product Master?

There are 11 required columns to upload SKUs to RAMP:

  • sku, (no duplicates allowed)
  • style,
  • color,
  • size,
  • description (usually concatenation of style + color + size),
  • UPC / EAN, (the SKU and UPC must have a 1:1 relationship),
  • style description,
  • color description,
  • size description,
  • price,
  • fabric content,
  • country of origin

Examples

Visual Example

SKUStyleColorSizeUPCstyle descriptioncolor descriptionsize descriptionpricefabric contentcountry of origin
SUMMERTIME-BLUE-XLSummertimeGreyXL123456789123Mysterious Summer Short Sleeve TankSmoke Vinyl GreyXL420100% CottonCN

Payload Requirements

Filetype:XML filetype using a file extension called ".imxml"
Transportation method:Secure File Transfer Protocol (sFTP)
File naming convention:companycode_{DATETIMESTAMP}.imxml
Number of records (per payload):1 or more records (Items / SKUs) per file are allowed.
Maximum payload size (per payload):less than or equal to 5MB
Common values you must translate into Ramp codes:1. Hardcoding value to match Ramp's assigned client code given to you during onboarding process.
2. Country of Origin, Country Code: must use the ISO 2-alpha digit country code. View the list here: https://docs.ramplogistics.com/v1.0/docs/iso-country-code.
IMPORTANT REMINDERSREMEMBER TO CLEANSE THE DATA BEFORE SENDING TO RAMP. THIS INCLUDES THE FIELD LENGTH RESTRICTIONS. If a field's value exceeds the field limit in Ramp's WMS, the entire document could be rejected.

MAPPING FILE SAMPLE (Item_mapping.imxml)

Use the guide below to map your ERP fields to Ramp's WMS via the Item.imxml file.

❗️

Couple things to remember:

  1. the field length restrictions are critical to follow, files with fields exceeding the character restrictions are rejected.
  2. the required field values must always be populated. This issue should be addressed up front, before sending the Product Master to the warehouse to load.

Please refer to the .xsd schema for more information about field type and length restrictions, and field placement order.

<!--internal note: Please notice the order that the fields are in, while this is XML document type, the order/arrangement of the fields must match the same order below.-->
<Items>
    <!--REQUIRED: You can send multiple items within the <Items>
</Items> element. Loop through each unique SKU and give it its own <Item>
</Item> element.-->
<Item>
    <Action>Save</Action>
    <!--REQUIRED: Item Header field <Item>/<UserDef1>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 25 ALPHA-NUMERIC CHARACTERS. UPC Barcode-->
    <UserDef1>841232128670</UserDef1>
    <!--optional: Item Header field <Item>/<UserDef7>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 9 NUMERIC CHARACTERS. NRF Size-->
    <UserDef7>1</UserDef7>
    <!--optional: Item Header field <Item>/<UserDef8>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 9 NUMERIC CHARACTERS. NRF Colour-->
    <UserDef8>301</UserDef8>
    <!--REQUIRED: Item Header field <Item>/<Color>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 24 ALPHA-NUMERIC CHARACTERS. Color-->
    <Color>BLCK</Color>
    <!--REQUIRED: Item Header field <Item>/<Company>; HARDCODE TO CLIENT CODE assigned by Ramp & provided during the onboarding process. Do not send any other value other than Ramp's assigned client code.-->
    <Company>ABCD</Company>
      <!--REQUIRED: Item Header field <Item>/<CountryOfOrigin>; IMPORTANT: the country value must be an ISO 2-digit country code. View a list here: https://docs.ramplogistics.com/v1.0/docs/iso-country-code. YOU MUST LIMIT THIS FIELD TO NOT EXCEED 2 ISO DIGIT CHARACTERS-->
    <CountryOfOrigin>CN</CountryOfOrigin>
    <!--REQUIRED: YOU MUST LIMIT THIS FIELD TO NOT EXCEED 99 ALPHA-NUMERIC CHARACTERS. Description is usually a concatentation of style description + colour description + size description-->
    <Desc>Hidden Wedge Bootie Black SM</Desc>
  	<HarmCode>
      <Identifier>6109100013</Identifier>
      <RecordType>HARMONIZED</RecordType>
    </HarmCode>
    <!--REQUIRED: (PRIMARY KEY) Item Header field <Item>/<Item>; This is a critical field, the item name. The value in this field acts as the primary key in our system, connecting the item record to Shipments (Pick tickets sent via the ShipmentDownload.shxml) and Inbound Orders (POs, RAs, etc. sent via the ReceivingDownload.rcxml). DUPLICATE Item names are NOT ALLOWED. Duplicate Items will be rejected.-->
    <Item>99TIE-BLCK-S</Item>
    <ItemCategories>
        <!--optional: Item Header field <Item>/<Categories>/<Category1>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Product Type-->
        <Category1>Apparel</Category1>
        <!--optional: Item Header field <Item>/<Categories>/<Category10>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Short description-->
        <Category10>Short Description goes here</Category10>
        <!--REQUIRED: Item Header field <Item>/<Categories>/<Category2>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Style Description-->
        <Category2>Hidden Wedge Bootie</Category2>
        <!--REQUIRED: Item Header field <Item>/<Categories>/<Category3>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Colour Description-->
        <Category3>Mystery Black</Category3>
        <!--REQUIRED: Item Header field <Item>/<Categories>/<Category4>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Size Description-->
        <Category4>Small</Category4>
        <!--optional: Item Header field <Item>/<Categories>/<Category5>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Season / year-->
        <Category5/>
        <!--REQUIRED: Item Header field <Item>/<Categories>/<Category9>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 50 ALPHA-NUMERIC CHARACTERS. Fabric Content-->
        <Category9>100% Cotton</Category9>
    </ItemCategories>
  	<ListPrice>60</ListPrice>
    <NetPrice>165</NetPrice>
    <!--REQUIRED: Item Header field <Item>/<Size>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 24 ALPHA-NUMERIC CHARACTERS. Size-->
    <Size>S</Size>
    <!--REQUIRED: Item Header field <Item>/<Style>; YOU MUST LIMIT THIS FIELD TO NOT EXCEED 24 ALPHA-NUMERIC CHARACTERS. Style-->
    <Style>99TIE</Style>
    <!--+++-->
    <!--Schema Note: the <Item>
</UOMS> section below is where you will loop through FOR EACH item. Each item gets its own <UOM> element.-->
<!--+++-->
<UOMS>
    <UOM>
        <!--REQUIRED: Item Detail field <Item>/<UOMS>/<UOM>/<Action>; hardcode <Action> to 'Save'.-->
        <Action>Save</Action>
        <!--REQUIRED: Item Detail field <Item>/<UOMS>/<UOM>/<ConvQty>; hardcode <ConvQty> to '1'.-->
        <ConvQty>1</ConvQty>
        <!--REQUIRED: Item Detail field <Item>/<UOMS>/<UOM>/<QtyUm>; hardcode <QtyUm> to 'EA'.-->
        <QtyUm>EA</QtyUm>
    </UOM>
</UOMS>
<!--+++-->
<!--Schema Note: the <Item>
</XRefs> section below is where you will loop through FOR EACH item. Each item gets its own <XRefs> element.-->
<!--+++-->
<XRefs>
    <XRef>
        <!--REQUIRED: Item Detail field <Item>/<XRefs>/<XRef>/<Action>; hardcode <Action> to 'Save'.-->
        <Action>Save</Action>
        <!--REQUIRED: Item Detail field <Item>/<XRefs>/<XRef>/<XRefItem>; This field is used to store the SKU's UPC / EAN barcode value.-->
        <XRefItem>812983020292</XRefItem>
        <!--REQUIRED: Item Detail field <Item>/<XRefs>/<XRef>/<XRefUM>; hardcode <XRefUM> to 'EA'.-->
        <XRefUM>EA</XRefUM>
    </XRef>
</XRefs>
</Item>
<!--Schema Note: below are more items without our inline comments, but allow you to visualize a file with multiple, unique SKUs. For each unique SKU, loop through additional <Item> elements.-->
<!--+++-->
</Items>

SCHEMA: Item.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.manh.com/ILSNET/Interface" id="Item" targetNamespace="http://www.manh.com/ILSNET/Interface" elementFormDefault="qualified" version="2007">
   <xs:include schemaLocation="InterfaceEntity.xsd" />
   <xs:complexType name="Item">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="Active" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="AllocationRule" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="AlternateItem" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="AppIdentifier" type="stringLength_10" />
               <xs:element minOccurs="0" maxOccurs="1" name="AvailableOnWeb" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="BomAction" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="CatchWeightReqd" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Color" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Company" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="ContCreationFullQty" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="ContCreationFullQtyUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="ContCreationInnerpackQty" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="Cost" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="CountryOfOrigin" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="DaysToExpire" type="integerLength_9" />
               <xs:element minOccurs="0" maxOccurs="1" name="Department" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Desc" type="stringLength_100" />
               <xs:element minOccurs="0" maxOccurs="1" name="Division" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="EPCCAGECode" type="stringLength_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="EPCCompanyPrefix" type="stringLength_12" />
               <xs:element minOccurs="0" maxOccurs="1" name="EPCItemReference" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Error" type="xs:string" />
               <xs:element minOccurs="0" maxOccurs="1" name="FedExITN" type="stringLength_17" />
               <xs:element minOccurs="0" maxOccurs="1" name="FedExXTN" type="stringLength_17" />
               <xs:element minOccurs="0" maxOccurs="1" name="GtinEnabled" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="HarmCode" type="GenericConfigDetail" />
               <xs:element minOccurs="0" maxOccurs="1" name="Item" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="ItemCategories" type="Categories" />
               <xs:element minOccurs="0" maxOccurs="1" name="ItemClass" type="ItemClass" />
               <xs:element minOccurs="0" maxOccurs="1" name="ImmediateNeedsEligible" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="ImmediateNeedsLocRule" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="InboundQcAmount" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="InboundQcAmountType" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="InboundQcEligible" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="InboundQcLocRule" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="InboundQcUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="ItemTemplate" type="Template" />
               <xs:element minOccurs="0" maxOccurs="1" name="InternalItemNum" type="integerLength_9" />
               <xs:element minOccurs="0" maxOccurs="1" name="InventoryTracking" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="ListPrice" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="LocatingRule" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="LongDesc" type="stringLength_2000" />
               <xs:element minOccurs="0" maxOccurs="1" name="LotControlled" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="LotTemplate" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="NetCost" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="NetPrice" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="Nmfc" type="GenericConfigDetail" />
               <xs:element minOccurs="0" maxOccurs="1" name="PackingClass" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="PreferenceCrit" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Producer" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="SerialNumTemplate" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="SerialNumTrackInbound" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="SerialNumTrackInventory" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="SerialNumTrackOutbound" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Size" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="StorageTemplate" type="StorageTemplate" />
               <xs:element minOccurs="0" maxOccurs="1" name="Style" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="UOMS" type="UOMList" />
               <xs:element minOccurs="0" maxOccurs="1" name="WebImg" type="stringLength_200" />
               <xs:element minOccurs="0" maxOccurs="1" name="WebThumbnailImg" type="stringLength_200" />
               <xs:element minOccurs="0" maxOccurs="1" name="XRefs" type="XRefList" />
               <xs:element minOccurs="0" maxOccurs="1" name="OriginalFilePath" type="xs:string" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="XRef">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="XRefAppIdentifier" type="stringLength_10" />
               <xs:element minOccurs="0" maxOccurs="1" name="XRefGtinEnabled" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="XRefItem" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="XRefUM" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="XRefInternalItemCrossNumber" type="integerLength_9" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="UOM">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="ConvQty" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="DimensionUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="EPCPackageID" type="integerLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Height" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="InternalItemUm" type="integerLength_9" />
               <xs:element minOccurs="0" maxOccurs="1" name="Length" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="MovementClass" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="QtyUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Sequence" type="integerLength_3" />
               <xs:element minOccurs="0" maxOccurs="1" name="TreatAsLoose" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="TreatFullPct" type="integerLength_3" />
               <xs:element minOccurs="0" maxOccurs="1" name="Weight" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="WeightUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Width" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="SlottingID" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="SlottingPalletTI" type="integerLength_9" />
               <xs:element minOccurs="0" maxOccurs="1" name="SlottingPalletHI" type="integerLength_9" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="Template">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="Active" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field1Length" type="integerLength_2" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field1Type" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field2Length" type="integerLength_2" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field2Type" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field3Length" type="integerLength_2" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field3Type" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field4Length" type="integerLength_2" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field4Type" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field5Length" type="integerLength_2" />
               <xs:element minOccurs="0" maxOccurs="1" name="Field5Type" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Template" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="SeperatorChar" type="stringLength_1" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="StorageTemplateDetail">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="Active" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="GroupDuringUnitize" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Sequence" type="integerLength_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="TreatFullPct" type="integerLength_3" />
               <xs:element minOccurs="0" maxOccurs="1" name="Um" type="stringLength_25" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="StorageTemplate">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="Active" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Desc" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Details" type="StorageTemplateDetailList" />
               <xs:element minOccurs="0" maxOccurs="1" name="Class" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Template" type="stringLength_25" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="StorageTemplateDetailList">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="StorageTemplateDetail" nillable="true" type="StorageTemplateDetail" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ItemClass">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="ItemClass" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="StorageTemplate" type="StorageTemplate" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="Categories">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="Category1" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category10" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category2" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category3" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category4" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category5" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category6" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category7" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category8" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="Category9" type="stringLength_50" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="GenericConfigDetail">
      <xs:complexContent mixed="false">
         <xs:extension base="InterfaceEntity">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="Active" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Desc" type="stringLength_500" />
               <xs:element minOccurs="0" maxOccurs="1" name="Identifier" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="RecordType" type="stringLength_50" />
               <xs:element minOccurs="0" maxOccurs="1" name="SysVal1" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="SysVal2" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="SysVal3" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="SysVal4" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="SysVal5" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="SystemCreated" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="User1Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User2Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User3Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User4Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User5Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User6Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User7Val" type="stringLength_250" />
               <xs:element minOccurs="0" maxOccurs="1" name="User8Val" type="stringLength_250" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="UOMList">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="UOM" nillable="true" type="UOM" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="XRefList">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="XRef" nillable="true" type="XRef" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="SKU">
      <xs:complexContent mixed="false">
         <xs:extension base="Item">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="BaseQty" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="BaseQtyUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="ConvertedQty" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="ConvertedQtyUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="DimensionUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Height" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="Length" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="Location" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Lot" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Quantity" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="QuantityUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="TotalListPrice" type="xs:decimal" />
               <xs:element minOccurs="0" maxOccurs="1" name="TotalValue" type="xs:decimal" />
               <xs:element minOccurs="0" maxOccurs="1" name="TotalVolume" type="xs:decimal" />
               <xs:element minOccurs="0" maxOccurs="1" name="TotalWeight" type="xs:decimal" />
               <xs:element minOccurs="0" maxOccurs="1" name="TreatAsLoose" type="stringLength_1" />
               <xs:element minOccurs="0" maxOccurs="1" name="Value" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="Volume" type="xs:decimal" />
               <xs:element minOccurs="0" maxOccurs="1" name="VolumeUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Weight" type="decimal_19_5" />
               <xs:element minOccurs="0" maxOccurs="1" name="WeightUm" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Whs" type="stringLength_25" />
               <xs:element minOccurs="0" maxOccurs="1" name="Width" type="decimal_19_5" />
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
</xs:schema>

What’s Next

Now that you know nothing can happen until the item records are loaded into Ramp's system, you're now ready to send ASNs and Pick Tickets to Ramp! Onto the next 2 data flows...