0

Running Magento 2.3.0 which is migrated from Magento 1. We have been running sometime with MSI enabled, but now want to stop using it. I disabled all Magento_Inventory modules. Now when I open a product and save it I get an http 500 error and find this in the error_log file:

    [05-May-2019 20:50:39 UTC] PHP Fatal error:  Uncaught Error: Cannot instantiate interface Magento\InventorySalesApi\Api\GetProductSalableQtyInterface in /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:116
Stack trace:
#0 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Invento...', Array)
#1 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Invento...')
#2 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Invento...')
#3 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('KoekEnPeer\\Effe...')
#4 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled in /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 116

[05-May-2019 20:50:45 UTC] PHP Fatal error:  Uncaught Error: Cannot instantiate interface Magento\InventorySalesApi\Api\StockResolverInterface in /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:116
    Stack trace:
    #0 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Invento...', Array)
    #1 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(150): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Invento...')
    #2 /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/Compiled.php(79): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Invento...')
    #3 /home/villase1/public_html/vendor/magento/framework/ObjectManager/ObjectManager.php(70): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Invento...')
    #4 /home/villase1/public_html/vendor/magento/framework/Interception/PluginList/PluginList.php(25 in /home/villase1/public_html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 116

Below partial output from the php bin/magento module:status command:

List of disabled modules:
Magento_Inventory
Magento_InventoryAdminUi
Magento_InventoryApi
Magento_InventoryBundleProduct
Magento_InventoryBundleProductAdminUi
Magento_InventoryCatalog
Magento_InventorySales
Magento_InventoryCatalogAdminUi
Magento_InventoryCatalogApi
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
Klarna_Core
Amazon_Core
Klarna_Ordermanagement
Magento_InventoryShippingAdminUi
Amazon_Login

Why are the Magento Inventory interfaces instantiated when the modules have been disabled?

  • Why you disabled these modules? Magento requires Qty field when the product is being saved – Ranganathan May 6 at 4:11
  • I do not want to use the saleable quantity concept present in MSI. Without these modules the quantity is still there. For more info see Disable Inventory Management: devdocs.magento.com/extensions/inventory-management – Karl May 6 at 4:45
0

can you check whether there are any other modules with "Inventory" prefix installed on your Magento deployment? Because of the initial devdocs page regarding disabling of MSI is dedicated for Magento 2.3.0, since that time 5 more modules have been added. Thus, if your MSI version is 1.1.0 you need to disable a few more modules.

Also, check whether there is a code in the installed customizations and extensions which uses MSI APIs.

But also be aware, that eventually, Magento will eliminate CatalogInventory module (which is deprecated since Magento 2.3.0), and there would not be a viable alternative for MSI.

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.