This section aims to explain how the different inventory flows work such as an inventory update, a reindex, or an export process.

Update source stock quantities

Your OMS expects to receive on hands stock quantities for each specific source, so the information is exported to the seller platforms and new orders start to be sourced, according to stock availability.

There are 3 different ways to update stock:

  • stock-snapshot: sending a single message for a specific source (either DELTA, FULL or NONZERO) for intra-day updates
  • stock-snapshots in a batch: a daily batch of snapshots for all the sources (this last process is recommended to be run once per day)
  • adjustment: intraday frequent adjustments that will adjust the relative stock to the available quantity already in your OMS. Then, it recalculates the available stock to be sold for the modified SKUs and export a stock-snapshot DELTA message.

Stock-snapshots modes

The stock snapshots can be provided using 3 different modes:

Mode Description
FULL Every SKU option in the catalog should be included in this feed. An item stock (known by the OMS) missing in the feed will result in a warning message. The FULL message is expected only once/twice per day.
NON-ZERO This mode means that this message must include all the SKUs with stock. The SKUs that are not included in the snapshot are assumed to have no stock and will be updated to zero stock. The NON-ZERO message is expected to be used on a daily synchronization between the inventory source and your OMS.
DELTA Any number of SKU options that have changed since the last FULL known snapshot should be included in this message. Only the options included in the feed will be updated and exported, while other SKUs are not updated. Your OMS can receive as many DELTA updates as necessary.

Aggregation and stock export

Your OMS has the capability to define Stock Aggregates. These are entities which define the stock pool that is exported to the sales channel. Multiple stock sources are associated with each aggregate , and can link to one or several sales channels.

Reindex process

Every time there is a stock snapshot update from a warehouse or a physical store the reindex process recalculates the real stock available to sell. The process takes into account the following parameters:

  • In-flight orders
  • Aggregation of the various sources/quantities
  • Safety stock calculations (thresholds defined at source or aggregate level)

You can setup your OMS via the configuration portal to export updates for each sale or a cancellation event in order to keep multiple sales channels using the same aggregate, which is updated as soon as new orders are received in your OMS.

In-flight stock

The in-flight stock is a mechanism to ensure that orders, which are not yet sourced or fulfilled, have a stock reservation in place that prevents other costumers to allocate the same SKU on a new order. In your OMS there are 2 types of in-flight stock:

  • Soft in-flights that are set as soon as the order is imported (while pending to do some validations such as payments, risk assesments, remorse time, or sourcing). This reduces the stock quantity from the aggregate stock pool.
  • Hard in-flights that are defined as soon as an order is sourced. The stock is decremented from the source stock quantities until the Logistics provider is informed of the acknowledgment of the purchased SKUs.

The soft in-flights are only removed by your OMS when an order gets hard-allocated, therefore changes the items to hard in-flights. While for hard-allocated items the Logistic provider is the one that triggers the removal of such in-flight, by acknowledging the reception of those order lines.

The acknowledgment by the Logistic provider is done through the message lines_change_status, and indicates the status RECEIVEDBYLOGISTICS at each order line. At this point, your OMS assumes that the WMS/Logistics has already accounted for these order items, therefore expecting that the snapshot is already accounting for them, and so removing the hard in-flight.

In case a Logistic provider is not capable of sending the RECEIVEDBYLOGISTICS status to your OMS, the hard in-flight will be accounted for until the lines are either shipped or cancelled.