To setup Multi-Source Inventory (MSI) in Magento 2

The basis of the new enhancement sources. Under this term, we mean a place where stock is located physically. So, it is a place where products are stored. It can be a warehouse, a brick-and-mortar store, or a garage. Create a source that represents each physical location. Next, you will be able to specify the number of items for each source on a product configuration page. In other words, for each source specified in your Magento 2 admin, a number can be entered for a product. 

The basic element of the Magento 2 Multi-Source Inventory functionality has its representation within the backend. Like other admin elements, it has a grid where you can manage all specified sources as well as add new ones. 

Below, you can see the illustration of the “Manage Source” screen with 2 created sources: 

As you can see, we have two types of sources: AU and IND. 

As you might have noticed on the screenshot above, there is the huge “Add New Source” button available on the top right part of the “Manage Source” screen. Hit it to add a new physical location of products. A similar screen is available for editing the existing sources. Hit “Edit” in the “Action” column, and you will be redirected to the following page: 

The only parameters required for creating a new source are Name and Code. Nothing more is necessary to add a new one with the Magento 2 Multi-Source Inventory functionality. At the same time, you can enable/disable your new source here and add its description and geographical coordinates. 

Now, we can proceed to the next level of the Magento 2 MSI project – stocks

Magento 2 MSI Stocks

Stock is used to grouping multiple sources together. Next, the newly created group is linked to a channel – another new term used to highlight a certain website. And unlike sources, which represent physical locations, stocks serve as a virtual representation for multiple sources, representing sales channels (websites). 

And there is a dedicated page where you can manage all stocks. It contains a grid with all stocks (sales channels). Below, you can see an example of such a page: 

Everything looks quite familiar: columns that include ID, Name, the new MSI concept (Sales Channels), and Action. Nothing radically new is used to implement the Magento 2 Multi-Source Inventory functionality which at the same time provides long-awaited revolutionary changes to the platform’s core. 

The “Sales Channels” column represents your stocks. In the example below, there are two of them: New stock and New stock 2. As we’ve already mentioned, the principle of a geographical location is used to combine multiple sources together. Let’s edit the stock for a better understanding of what happens under the hood: 

The stock contains two sources: AU and IND. Since it is linked to a corresponding website, all sales that take place on this website are deducted from sources that are a part of the stock. Magento 2 uses the source selection algorithm to specify one or multiple sources from which the stock is deducted. Multiple parameters are utilized to run the selection. Let’s pay attention to the simplicity of scaling introduced with the Magento 2 Multi-Source Inventory functionality. 

If you want to expand your business and add a new warehouse, it’s no longer a problem. Create a new source and link it to the appropriate stock. 

Magento 2 MSI Product Edit Page 

It is obvious that the new functionality has changed the way a default product edit page looks. Now, it includes a completely new section named “Assigned Sources” which displays a source code, name, and status, a status of items in each source and their quantity, as well as a notification quantity. At the same time, you can use the default notification quantity. Hit the black bin icon to unassign a source from the product. 

Magento 2 MSI Salable Quantity 

After sources are created and linked to stocks, the number of items is specified per source per product, and each stock is linked to a corresponding website, the Magento 2 MSI module sums everything to provide you with the salable quantity. The new column is added to the Product grid along with another one that displays a number of items per source. Thus, “Quantity per Source” and “Salable Quantity” have the following look: 

A new crucial improvement has been introduced to the way stock is handled in general. The “Quantity per Source” column represents a physical stock at each location (store or warehouse). Changes are applied to the content of this column only when a shipment is created. In the case of current Magento versions, it happens when a new order is placed. The core reason for the new approach will be described in the “Magento 2 MSI Performance” chapter. 

The “Salable Quantity” column, sums up the available resources and groups them into stocks. When a new order is placed, the Magento 2 Multi-Source Inventory module deducts the quantity from the sellable number. Also, note that there is a feature common for both “qty” used before and “salable quantity” – the new value triggers a number of notifications and actions. Depending on the configuration, the module will do the following actions automatically: 

  • If the stock is 0, it sets the “out of stock” status; 
  • Displays the stock number on the frontend; 
  • Notifies a visitor if more products are added to a shopping cart than available. 

Leave a comment

Your email address will not be published. Required fields are marked *