The Most Popular Extension Builder for Magento 2

With a big catalog of 224+ extensions for your online store

An Ultimate Guide for Magento 2 MSI (Multi Source Inventory)

Released in November 2018 by Adobe, Magento 2.3 introduced several new significant features, enhancements, and improvements over its predecessor, including Magento inventory management and especially, Magento 2 MSI (or Magento 2 Multi Source Inventory, Magento MSI). This feature is considered an ideal method to help store owners manage in locations without any other party modules!

In this guide, Mageplaza would like to show you the amazing benefits and how to take advantage of the Magento 2 Multi Source Inventory (MSI) to manage your inventory effectively and make it strategic.

Table of contents

Looking for
Upgrade Services?

Upgrade your Magento 2 store to the latest version for new features and security - with the help of our dedicated experts.

Upgrade now
upgrade service

What is Magento 2 MSI?

First of all, let’s explore the most basic definition of Magento MSI (Multi Source Inventory).

Multi Source Inventory (MSI) is an outstanding feature of the Magento 2.3.0 version. With the support of Magento 2 MSI, it is easier for store merchants to control their single or multi-channel inventories and sale channels. MSI is designed to assist merchant stores in managing their multi-sources of inventory and sales channels from the Magento 2 admin panel. Magento 2 Multi Source Inventory (MSI) is a huge leap that dramatically improves inventory management regardless of the customers and warehouse locations, the type of product, or sales channels.

Amazing Benefits Of Magento 2 MSI

Indeed, Magento MSI offers several amazing advantages that enhance inventory management and improve the overall customer shopping experience.

  • Enhancing physical location management: MSI allows you to manage multiple physical locations or sources, such as warehouses and retail stores. This enables better control and tracking of inventory across various locations.

  • Increasing store sales and improve customer experiences: With improved inventory visibility, you can accurately display stock availability to customers, reducing the chances of overselling.

  • Improving the checkout process: Magento 2 MSI enables efficient order routing and inventory allocation, ensuring that orders are fulfilled from the nearest available source. This streamlines the checkout process and reduces delivery times.

  • Manage Drop Shipping with ease: Multi Source Inventory provides the flexibility to manage drop shipping, where products are shipped directly from suppliers to customers. It simplifies the management of inventory from different suppliers and enables faster order processing.

  • Separate Shipment from Different Warehouses: It allows the store owner to make a separate shipment from a different warehouse with quick delivery service for an order with multiple items, in case a customer wants to receive a particular item in advance.

  • Buy Online and Pick Up In-store (BOPIS): MIS supports the BOPIS option, where customers can place an order online and pick it up from a nearby physical store. This not only improve the customer shopping experience but also drives traffic to your physical stores.

Discover Inventory Management extensions for Magento 2 stores

5 Steps to Implement Magento 2 Multi Source Inventory

To make the best use of Magento 2 MSI, you need to follow the given below steps:

Step 1: Manage Sources

What is Magento Source?

As the primary element of the new inventory, a source represents a physical place where the product is located. This location may be a warehouse, brick-and-mortar store, drop shipper, or distribution center. Store owners are allowed to add a new source and set the quantity of the available products for every single source.

Add A New Source

  1. Access to admin panel
  2. Navigate to Stores > Inventory > Source
  3. In the Manage Sources page, the source grid will show you the default source which must be enabled. In a Single source mode, all products are assigned to it by default.
  4. Click to the Add New Source button to allow the multi-source mode if the merchant has several locations.

setup MSI in Magento 2

  1. In the General tab, enter the name, code, description, and the exact GPS location (latitude and longitude) of the source.

setup MSI in Magento 2 image 2


  • Name and Code are required parameters for a source.
  • The description of the source is visible only in the backend.

Then enter the specific contact information and the address of the source into Contact Info section and Address Data section.

setup MSI in Magento 2 image 3

Note: Country and Postcode are required fields.

  1. When everything is ready, click to the Save & Continue button at the top right of the screen to save the configuration.

Step 2: Manage Stocks

What is Magento Stock?

In Magento, “stock” refers to the quantity or availability of a specific product in inventory. It represents the number of items you have available for sale. Stocks map a sales channel to source locations and available inventory. In Magento 2.3.0, the sales channels are limited to only Magento websites. A stock can be assigned to multiple websites, while each sale channel can be connected to only one stock.

Add New Stock

  1. Go to Stores > Inventory > Stocks.
  2. In the Manage Stock page, you will see the Default Stock which cannot be disabled. In a Single source mode, the default stock is assigned to the default source and the main website.
  3. Click to the Add New Stock button to allow the multi source mode.

setup MSI in Magento 2 image 4

  1. Fill the Name field with the name of the new stock, select the sales channel, and assign the sources.

setup MSI in Magento 2 image 5

Step 3: Manage Catalog Product Inventory

Now, let see how you can attach sources to products!

  1. Navigate to Catalog > Products

