6

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

https://devdocs.magento.com/extensions/inventory-management/#disable-inventory-management

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 '19 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 '19 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 '19 at 21:59
10

There are 3 options:

Option 1 - Disable via module:disable

This command will list and disable all the MSI modules.

php bin/magento module:status | grep Magento_Inventory | grep -v List | grep -v None | grep -v -e '^$' | xargs php bin/magento module:disable
php bin/magento s:upgrade
php bin/magento s:s:deploy -f
php bin/magento c:flush
php bin/magento i:reindex

Option 2 - Remove from the core

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": "*"
  }

Option 3 - Remove from the core using Yireo module

You can add this module which does the same.

composer require yireo/magento2-replace-inventory:2.3.*  
  • And magento/module-inventory-advanced-checkout, magento/module-inventory-requisition-list at least in M 2.3.4 – BartZalas Mar 12 at 9:44
7

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
  • 1
    replacing the modules in composer.json is even better so they do not get installed. – Anna Völkl Oct 9 '19 at 12:16
  • 1
    @AnnaVölkl well better keep it, in case someday you are gonna need it – jojo Feb 12 at 8:04
  • 1
    You can always reinstall them later if needed – Anna Völkl Feb 17 at 13:29
0

You can disable the MSI using the command line, by disabling its separate modules. The modules list to disable is dependent on your exact Magento version.

Here is a good tutorial for that - https://www.mexbs.com/magento-blog/disabling-the-magento-msi/

-1

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

  • 2
    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 '19 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 '19 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 '19 at 17:10
  • The question is how to disable msi, not why to. In my case it doesn't work with our existing ERP and questioning why does not answer the question. – ol'bob dole Jan 20 at 11:31
  • the question is always why, as MSI is Magento Inventory since 2.3.0 so, not changing your existing integration (which relies on legacy Magento Inventory) with ERP now - you only postponing these inevitable changes, accumulating the technical debt. From what I saw it was much easier and correct to adapt Magento - ERP Inventory synchronization to support reservations than to disable msi – Igor Minyaylo Jan 21 at 1:38

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.