Overview

The Facility Inventory Status feed is a common feed used by Radial Order Management (ROM). It provides information about inventory levels at a distribution center or retail store at a given point in time. There are three types of inventory status update files. Each type serves a different purpose and provides different results. For details on the inventory status types, see Types of Inventory Status Updates.

You can send the inventory status for multiple facilities or nodes in one file.

Do not duplicate a node within the file, because the file will not be processed.

For a third-party fulfillment provider, information about inventory levels pertains to items.

Notes:

  • Default Character Encoding: Unicode: UTF-8
  • Recipient Acknowledgment Required: Client Specific
  • Exchange Frequency: Client Specific
  • Production Mailbox Location: Client Specific
  • Test Mailbox Location: Client Specific
  • Filename Formats:
    • Multi-node: PRONA_75_MultiNodeInventory_yyyymmddhhmmss.xml
    • Single node: PRONA_InventoryStatus_yyyymmddhhmmss.xml
  • The filename combined with the mailbox determines the destination of the Inventory Status message.

Schema

Inventory Status schema: InventoryStatus-CommonIntegration.xsd

API Structure

Inventory status element table: InventoryStatus-CommonIntegration.xsd.html

Types of Inventory Status Updates

There are three types of inventory status update files. Each type serves a different purposes and provides different results. Be sure to set the correct value for the InventoryStatusType field, based on the type of inventory status provided in the feed file. The following table describes the three possible values for this field.

Type Name Scope of Effect Details
FS Full Snapshot Entire catalog; all items Changes/overrides the inventory count in OMS. Zeros out items that were not sent in the feed. This feed applies to the entire catalog, including offline sales that need to be accounted for in inventory. This option is typically used once a day or less to clean up the incremental/replacement counts and roll them into the larger inventory. It is typically used in conjunction with the incremental rather than the replacement feed.
INC Incremental Adjustment Only the items listed in the feed

Increases/decreases the inventory count for only the items in the feed. For example, if a store uses in-store pickup functionality, this option allows faster, more frequent, intra-day inventory count updates for items that are selling. Alternately, if items are damaged, the store can quickly send an incremental adjustment to subtract them from the inventory. This feed can be sent multiple times per day.

REP Replacement Only the items listed in the feed Changes/overrides the inventory count for only the items in the feed. Similar to the incremental feed, it replaces, rather than adjusts, the inventory count. For example, if all but three TVs are damaged and not sellable, the replacement count would be 3. This feed is not used frequently. It can be used to apply an emergency patch.

Flat File Data Format

ID

Field

Description

Type

Length

Req.

Comments

1

Partner Item Number

Partner’s item number for products in Radial Item Master.

Character

15

Yes

Same value sent in the item master as ‘ClientItemId’

2

Facility ID

Store ID as in Facility Feed

Character

32

Yes

 Same as in Facility Feed

3

Quantity

The quantity of inventory

Numeric

NA

Yes

Quantity

4

Not Used

NA

NA

NA

NA

NA

5

Not Used

NA

NA

NA

NA

NA

Notes:

  • Field 2 must be sent in sorted manner, and it cannot be randomly repeated elsewhere in the file.
  • The Header Record (HD) line (column 2) – has the values “FULL” for Full Snapshot, “REP” for replace mode and “INC” for Incremental mode.
  • The Trailer Record (TR) line (column 5) – indicates the total number of records.
  • Radial recommends that clients send the FULL mode once a day and REP/INC mode once every hour.

The following sample shows how the body of the file should look.

HD|FULL|0|2|000
Item1|Node1|1000||
Item2|Node1|1000||
Item1|Node2|1000||
Item2|Node2|1000||
TR||||5

Example file: TFINA_MultiStoreInvFULL_20190906114733_000.txt

This example is a full snapshot inventory status file.

Examples

ClosedFull Snapshot and Future Inventory

The following feed file example demonstrates the Full Snapshot inventory status type. This example includes a future inventory item, which is an inventory quantity with a future arrival date.

Future inventory items can be sent in any of the three inventory status types.

In the following example, elements with special meaning for this item type are noted in /*comments*/ before the element.

Copy this code sample.