setup MSI in Magento 2 image 15

  1. In the Action column of the grid, click to the Edit button to go to product edit page.
  2. Scroll down to the Sources section, click the Assign button.
  3. In the Assign Source page, choose the sources to be assigned and click to the Done button.

setup MSI in Magento 2 image 17

After you save the configuration, it gets shown as below:

setup MSI in Magento 2 image 16

Here you can easily define the quantity, the stock status, and modify the default admin threshold for the low stock notification.

Step 4: Manage Salable Quantity

Salable Quantity indicates the inventory which stores can sell through a sales channel. This takes into account stocks in all assigned sources. Different from the previous versions of Magento 2, when the customer places an order in Magento 2.3.0, the salable quantity will decrease while the number of products does not change. The quantity of product decreases only after fulfilling the shipment.

setup MSI in Magento 2 image 18

Step 5: Manage Source Selection Algorithm

The source selection algorithm uses data about customers, products, addresses, stock, sources, and order delivery location to help the merchant determine which source order can be shipped most efficiently with the highest product margin. Inventory Management provides two types of Priority algorithms, which are Source Priority and Distance Priority. The algorithm comes up with a source list, together with available product quantities, and deducted amounts as required by the selected algorithm. Thanks to it, Magento 2 stores can plan inventory management strategies more effectively, which greatly reduces costs and increases customer experience.

Download Magento 2 Multi Source Inventory (MSI) here

How to Disable MSI in Magento 2.4

Starting from Magento 2.4, the Multi Source Inventory (MSI) feature is a core part of the platform and cannot be disabled through the admin interface. However, if you want to remove MSI functionality and revert to the default inventory management system, you can follow these steps:

  • Step 1: Backup your Store: Before making any changes, it is important to back up your Magento installation, including the database and files, to ensure you have a restore point in case any issues arise.

  • Step 2: Disable Magento MIS Modules: To disable MSI, you need to disable the MSI modules in Magento. You can do this by connecting to your server via SSH or using a command-line interface and running the following commands from the Magento root directory:

php bin/magento module:disable Magento_Inventory Magento_InventoryAdminUi Magento_InventoryApi Magento_InventoryBundleProduct Magento_InventoryBundleProductAdminUi Magento_InventoryCatalog Magento_InventorySales Magento_InventorySalesAdminUi Magento_InventoryConfigurableProduct Magento_InventoryConfigurableProductAdminUi Magento_InventoryConfigurableProductIndexer Magento_InventoryConfiguration Magento_InventoryDistanceBasedSourceSelection Magento_InventoryDistanceBasedSourceSelectionAdminUi Magento_InventoryElasticsearch Magento_InventoryExportStock Magento_InventoryIndexer Magento_InventoryLowQuantityNotification Magento_InventoryLowQuantityNotificationAdminUi Magento_InventoryMultiDimensionalIndexer Magento_InventoryProductAlert Magento_InventoryReservations Magento_InventoryReservationCli Magento_InventoryReservationsApi Magento_InventorySalesAdminUi Magento_InventorySalesApi Magento_InventoryShipping Magento_InventorySourceDeductionApi Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryShippingAdminUi Magento_InventorySourceDeduction Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryShippingAdminUi Magento_InventorySourceDeduction Magento_InventorySourceSelection Magento_InventorySourceSelectionApi

  • Step 3: Clean Cache and Reindex: After disabling the modules, it’s recommended to clean the cache and reindex the Magento installation. Run the following commands:

php bin/magento cache:clean
php bin/magento indexer:reindex

  • Step 4: Remove MSI-related Tables: To remove the MSI-related database tables, you can run the following command:
php bin/magento setup:db-schema: uninstall --module-name=Magento_Inventory
  • Step 5: Recompile and Deploy: Finally, recompile the code and deploy the static content by running the following commands:
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy


Above is the detailed instruction of how to implement Multi Source Inventory (MSI) in Magento 2. If you have questions on any steps, don’t hesitate to contact us.

Overall, MSI has an excellent ability to connect sources to the store and use the search selection algorithm to select a source depending on various conditions. It is a great way to optimize the efficiency of delivery. If you are looking for the solutions for inventory management, Magento 2 Product Feed and Magento Mass Product Actions are the excellent solutions for you!

Let grow with us to rocket your sales and accelerate your profit based on cutting-edge technologies!

Explore Magento 2 extensions now!

Related topics:

Image Description
Hello, I'm the Chief Technology Officer of Mageplaza, and I am thrilled to share my story with you. My deep love and passion for technology have fueled my journey as a professional coder and an ultra-marathon runner. Over the past decade, I have accumulated extensive experience and honed my expertise in PHP development.

Looking for
Customization & Development Services?

8+ years of experiences in e-commerce & Magento has prepared us for any challenges, so that we can lead you to your success.

Get free consultant
development service

    Explore Our Products:

    People also searched for


    Stay in the know

    Get special offers on the latest news from Mageplaza.

    Earn $10 in reward now!

    Earn $10 in reward now!

    go up