I've seen this below that MSI can be disabled in Magento 2.3


It says to disable modules. I can understand how this is done but it does not say which module or modules to disable Does anyone know

Or should I just amend the config file to reflect what it shows?

  • I think they list it already – fmsthird May 2 at 10:26
  • If you don't add any sources and stocks other than default(which are already present), you should be able to continue as if MSI is not enabled. – coderGeek Jul 18 at 14:04
  • What did you do in the end? I'm trying to patch MSI to make it faster. Initially I wanted to remove but after suggestions will cause problems I'm now trying to upgrade magento.stackexchange.com/questions/294378/… – Dominic Xigen Nov 2 at 21:59

To disable the MSI it's best to do it from command line by running this command in the magento root:

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

After that of course run the upgrade commands:

php bin/magento setup:upgrade
php bin/magento cache:flush
php bin/magento indexer:reindex
  • replacing the modules in composer.json is even better so they do not get installed. – Anna Völkl Oct 9 at 12:16

You can remove all Magento MSI modules adding these lines in the composer.json:

"replace": {
    "magento/module-inventory": "*",
    "magento/module-inventory-admin-ui": "*",
    "magento/module-inventory-api": "*",
    "magento/module-inventory-bundle-product": "*",
    "magento/module-inventory-bundle-product-admin-ui": "*",
    "magento/module-inventory-cache": "*",
    "magento/module-inventory-catalog": "*",
    "magento/module-inventory-catalog-admin-ui": "*",
    "magento/module-inventory-catalog-api": "*",
    "magento/module-inventory-catalog-search": "*",
    "magento/module-inventory-configurable-product": "*",
    "magento/module-inventory-configurable-product-admin-ui": "*",
    "magento/module-inventory-configurable-product-indexer": "*",
    "magento/module-inventory-configuration": "*",
    "magento/module-inventory-configuration-api": "*",
    "magento/module-inventory-distance-based-source-selection": "*",
    "magento/module-inventory-distance-based-source-selection-admin-ui": "*",
    "magento/module-inventory-distance-based-source-selection-api": "*",
    "magento/module-inventory-export-stock": "*",
    "magento/module-inventory-export-stock-api": "*",
    "magento/module-inventory-elasticsearch": "*",
    "magento/module-inventory-graph-ql": "*",
    "magento/module-inventory-grouped-product": "*",
    "magento/module-inventory-grouped-product-admin-ui": "*",
    "magento/module-inventory-grouped-product-indexer": "*",
    "magento/module-inventory-import-export": "*",
    "magento/module-inventory-indexer": "*",
    "magento/module-inventory-low-quantity-notification": "*",
    "magento/module-inventory-low-quantity-notification-admin-ui": "*",
    "magento/module-inventory-low-quantity-notification-api": "*",
    "magento/module-inventory-multi-dimensional-indexer-api": "*",
    "magento/module-inventory-product-alert": "*",
    "magento/module-inventory-reservations": "*",
    "magento/module-inventory-reservations-api": "*",
    "magento/module-inventory-reservation-cli": "*",
    "magento/module-inventory-sales": "*",
    "magento/module-inventory-sales-admin-ui": "*",
    "magento/module-inventory-sales-api": "*",
    "magento/module-inventory-sales-frontend-ui": "*",
    "magento/module-inventory-setup-fixture-generator": "*",
    "magento/module-inventory-shipping": "*",
    "magento/module-inventory-shipping-admin-ui": "*",
    "magento/module-inventory-source-deduction-api": "*",
    "magento/module-inventory-source-selection": "*",
    "magento/module-inventory-source-selection-api": "*"

Or you can add this module which does the same.

composer require yireo/magento2-replace-inventory:2.3.*  

why do you need to disable MSI? MSI is the new Inventory for Magento 2, do you want to proceed without Inventory in your eCommerce store?

The possibility of disabling MSI is preserved to make Merchants who use previous Magento versions and have Inventory customizations to quickly upgrade to Magento 2.3 without a need to refactor the Inventory.

If you have from the scratch Magento 2.3.* installation disabling MSI is most probably is not the thing you need

  • 1
    Reasons to not use MSI: doesn't handle backorders correctly, has no option to decrease stock when order is placed (only when shipped). Some shops use outside stock keeping systems as well. – Domeglic May 22 at 7:42
  • @Domeglic what do you mean by does not handle backorders correctly? MSI supports backorders functionality. Even broader than before, since MSI you can use Backorder + negative Min Quantity to specify a limit for backordered products - github.com/magento-engcom/msi/wiki/Configure-MSI-backorders – Igor Minyaylo May 23 at 17:07
  • @Domeglic external stock keeping systems could be integrated with MSI, using dedicated MSI APIs, like \Magento\InventorySalesApi\Api\PlaceReservationsForSalesEventInterface and this is a recommended way of making this kind of integration. Moreover, Magento itself relies on this API building an integration MSI and MOM (which you can consider as external stock keeping system) – Igor Minyaylo May 23 at 17:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.