How to Disable MSI in Magento 2?

Magento 2 Disable MSI Feature

Hello Magento Friends,

In this article, I will help you How to disable MSI in Magento 2? But before that let’s check out first what MSI is.

Magento handles only a single inventory system and due to that, it is very difficult to handle the multi-channel inventories from a single website. MSI standing for Multi-Source Inventory was introduced for the first time on the release of Magento 2.3.0. With the help of MSI, it provides an ability to the online store owners for managing their inventory perfectly. No matter the location of the inventories. It makes the shipping, checkout, and delivery services faster.

The only disadvantage using this feature is more than one order placed then the MSI is not able to handle if the order is from different sources and from different stores. There are one more disadvantage of using MSI is the store owner is unable to manage the backorders perfectly because it has no option for reducing the placed order. It reduces only if the product is shipped. Therefore it is better to disable the MSI feature.

Steps to Disable MSI in Magento 2 :

Run the below command in your SSH to disable MSI in Magento 2.3.0:

php 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

Run the below command in your SSH to disable MSI in Magento 2.3.1:

php 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_InventoryDistanceBasedSourceSelection Magento_InventoryDistanceBasedSourceSelectionAdminUi Magento_InventoryDistanceBasedSourceSelectionApi Magento_InventoryElasticsearch 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_InventorySetupFixtureGenerator Magento_InventoryShipping Magento_InventorySourceDeductionApi Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryShippingAdminUi

Run the below command in your SSH to disable MSI in Magento 2.3.2:

php 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 command in your SSH to disable MSI in Magento 2.3.3 or Magento 2.3.4:

php 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 Magento_InventoryAdvancedCheckout Magento_InventoryDistanceBasedSourceSelection Magento_InventoryRequisitionList Magento_InventoryGraphQl

Run the below command in your SSH to disable MSI in Magento 2.4.0

php bin/magento module:disable -f Magento_Inventory Magento_InventoryAdminUi Magento_InventoryAdvancedCheckout 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_InventoryDistanceBasedSourceSelection Magento_InventoryDistanceBasedSourceSelectionAdminUi Magento_InventoryDistanceBasedSourceSelectionApi Magento_InventoryElasticsearch Magento_InventoryExportStockApi Magento_InventoryIndexer Magento_InventorySalesApi Magento_InventoryGroupedProduct Magento_InventoryGroupedProductAdminUi Magento_InventoryGroupedProductIndexer Magento_InventoryImportExport Magento_InventoryCache Magento_InventoryLowQuantityNotification Magento_InventoryLowQuantityNotificationApi Magento_InventoryMultiDimensionalIndexerApi Magento_InventoryProductAlert Magento_InventoryRequisitionList Magento_InventoryReservations Magento_InventoryReservationCli Magento_InventoryReservationsApi Magento_InventoryExportStock Magento_InventorySalesAdminUi Magento_InventorySalesFrontendUi Magento_InventorySetupFixtureGenerator Magento_InventoryShipping Magento_InventorySourceDeductionApi Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryLowQuantityNotificationAdminUi Magento_InventoryShippingAdminUi Magento_InventoryGraphQl

Final Words:

That’s It you are done with disabling the MSI in your Magento 2 store.In case you find any troubles in implementing the above code then do comment down in the comment section below. Make sure you share the blog with your friends and help them in disabling the MSI in their Magento 2 store.

Till then stay safe and stay connected.

Happy Disabling?

Related Topics You May Also Like to Read:

Previous Article

How to Configure/Setup Value Added Tax (VAT) in Magento 2

Next Article

Steps to Remove Apply Discount Code From Checkout Payment Page in Magento 2

Write a Comment
  1. Daan van den Bergh

    Just so you know, this might work on a fresh install. But on an existing install, with e.g. Sample Data, disabling MSI will cause setup:upgrade to fail.

  2. Saroj Kumari

    Hey , after disabling the MSI , when I upgrade cmd use , it show me issue of
    SQLSTATE[HY000]: General error: 1829 Cannot drop column ‘source_code’: needed in a foreign key constraint ‘INVENTORY_SOURCE_ITEM_SOURCE_CODE_INVENTORY_SOURCE_SOURCE_CODE’ of table ‘hugs_new.inventory_source_item’, query was: ALTER TABLE `inventory_source` DROP COLUMN `source_code`, DROP COLUMN `name`, DROP COLUMN `enabled`, DROP COLUMN `description`, DROP COLUMN `latitude`, DROP COLUMN `longitude`, DROP COLUMN `country_id`, DROP COLUMN `region_id`, DROP COLUMN `region`, DROP COLUMN `city`, DROP COLUMN `street`, DROP COLUMN `postcode`, DROP COLUMN `contact_name`, DROP COLUMN `email`, DROP COLUMN `phone`, DROP COLUMN `fax`, DROP COLUMN `use_default_carrier_config`, DROP PRIMARY KEY

    what should I do

  3. After disabling modules, I got below error.
    Error: Cannot instantiate interface Magento\InventorySalesApi\Api\IsProductSalableInterface.

    I am using magento2.4.1

    Can you please send me the commands for 2.4.1

  4. I am using Magento 2.3.2 and 2.3.5 but after run MSI disable command and then do all the command like upgrade, compile, deploy, c:c, c:f but after that I am facing error when time of order placed.

    Stack trace:
    #0 /home/pixel987/staging.thepixelconnection.com/vendor/magento/framework/ObjectManager/ObjectManager.php(70): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create(‘Magento\\Invento…’)
    #1 /home/pixel987/staging.thepixelconnection.com/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(160): Magento\Framework\ObjectManager\ObjectManager->get(‘Magento\\Invento…’)
    #2 /home/pixel987/staging.thepixelconnection.com/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(246): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, ‘Magento\\Invento…’, NULL, ‘stockRepository’, ‘Magento\\Invento…’)
    #3 /home/pixel987/staging.thepixelconnection.com/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(34): Mag in /home/pixel987/staging.thepixelconnection.com/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php on line 50

Leave a Comment

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

Get Connect With Us

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