Magento 2.3’s latest feature: Multi Source Inventory (MSI)
Magento 2.3’s latest feature: Multi Source Inventory (MSI)

Magento 2.3’s latest feature: Multi Source Inventory (MSI)

4 min read

Magento’s new, stabilized version Magento 2.3 was released at the end of 2018 featuring a whole range of new functionalities. One of the biggest additions is a core extension package, called Multi Source Inventory (MSI) that radically changes stock and quote management as well as the way orders are being processed. In this article we will examine what MSI really is, why it was much anticipated and needed, and we look into how stock can be handled and distributed from multiple warehouses.

What’s Magento MSI?

Magento 2.3 brought the Multi Source Inventory feature along, allowing goods from different sources to be handled and the stock to be managed on a whole new level. This way, traders can plan with an omnichannel approach in mind and this solution also helps to reduce the workload of the admins as well.

With 2.3 we can now do the following:

  • assign a product and its stock levels to different sources. (In Magento 2.3 the source can be the warehouse, the store, a distribution centre etc, all having their own products and stock management workflows.)
  • track each source, meaning that with the help of MSI we can see up-to date information about the stock levels of stores/warehouses.
  • create different rules: with these, we can set priorities and decide which stock to be used first when fulfilling an order.
  • we can also integrate with third-party extensions to customize the MSI workflow.
Magento MSI source

Why was there a need for Multi Source Inventory?

Nowadays, many online retailers have brick and mortar stores as well – or the other way around, they launched with a store and then expanded digitally. Finetuning the connection between online and offline retail was never easy though – up until now all projects came with large-scale developments. Just think about real time stock and inventory management between end points or about the recalculation of stock levels.

Here at OANDER, we faced these challenges for the first time when we started working on a project for iSTYLE, a company that has already been present in 9 markets at the time. We developed a solution that’s based on a unique logic, eliminating Magento’s native inventory system and replacing it with a more complex ‘Warehouse Manager’ product. Going forward, with the Magento 2.3 Multi Source Inventory functionality there will be no need for unique developments on such a large scale, as the latest version will already have the inventory management covered, even if it comes to diverse systems.

How does multi source inventory management work?

Magento created these infographics for its MSI functionality package, to explain in more detail:

Magento MSI

Essentially, MSI consists of a website or the implementation of multiple store views, where we can manage stock from multiple sources on different sales channels. With the previous version of Magento, single source mode was the default – however, after upgrading to the 2.3 edition we can create multiple sources and assign different stock levels to these, meaning that we work in a multi-source mode.

Something interesting: reservation

According to Magento’s default distribution logic, the stock levels only get reduced once the order has been shipped. This is the stage where the exact quantities are taken off, before this the logic only works with reservations. If the customer removes an item from their basket or if the order gets cancelled a negative reservation is being generated cancelling out the previous, positive reservation. Let’s see what exactly this means:

Source Selection Algorithm (SSA)

Magento’s Source Selection Algorithm can be switched on at the Manage Stock panel. The algorithm only works in the final stage of the ordering process – up until this point only reservations are being used, decrease the aggregated stock levels.

At the end of the process, when the Admin hits the Ship button they will receive a list, based on the above logics. The list will show which source the individual items will be taken from. This by the way can be overridden by the Admins if needed.

Currently, there’s only one stock distribution logic in the system, called priority algorithm. As the name suggests, this logic assigns the orders to the priority sources with the biggest stock levels. If we need anything that’s more advanced or if we wouldn’t want to integrate the stock distribution logics with the Ship functionality, then we can develop new solutions with the help of SourceSelectionInterface. These algorithms can be applied at the checkout stage – for example in cases where the final shipping costs is dependent on the source(s). In other words, besides the order, a quote can be a source as well. Different algorithms can coexist at the same time and we can decide which ones we want to use, and at which point of the stock distribution process.

Magento MSI source selection