<?xml version="1.0"?>
<InventoryStatus>
   <MessageHeader>
      <Standard>GSI</Standard>
      <HeaderVersion>5.2.1</HeaderVersion>
      <VersionReleaseNumber>5.2.1</VersionReleaseNumber>
      <SourceData>
         <SourceId>TMS_NA-DC001</SourceId>
         <SourceType>WMS</SourceType>
      </SourceData>
      <DestinationData>
         <DestinationId>Sterling</DestinationId>
         <DestinationType>OMS</DestinationType>
      </DestinationData>
      <EventType>InventoryStatus</EventType>
      <MessageData>
         <MessageId>5362014</MessageId>
         <CorrelationId>5362014</CorrelationId>
      </MessageData>
      <CreateDateAndTime>2014-11-16T05:00:59-05:00</CreateDateAndTime>
   </MessageHeader>
   <ItemInventory>
      <ClientId>TMSNA</ClientId>
      <gsi_client_id>TMSNA</gsi_client_id>
    /*The Facility ID specifies where to send the inventory. It must be a unique value. 
    If the same ID is sent in the same file, the file will not be processed. 
    Note: For Omnichannel Technology ISPU or SFS inventory, the Facility ID must be SNET_US_391.*/
      <FacilityId>TMS_NA-DC001</FacilityId>
      <ExternalFacilityId>0805</ExternalFacilityId> 
      /*For the Full Snapshot (FS) inventory status type, the quantity for the item is handled            
      as follows. For items included in the file, the quantity sent in the feed file replaces the
      existing quantity for the item. For items not included in the file, the existing quantity is
      set to 0 (zero).*/ 
      <InventoryStatusType>FS</InventoryStatusType>
      <InventoryDateTime>2014-11-16T10:00:52-05:00</InventoryDateTime>
      <ExtendedAttributes>
         <Name>gsi_client_id</Name>
         <Value>TMSNA</Value>
      </ExtendedAttributes>
      <Item>
         <SellableQuantity>100</SellableQuantity>
         <ItemId>
            <GsiCatalogId>36</GsiCatalogId>
         <ClientItemId>RRC2NPF97</ClientItemId>
         </ItemId>
         <ItemAttributes>
            <SupplyType>ONHAND</SupplyType>
         </ItemAttributes>
      </Item>   
      <Item>
         <SellableQuantity>100</SellableQuantity>
         <ItemId>
            <GsiCatalogId>36</GsiCatalogId>
            <ClientItemId>RRC2NPF97</ClientItemId>
         </ItemId>
         <ItemAttributes>
        /*To indicate future inventory, indicate an ArrivalDate value, and a SupplyType value
        of PO. You can send future inventory items in any of the three inventory status types.*/
            <ArrivalDate>2014-11-26</ArrivalDate>
            <SupplyType>PO</SupplyType>
         </ItemAttributes>
      </Item>   
   </ItemInventory>
</InventoryStatus>

ClosedIncremental Adjustment

The following feed file example demonstrates the Incremental Adjustment inventory status type.

In the following example, elements with special meaning for this item type are noted in /*comments*/ before the element.

Copy this code sample.

<?xml version="1.0"?>
<InventoryStatus>
   <MessageHeader>
      <Standard>GSI</Standard>
      <HeaderVersion>5.2.1</HeaderVersion>
      <VersionReleaseNumber>5.2.1</VersionReleaseNumber>
      <SourceData>
         <SourceId>TMS_NA-DC001</SourceId>
         <SourceType>WMS</SourceType>
      </SourceData>
      <DestinationData>
         <DestinationId>Sterling</DestinationId>
         <DestinationType>OMS</DestinationType>
      </DestinationData>
      <EventType>InventoryStatus</EventType>
      <MessageData>
         <MessageId>5372014</MessageId>
         <CorrelationId>5372014</CorrelationId>
      </MessageData>
      <CreateDateAndTime>2014-11-16T10:17:07-05:00</CreateDateAndTime>
   </MessageHeader>
   <ItemInventory>
      <ClientId>TMSNA</ClientId>
      <gsi_client_id>TMSNA</gsi_client_id>
      <FacilityId>TMS_NA-DC001</FacilityId>
      <ExternalFacilityId>0805</ExternalFacilityId> 
      /*For the Incremental Adjustment (INC) inventory status type, the SellableQuantity reported
      for an item in the feed file is added to or subtracted from the item's existing inventory
      quantity.*/
      <InventoryStatusType>INC</InventoryStatusType>
      <InventoryDateTime>2014-11-16T15:17:01-05:00</InventoryDateTime>
      <ExtendedAttributes>
         <Name>gsi_client_id</Name>
         <Value>TMSNA</Value>
      </ExtendedAttributes>
      <Item>
         <SellableQuantity>10</SellableQuantity>
         <ItemId>
         <GsiCatalogId>36</GsiCatalogId>
            <ClientItemId>RRCWS613BLK</ClientItemId>
         </ItemId>
         <ItemAttributes>
            <SupplyType>ONHAND</SupplyType>
         </ItemAttributes>
      </Item>
   </ItemInventory>
</InventoryStatus>

ClosedReplacement

The following feed file example demonstrates the Replacement inventory status type.

In the following example, elements with special meaning for this item type are noted in /*comments*/ before the element.

Copy this code sample.

