🔥 Just Launched! Werra Premium Template for HyväSee it in Action

A Complete Guide on Magento 2 MSI – Multi Source Inventory

By Sanjay JethvaUpdated on Apr 24, 2025 6 min read

It’s the story of the past where Magento merchants had to rely on a single inventory system. The release of Magento 2.3.0 highlighted the Magento 2 MSI!

Dramatically improving the inventory management for the store merchants, it makes the control of inventory for single or multiple sources and sales channels possible! You can also get salable quantity information after product is saved in Magento 2 to maintain the well-structured inventory grid.

Magento 2 MSI helps the merchants to manage their inventory in more than one locations to accurately reflect their physical inventories without any 3rd party modules!

What is Magento 2 MSI?

The gist of Magento 2 Multi Source Inventory,

  • Manage multiple warehouses
  • Easy to manage the delivery of an order from a particular product source/stock location based on the shipping address.
  • New Inventory reservation system in Open Source for high performant checkout
  • API coverage for integration with the 3rd party inventory system

Advantages of Magento 2 MSI:

  • Improved management of physical locations, i.e., Sources and its products.
  • Efficiently increase sales and enhance customer experience with improved and increased inventory visibility.
  • Efficient checkout
  • Easily manage Drop Shipping
  • Get low-level up-to-date inventory reports.
  • For an order with multiple items, if a customer wants a particular item in advance, the merchant can organize a separate shipment from a different warehouse with faster delivery service.
  • “Buy online and pick up in store” option to increase traffic and enhance the customer shopping experience.
Magento 2 MSI Operating Diagram by Meetanshi

Magento 2 MSI Operating Diagram

Implementing Multi-Source Inventory in Magento 2:

1) Source

A source is a place where the product is located. The physical location that can be a warehouse, brick and mortar store, distribution places, etc. of a product. A primary element of inventory, the source is added and then merchants can set the quantity of the available products per any single source.

Add a new source:

  1. Login to admin panel
  2. Go to Stores > Inventory > Sources
  3. Initially, you’ll see the default source which can’t be disabled. All the products are assigned to it by default in a Single source mode.
  4. To enable the multi-source mode, click “Add New Source
Manage source grid in Magento 2 admin
  1. Enter the details like source name, code, description, latitude, and longitude, and enable it. Moreover, enter the contact and address information as shown below
New Source
  1. Save the configuration.

2) Stocks

The stocks are the virtual inventory of the products for sale to the sales channels (Magento websites) Each stock maps your sales channels with sources for available inventories and salable quantities. Depending on your store configuration, the stock may be assigned to one or more sales channels and sources.

Add new stock:

  1. Navigate to Stores > Inventory > Stocks.
  2. Initially, only the default stock is available which can’t be disabled. It is assigned to the default source and the website in a Single source mode.
  3. To enable the multi source mode, click “Add New Stock
Manage stock grid in Magento 2 admin
  1. Enter the name of the stock, link the source to the selected sales channel from here and assign the sources.
New stock grid in Magento 2 admin

3) Product Inventory Configuration

Now, you can attach sources to products! Check how:

  1. Go to Catalog > Products
  2. Go to product edit.
  3. Under Sources, click the Assign Sources button.
  4. Select the sources to be assigned and click “Done
Assign Sources in Product Edit
  1. Once saved, it gets displayed as below:
Assigned Sources
  1. Easily determine the quantity, the stock status and modify the default admin threshold for the low stock notifications.

4) Salable Quantity

Unlike in previous versions of Magento 2, the quantity of a product does not decrease when the customer places an order. Instead, the salable quantity gets reduced. The quantity of the product decrease only after shipping is completed.

Quantity Per Source & Salable Quantity

5) Search Selection Algorithm

The search selection algorithm calculates from which source order can be delivered in the most efficient way with the highest product margin. It uses data about customers, products, addresses, stock, sources, and order’s delivery location.

Source Selection Algorithm

How To Disable MSI In Magento 2.3?

Run the below command:

bin/magento module:disable -f Magento_Inventory Magento_InventoryAdminUi Magento_InventoryApi Magento_InventoryBundleProduct Magento_InventoryBundleProductAdminUi Magento_InventoryCatalog Magento_InventorySales Magento_InventoryCatalogAdminUi Magento_InventoryCatalogApi Magento_InventoryCatalogSearch Magento_InventoryConfigurableProduct Magento_InventoryConfigurableProductAdminUi Magento_InventoryConfigurableProductIndexer Magento_InventoryConfiguration Magento_InventoryConfigurationApi Magento_InventoryGroupedProduct Magento_InventoryGroupedProductAdminUi Magento_InventoryGroupedProductIndexer Magento_InventoryImportExport Magento_InventoryIndexer Magento_InventoryLowQuantityNotification Magento_InventoryLowQuantityNotificationAdminUi Magento_InventoryLowQuantityNotificationApi Magento_InventoryMultiDimensionalIndexerApi Magento_InventoryProductAlert Magento_InventoryReservations Magento_InventoryReservationsApi Magento_InventoryCache Magento_InventorySalesAdminUi Magento_InventorySalesApi Magento_InventorySalesFrontendUi Magento_InventoryShipping Magento_InventorySourceDeductionApi Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryShippingAdminUi Magento_InventoryDistanceBasedSourceSelectionAdminUi Magento_InventoryDistanceBasedSourceSelectionApi Magento_InventoryElasticsearch Magento_InventoryExportStockApi Magento_InventoryReservationCli Magento_InventoryExportStock Magento_CatalogInventoryGraphQl Magento_InventorySetupFixtureGenerator

Run the below upgrade commands:

bin/magento setup:upgrade
bin/magento cache:flush
bin/magento indexer:reindex

That was all about multi-source inventory in Magento 2.

Should you have any questions, feel free to leave a comment below.

Do not forget to flash 5 stars if it gave you a thorough understanding of Magento 2 MSI!

Thank you.

Sanjay Jethva Full Image
Article bySanjay Jethva

Sanjay is the co-founder and CTO of Meetanshi with hands-on expertise with Magento since 2011. He specializes in complex development, integrations, extensions, and customizations. Sanjay is one the top 50 contributor to the Magento community and is recognized by Adobe. His passion for Magento 2 and Shopify solutions has made him a trusted source for businesses seeking to optimize their online stores. He loves sharing technical solutions related to Magento 2 & Shopify.