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 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 being passed to Magento (as inventory level) instead of absolute stock levels (in stock). This can make inventory levels appear lower in Magento than the actual warehouse stock count.

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 Magento source and decreases it by 2. 

However, in the following scenario, this discrepancy won’t happen because 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, it depend 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 (however 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