Magento MSI - Inventory quantity mismatch

Magento's MSI provides a reservation system, designed to manage stock levels during the fulfillment process. This mechanism reduces the salable amount of inventory when an order is placed (via a reservation) and decrements the source inventory level when inventory is finally shipped.

Similarly, Brightpearl also provides a reservation system (known as allocations) that does the same thing.

The operation of Brightpearl's allocation system can result in adjusted stock levels ("on hand" inventory) being passed to Magento instead of absolute stock levels ("in stock" inventory) as the inventory level. This can make inventory levels appear lower in Magento than the actual warehouse stock count.

Inventory quantity mismatch

When ordering a single item (one SKU), the following sequence of steps may create a mismatch between the platforms:

This results in a decrement of 2 in Magento (from 9 to 7) against the ordered item, although only 1 item was ordered.

This happens because the Brightpearl inventory quantity (used during the MSI import) is an adjusted quantity that includes the Brightpearl stock allocation ("on hand" inventory), which updates the Magento source and decreases it by 2. 

However, in the following scenario, this discrepancy won’t happen because the MSI stock import happens after the order was shipped: 

Things to consider

The number of inaccurate stock levels is dependent on the duration of the reservation in Brightpearl. In other words, the number of inaccurate stock levels depends on how long orders stay unshipped in Brightpearl. During that period, the stock level in Brightpearl includes a reservation adjustment (which propagates double-counting to Magento).

The following configurations might be considered:

  1. If you fulfill orders the same day, then a daily midnight MSI import might be appropriate.
  2. If you fulfill in 2 or 3 days, then a weekly import may be more appropriate (though the inaccuracy of levels across the catalog might be higher).

At any given point in time, the error count is a function of the number of unfulfilled order items in Brightpearl. Assuming this quantity remains fairly constant, the frequency of MSI imports is not consequential.

The most accurate MSI import will occur when all orders in Brightpearl have been fulfilled. If there is a point in the operational cycle of the business when the number of unfulfilled orders is minimal, that is the most accurate and appropriate time to execute an MSI import.

Have more questions? Submit a request