Enable Inventory Management features

When installed, upgraded, or updated, the Manage Stock option in the Admin is enabled by default. This option enables inventory tracking and management, but does not affect module status. To disable modules, see the next section.

For more information about configurations, see Configure Inventory Management.

Disable Inventory Management

IMPORTANT
Using the default Inventory Management modules is highly recommended. The alternative CatalogInventory module, which is used for systems with disabled Inventory Management modules, is now deprecated. Disabling the Inventory Management modules can cause an unstable system and result in various issues.

You may want to disable Inventory Management modules to:

  • Speed up the upgrade process for merchants migrating from 2.0.x, 2.1.x, 2.2.x, or 2.3.x to 2.4.x.
  • Use custom or third-party inventory and order management system modules.

See the Enable or disable modules page in the Installation Guide for information about how to disable the applicable modules.

When complete, the system provides a list of modules and values in <Magento_installation_directory>/app/etc/config.php, beginning with:

   'Magento_Inventory' => 0,
   'Magento_InventoryAdminUi' => 0,
   'Magento_InventoryAdvancedCheckout' => 0,
   ...
IMPORTANT
If you have the OMS Connector modules installed, make sure that you do not disable the Magento_InventoryMessageBus module, which is a Connector module. It is required to use the Connector with OMS.

Remove Inventory Management

IMPORTANT
Using the default Inventory Management modules is highly recommended. The alternative CatalogInventory module, which is used for systems with removed Inventory Management modules, is now deprecated. Removing the Inventory Management modules can cause an unstable system and result in various issues.

If you choose not to use the Inventory Management functionality, you can remove (uninstall) these modules. To remove all the modules through the composer file, add the following to composer.json:

"replace": {
        "magento/module-inventory": "*",
        "magento/module-inventory-admin-ui": "*",
        "magento/module-inventory-advanced-checkout": "*",
        "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-requisition-list": "*",
        "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": "*",
        "magento/module-inventory-visual-merchandiser": "*",
        "magento/module-inventory-swatches-frontend-ui": "*",
        "magento/module-inventory-quote-graph-ql": "*",
        "magento/module-inventory-in-store-pickup": "*",
        "magento/module-inventory-in-store-pickup-sales": "*",
        "magento/module-inventory-in-store-pickup-admin-ui": "*",
        "magento/module-inventory-in-store-pickup-sales-admin-ui": "*",
        "magento/module-inventory-in-store-pickup-api": "*",
        "magento/module-inventory-in-store-pickup-sales-api": "*",
        "magento/module-inventory-in-store-pickup-frontend": "*",
        "magento/module-inventory-in-store-pickup-shipping": "*",
        "magento/module-inventory-in-store-pickup-graph-ql": "*",
        "magento/module-inventory-in-store-pickup-shipping-admin-ui": "*",
        "magento/module-inventory-in-store-pickup-multishipping": "*",
        "magento/module-inventory-in-store-pickup-shipping-api": "*",
        "magento/module-inventory-in-store-pickup-quote": "*",
        "magento/module-inventory-in-store-pickup-webapi-extension": "*",
        "magento/module-inventory-in-store-pickup-quote-graph-ql": "*",
        "magento/module-inventory-configurable-product-frontend-ui": "*",
        "magento/module-inventory-catalog-search-configurable-product": "*",
        "magento/module-inventory-catalog-search-bundle-product": "*",
        "magento/module-inventory-catalog-frontend-ui": "*",
        "magento/module-inventory-bundle-import-export": "*",
        "magento/module-inventory-bundle-product-indexer": "*"
    }

When this change is complete, run composer install, and it automatically removes these Inventory Management modules.

Upgrade Inventory Management

Previous Commerce versions

When upgrading or updating an existing 2.1.x, 2.2.x, or 2.3.x installation to Adobe Commerce or Magento Open Source 2.4.x, Inventory Management modules are disabled by default. This default setting is a precaution to prevent backward-incompatible upgrades and to better support Order Management (OMS).

NOTE
Order Management does not support Inventory Management. When upgrading, Inventory Management modules are disabled to allow OMS and Commerce 2.3.x to work seamlessly.

To enable Inventory Management modules:

  1. Edit the <Commerce_installation_directory>/app/etc/config.php file.

  2. Modify all Inventory modules from 0 to 1 to enable.

  3. Update the database:

    bin/magento setup:upgrade
    
  4. Clean the cache:

    bin/magento cache:clean
    

It is recommended that you use the reservation inconsistencies commands after upgrading. When upgrading, all of your products are added to the Default Stock. If you have pending orders, the commands correctly update your salable quantity and reservations for sales and order fulfillment.

Previous Inventory Management versions

When upgrading from previous releases of Inventory Management to the latest version, follow normal extension upgrade steps.

For the latest, update your metapackage version:

        magento/inventory-composer-metapackage = 1.1.3

See the following guides for more information about Commerce upgrades:

Previous pageCommerce upgrades
Next pageMerchant sourcing