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!
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
Implementing Multi Source Inventory in Magento 2:
Understand each of the following,
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:
- Login to admin panel
- Go to Stores > Inventory > Sources
- 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.
- To enable the multi-source mode, click “Add New Source“
- Enter the details like source name, code, description, latitude, and longitude, and enable it. Moreover, enter the contact and address information as shown below
- Save the configuration.
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:
- Navigate to Stores > Inventory > Stocks.
- 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.
- To enable the multi source mode, click “Add New Stock“
- Enter the name of the stock, link the source to the selected sales channel from here and assign the sources.
Product Inventory Configuration
Now, you can attach sources to products! Check how:
- Go to Catalog > Products
- Go to product edit.
- Under Sources, click the Assign Sources button.
- Select the sources to be assigned and click “Done“
- Once saved, it gets displayed as below:
- Easily determine the quantity, the stock status and modify the default admin threshold for the low stock notifications.
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.
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.
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:
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!