<?xml version="1.0"?>
<InventoryStatus>
   <MessageHeader>
      <Standard>GSI</Standard>
      <HeaderVersion>5.2.1</HeaderVersion>
      <VersionReleaseNumber>5.2.1</VersionReleaseNumber>
      <SourceData>
         <SourceId>TMS_NA-DC001</SourceId>
         <SourceType>WMS</SourceType>
      </SourceData>
      <DestinationData>
         <DestinationId>Sterling</DestinationId>
         <DestinationType>OMS</DestinationType>
      </DestinationData>
      <EventType>InventoryStatus</EventType>
      <MessageData>
         <MessageId>5372014</MessageId>
         <CorrelationId>5372014</CorrelationId>
      </MessageData>
      <CreateDateAndTime>2014-11-16T10:17:07-05:00</CreateDateAndTime>
   </MessageHeader>
   <ItemInventory>
      <ClientId>TMSNA</ClientId>
      <gsi_client_id>TMSNA</gsi_client_id>
      <FacilityId>TMS_NA-DC001</FacilityId>
      <ExternalFacilityId>0805</ExternalFacilityId> 
      /*For the Replacement (REP) inventory status type, the quantity sent in the feed file
      replaces the item's existing quantity.*/
      <InventoryStatusType>REP</InventoryStatusType>
      <InventoryDateTime>2014-11-16T15:17:01-05:00</InventoryDateTime>
      <ExtendedAttributes>
         <Name>CatalogId</Name>
         <Value>21</Value>
      </ExtendedAttributes>
      <ExtendedAttributes>
         <Name>gsi_client_id</Name>
         <Value>TMSNA</Value>
      </ExtendedAttributes>
      <Item>
         <SellableQuantity>50</SellableQuantity>
         <ItemId>
            <ClientItemId>RRCWS613BLK</ClientItemId>
         </ItemId>
         <ItemAttributes>
            <SupplyType>ONHAND</SupplyType>
         </ItemAttributes>
      </Item>
   </ItemInventory>
</InventoryStatus>

ClosedMultiple Facility Feed

In the following example, the feed contains inventory for three different client warehouses.

In the following example, elements with special meaning for this item type are noted in /*comments*/ before the element.

Copy this code sample.
<InventoryStatus>
    <MessageHeader>
        <Standard>GSI</Standard>
        <HeaderVersion>5.2.1</HeaderVersion>
        <VersionReleaseNumber>5.2.1</VersionReleaseNumber>
        <SourceData>
            <SourceId>RADNA</SourceId>
            <SourceType>WMS</SourceType>
        </SourceData>
        <DestinationData>
            <DestinationId>OMS</DestinationId>
            <DestinationType>Sterling</DestinationType>
        </DestinationData>
        <EventType>InventoryStatus</EventType>
        <MessageData>
            <MessageId>1694986</MessageId>
            <CorrelationId>1694986</CorrelationId>
        </MessageData>
        <CreateDateAndTime>2016-07-28T13:04:06CDT</CreateDateAndTime>
    </MessageHeader>
    <ItemInventory>
        <ClientId>RADNA</ClientId>
        <gsi_client_id>RADNA</gsi_client_id>
        /*The following FacilityID specifies warehouse DC001 for the client RADNA.*/
        <FacilityId>RADNA_DC001</FacilityId>
        <InventoryStatusType>FS</InventoryStatusType>
        <InventoryDateTime>2016-07-28T13:04:06CDT</InventoryDateTime>
        <ExtendedAttributes>
            <Name>gsi_client_id</Name>
            <Value>RADNA</Value>
        </ExtendedAttributes>
        <Item>
            <SellableQuantity>-5</SellableQuantity>
            <ItemId>
                <GsiCatalogId>36</GsiCatalogId>
                <ClientItemId>5122566</ClientItemId>
            </ItemId>
            <ItemAttributes>
                <SupplyType>ONHAND</SupplyType>
            </ItemAttributes>
        </Item>
    </ItemInventory>
    <ItemInventory>
        <ClientId>RADNA</ClientId>
            <gsi_client_id>RADNA</gsi_client_id>
        /*The following FacilityID specifies warehouse DC003 for the client RADNA.*/
        <FacilityId>RADNA_DC003</FacilityId>
        <InventoryStatusType>REP</InventoryStatusType>
        <InventoryDateTime>2016-07-28T13:04:06CDT</InventoryDateTime>
        <ExtendedAttributes>
            <Name>gsi_client_id</Name>
            <Value>RADNA</Value>
        </ExtendedAttributes>
        <Item>
            <SellableQuantity>-5</SellableQuantity>
            <ItemId>
                <GsiCatalogId>36</GsiCatalogId>
                <ClientItemId>5122566</ClientItemId>
            </ItemId>
            <ItemAttributes>
                <SupplyType>ONHAND</SupplyType>
            </ItemAttributes>
        </Item>
    </ItemInventory>
    <ItemInventory>
        <ClientId>RADNA</ClientId>
            <FacilityId>RADNA_DC004</FacilityId>
        /*The following FacilityID specifies warehouse DC004 for the client RADNA.*/
        <InventoryStatusType>FS</InventoryStatusType>
        <InventoryDateTime>2016-07-05T07:00:05-07:00</InventoryDateTime>
        <ExtendedAttributes>
            <Name>gsi_client_id</Name>
            <Value>RADNA</Value>
        </ExtendedAttributes>
        <Item>
            <SellableQuantity>500</SellableQuantity>
            <ItemId>
                <ClientItemId>555555551076</ClientItemId>
            </ItemId>
        </Item>
    </ItemInventory>
</InventoryStatus>

Data Keys

ISO Standard Definition
Country – ISO 3166-1 2 Letter Country Standard
Currency – ISO 4217 Currency Standard
Time – ISO 8601 Date Time Standard