Skip to content

MSI Release Notes and Installation

Stanislav Idolov edited this page Mar 31, 2020 · 40 revisions

DevDocs Documentation for MSI

These page tracks Draft release notes for in-progress development and documentation. For the full set of current release notes and module information, please see the following DevDocs:


Drafted Release Information for MSI

See the following:

MSI 1.1.2 Beta

DRAFT: The following information is draft documentation for this package release.

Module Release Date: TBD

Magento Release: Fully supported on Magento v2.3.2, Compatible with 2.3.1 and 2.3.0 (additional installation steps required).

Module Version: inventory-composer-metapackage = 1.1.2 (with -beta suffix during the early access stage)

Beta Installation:

  • Composer minimum stability has to be changed to "beta" to support this pre-release. For example: "minimum-stability": "beta".
  • To install MSI 1.1.2-beta on top of Magento 2.3.0 it's only required to change the required package version in composer, for example "magento/inventory-composer-metapackage": "1.1.2-beta2".
  • Magento 2.3.1 release has more strict version constraint for Inventory package, so composer file must be adjusted with inline alias, overriding existing constraint. For example: "magento/inventory-composer-metapackage": "1.1.2-beta2 as 1.1.1".

Install steps for 1.1.2 Beta

Install 1.1.2-beta with 2.3.1

composer config minimum-stability beta
composer config prefer-stable true
composer require --no-update "magento/inventory-composer-metapackage:1.1.2-beta2 as 1.1.1"
composer update

Install 1.1.2-beta with 2.3.0

composer config minimum-stability beta
composer config prefer-stable true
composer require --no-update "magento/inventory-composer-metapackage:1.1.2-beta2"
composer update

Highlights

  • Performance improvements for sources and SSA options - Sorting and selecting sources during shipment caused performance degredation for stocks with high numbers of sources. This release provides significant performance improvements to list and sort available sources when reviewing and selecting SSA options in shipments.
  • Added GraphQL support for MSI - This release installs a new magento/module-inventory-graph-ql module. The GraphQL Products endpoint also includes the only_x_left_in_stock and stock_status attributes for Inventory Management support. (Doc will be live soonish)

  • Added a Partial Stock Transfer API - Current bulk transfer endpoints move all assigned quantity from an origin to destination source. The new /rest/V1/inventory/bulk-partial-source-transfer endpoint allows merchants to transfer partial stock from source-to-source as a bulk operation. Enter a request to the endpoint with the sku, qty, origin_source_code, and destination_source_code to transfer a specific amount of quantity. Transfers verify the source is assigned to the sku, enough quantity exists to transfer, etc. (Doc will be live soonish)

  • Added Reservation CLI commands - New commands give you options to detect and resolve reservation inconsistencies. As orders submit and change status, MSI generates initial reservations and updates through compensation reservations. These commands return a list of detected inconsistencies by Order ID, SKU, and Stock ID and create reservations to resolve. See CLI reference(Draft).

  • Simplified UI for Assigned Sources - The Assigned Sources table in product pages has simplified content for easier updates and increased performance when displaying many sources. All sources list by source name (hover over for source_code).

  • Export Aggregated Stock Service - We implemented a new export aggregated stock service (retaining reservations in the system) to support external Sales Channels like Amazon, eBay, Google Shopping ads, etc.

  • Properly return source_code in the response for the /rest/V1/shipments REST endpoint.

  • Resolved issue to correctly clear reservations and update product quantities after issuing a credit memo for an unshipped order. When you select the option to

  • Resolved issue to correctly save quantity for configurable product children when entering quantities during product creation.

1.1.2 Module List

The following is the complete list of modules:

        'Magento_Inventory' => 1,
        'Magento_InventoryAdminUi' => 1,
        'Magento_InventoryApi' => 1,
        'Magento_InventoryGraphQl' => 1,
        'Magento_InventoryBundleProduct' => 1,
        'Magento_InventoryBundleProductAdminUi' => 1,
        'Magento_InventoryCache' => 1,
        'Magento_InventoryConfigurableProduct' => 1,
        'Magento_InventoryCatalogApi' => 1,
        'Magento_InventoryCatalog' => 1,
        'Magento_InventoryCatalogAdminUi' => 1,
        'Magento_InventoryCatalogSearch' => 1,
        'Magento_InventoryConfigurableProductAdminUi' => 1,
        'Magento_InventoryConfigurableProductIndexer' => 1,
        'Magento_InventoryConfiguration' => 1,
        'Magento_InventoryConfigurationApi' => 1,
        'Magento_InventoryDistanceBasedSourceSelection' => 1,
        'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
        'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
        'Magento_InventoryElasticsearch' => 1,
        'Magento_InventoryExportStock' => 1,
        'Magento_InventoryExportStockApi' => 1,
        'Magento_InventoryGroupedProduct' => 1,
        'Magento_InventoryGroupedProductAdminUi' => 1,
        'Magento_InventoryGroupedProductIndexer' => 1,
        'Magento_InventoryImportExport' => 1,
        'Magento_InventoryIndexer' => 1,
        'Magento_InventoryLowQuantityNotification' => 1,
        'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
        'Magento_InventoryLowQuantityNotificationApi' => 1,
        'Magento_InventoryMultiDimensionalIndexerApi' => 1,
        'Magento_InventoryProductAlert' => 1,
        'Magento_InventoryReservations' => 1,
        'Magento_InventoryReservationsApi' => 1,
        'Magento_InventoryReservationsCli' => 1,
        'Magento_InventorySales' => 1,
        'Magento_InventorySalesAdminUi' => 1,
        'Magento_InventorySalesApi' => 1,
        'Magento_InventorySalesFrontendUi' => 1,
        'Magento_InventorySetupFixtureGenerator' => 1,
        'Magento_InventoryShipping' => 1,
        'Magento_InventoryShippingAdminUi' => 1,
        'Magento_InventorySourceDeductionApi' => 1,
        'Magento_InventorySourceSelection' => 1,
        'Magento_InventorySourceSelectionApi' => 1,

MSI 1.1.0

Important: MSI 1.1.0 became the supported package version for v2.3.0. For v2.3.1, this same package was re-released as 1.1.1 and supports 2.3.0 and 2.3.1.

Module Release Date: February 12, 2019

Magento Release: 2.3.0 and 2.3.1 Open Source, Commerce, Commerce Cloud

Module Version: inventory-composer-metapackage = 1.1.0 - For 2.3.1, the module number was upgraded to 1.1.1

Highlights

The Distance Priority Algorithm is a new out-of-the-box Source Selection Algorithm for distance-based shipping recommendations. This algorithm compares the location of the shipping destination address with source locations to determine the closest source to fulfill shipments. The distance may be determined by physical distance or time spent traveling from one location to another, using imported database location data or Google directions (driving, walking, or bicycling). See Configure MSI SSA.

Multi Source merchants with a high number of sources can easily hover and view all sources per product through the Product Grid. Each product displays a minimum of five sources and matching quantities. When hovering over the sources, you can scroll through the entire list of sources and current quantities. For an example, see Modifying Quantities and Notifications in the Admin.

Fixed Issues

  • Added support for Elasticsearch for Single and Multi Sources modes. You can now configure and use Elasticsearch with custom stocks. This resolves a known issue for 2.3.0 Open Source and Commerce. See DevDocs Set up Elasticsearch service to install and Elasticsearch to configure through the Admin.

  • Resolved performance issues with Default Stock to drastically increase performance with numerous operations. Improvements increase performance for Single Source mode, Transfer Inventory to Source, storefront category pages, and Salable Quantity calculations. This resolves a known issue requiring custom stocks creation for Single Source merchants for 2.3.0 Open Source and Commerce. With this fix, merchants may want to disable Run asynchronously if enabled.

  • Resolved issues with Out of Stock status and bulk Inventory Transfer to Stock for configurable and grouped products. Selecting the parent products and performing bulk actions does not affect the product status. If the parent product was In Stock, it remains In Stock.

1.1.0 Module List

Five new modules will be added as part of the upgrade. Three modules to support the new Distance Priority algorithm, dedicated module for Elasticsearch support and module with Fixture generation for Performance Acceptance (PAT) build.

InventoryDistanceBasedSourceSelection
InventoryDistanceBasedSourceSelectionAdminUi
InventoryDistanceBasedSourceSelectionApi
InventoryElasticsearch
InventorySetupFixtureGenerator

The following is the complete list of modules:

        'Magento_Inventory' => 1,
        'Magento_InventoryAdminUi' => 1,
        'Magento_InventoryApi' => 1,
        'Magento_InventoryBundleProduct' => 1,
        'Magento_InventoryBundleProductAdminUi' => 1,
        'Magento_InventoryCatalog' => 1,
        'Magento_InventorySales' => 1,
        'Magento_InventoryCatalogAdminUi' => 1,
        'Magento_InventoryCatalogApi' => 1,
        'Magento_InventoryCatalogSearch' => 1,
        'Magento_InventoryConfigurableProduct' => 1,
        'Magento_InventoryConfigurableProductAdminUi' => 1,
        'Magento_InventoryConfigurableProductIndexer' => 1,
        'Magento_InventoryConfiguration' => 1,
        'Magento_InventoryConfigurationApi' => 1,
        'Magento_InventoryGroupedProduct' => 1,
        'Magento_InventoryGroupedProductAdminUi' => 1,
        'Magento_InventoryGroupedProductIndexer' => 1,
        'Magento_InventoryImportExport' => 1,
        'Magento_InventoryIndexer' => 1,
        'Magento_InventoryLowQuantityNotification' => 1,
        'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
        'Magento_InventoryLowQuantityNotificationApi' => 1,
        'Magento_InventoryMultiDimensionalIndexerApi' => 1,
        'Magento_InventoryProductAlert' => 1,
        'Magento_InventoryReservations' => 1,
        'Magento_InventoryReservationsApi' => 1,
        'Magento_InventoryCache' => 1,
        'Magento_InventorySalesAdminUi' => 1,
        'Magento_InventorySalesApi' => 1,
        'Magento_InventorySalesFrontendUi' => 1,
        'Magento_InventoryShipping' => 1,
        'Magento_InventorySourceDeductionApi' => 1,
        'Magento_InventorySourceSelection' => 1,
        'Magento_InventorySourceSelectionApi' => 1,
        'Magento_InventoryShippingAdminUi' => 1,
        'Magento_InventoryDistanceBasedSourceSelection' => 1,
        'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
        'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
        'Magento_InventoryElasticSearch' => 1,
        'Magento_InventorySetupFixtureGenerator' => 1,

Contributions

We like to thank the following developers for their incredible support and efforts in this release: Riccardo "TheRick" Tempesta from MageSpecialist, Alex Lyzun from comwrap, Stepan Furman, Vitaliy Boiko from Atwix, Peep van Puijenbroek, and many others!

Install and Upgrade MSI

Release Status: 1.0.3 GA with Magento v2.3.0 on November 28,2018

Install Method: Composer MetaPackage - MSI is installed with Magento Open Source and Commerce.

Important: To correctly receive the dependency and install, you must install via Composer with a Meta Package.

When performing a fresh install of v2.3.X, MSI modules are enabled by default. The MSI extension installs as a Core Bundled Extension (CBE) in 2.3.x Magento Open Source and Commerce. Additional steps will not be required for installing and enabling the new Inventory Management features in that package.

MSI installs via this line in the composer.json metapackage:

magento/inventory-composer-metapackage = ^1.0.2

For a fresh install, see the Magento DevDocs Installation Guide.

When installed or upgraded, MSI adds the following modules enabled by default:

        'Magento_Inventory' => 1,
        'Magento_InventoryAdminUi' => 1,
        'Magento_InventoryApi' => 1,
        'Magento_InventoryBundleProduct' => 1,
        'Magento_InventoryBundleProductAdminUi' => 1,
        'Magento_InventoryCatalog' => 1,
        'Magento_InventorySales' => 1,
        'Magento_InventoryCatalogAdminUi' => 1,
        'Magento_InventoryCatalogApi' => 1,
        'Magento_InventoryCatalogSearch' => 1,
        'Magento_InventoryConfigurableProduct' => 1,
        'Magento_InventoryConfigurableProductAdminUi' => 1,
        'Magento_InventoryConfigurableProductIndexer' => 1,
        'Magento_InventoryConfiguration' => 1,
        'Magento_InventoryConfigurationApi' => 1,
        'Magento_InventoryGroupedProduct' => 1,
        'Magento_InventoryGroupedProductAdminUi' => 1,
        'Magento_InventoryGroupedProductIndexer' => 1,
        'Magento_InventoryImportExport' => 1,
        'Magento_InventoryIndexer' => 1,
        'Magento_InventoryLowQuantityNotification' => 1,
        'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
        'Magento_InventoryLowQuantityNotificationApi' => 1,
        'Magento_InventoryMultiDimensionalIndexerApi' => 1,
        'Magento_InventoryProductAlert' => 1,
        'Magento_InventoryReservations' => 1,
        'Magento_InventoryReservationsApi' => 1,
        'Magento_InventoryCache' => 1,
        'Magento_InventorySalesAdminUi' => 1,
        'Magento_InventorySalesApi' => 1,
        'Magento_InventorySalesFrontendUi' => 1,
        'Magento_InventoryShipping' => 1,
        'Magento_InventorySourceDeductionApi' => 1,
        'Magento_InventorySourceSelection' => 1,
        'Magento_InventorySourceSelectionApi' => 1,
        'Magento_InventoryShippingAdminUi' => 1,

The previous modules CatalogInventory for Open Source and ScalableInventory for Commerce were deprecated (and will be removed in 2.4).

To manage Inventory Management/MSI settings, see the Admin User Guide or Global Settings in this wiki. If you disable Manage Stock, this affects calculations not the modules. We provide additional information in the DevDocs Software Upgrade Guide: Manage Inventory Management modules.

Disabling MSI

If you need to fully remove or disable the MSI extension, you will need to disable the listed modules above (change 1 to 0 in composer.json). You should only need to disable the extensions in the following situations:

  • To speed up upgrade of merchants currently on Magento 2.0/2.1/2.2 and migrating to 2.3.X.
  • To support inventory customization. For example, if you have a custom implementation of Multi-Sourcing or Magento Order Management merchants.
  • To use Magento Order Management (OMS). The current MOM connector does not support MSI interfaces. For MOM merchants to upgrade to Magento 2.3.X, they need to disable MSI modules.

Upgrading MSI

Upgrading to Magento 2.3.X automatically installs and upgrades with MSI when installing via Composer Meta Package. To upgrade your current package of MSI, check your composer.json metapackage version. You can add ^ to always get the latest. Or you can change the version directly.

inventory-composer-metapackage = ^1.0.3

Important: When upgrading an existing Magento installation (from 2.1.X or 2.2.X to 2.3.X), MSI modules will be disabled by default. This is a precaution to prevent Backward Incompatible upgrade and to better support Magento Order Management (OMS).

Currently OMS uses a different approach to support multiple inventory sources that MSI modules are not compatible with (future support development planned). When upgrading, MSI modules will be disabled to allow OMS and Magento 2.3.X to work seamlessly. For a list of all modules, see Manage Inventory Management Modules.

See DevDocs Software Upgrade Guide for more information. All required and deprecated modules also automatically updated accordingly. You do not need to make additional changes or updates.

Deprecation notice: For a list of deprecated core modules, see DevDocs CatalogInventory and ScalableInventory for Commerce. MSI replaces these modules. For a list of modules, see the install section above.

With MSI installed, you should have Manage Stock enabled and all MSI features available. To verify and review configurations, see Configuring Inventory Management or MSI Global Settings(wiki).

MSI Release Notes

MSI 1.0.3

Magento Release: GA with Magento v2.3.0 Open Source and Commerce on November 28,2018

Module version: inventory-composer-metapackage = 1.0.3

  • Add Default Source and Default Stock when installed and enabled to all products.

  • Add Single and Multi Source modes for merchants to create custom sources for warehouses, brick-and-mortar stores, dropshipping, and distribution centers.

  • Support single sourcing and multi-sourcing of products

    Note: Multi-sourcing supported for all products except bundle.

  • Create custom stock to aggregate a virtual inventory from assigned sources and sales channels (websites and extended options)

  • Use Source Selection Algorithm for priority (out-of-the-bow) to review shipping recommendations

  • Ship partial and distributed shipments from multiple sources

  • Support orders for multiaddress shipping

  • Track, update, and transfer inventory quantities per source

  • Use bulk product action options for assigning sources, unassigning sources, and transferring stock from one source to another

  • Manage stock quantities from shopping cart to order to shipment

  • Return stock automatically for canceled orders and issues credit memos

  • Receive notifications for low available/salable inventory, out-of-stock, and backorders

  • Extend algorithms for customized source and order matching per sales channel

  • Integrate with 3rd party inventory systems, warehouses, and order management using MSI APIs

  • B2B support with MSI

    Note: For B2B to work, those products must currently be associated to the Default Stock. Updates are in progress for a later release to resolve this issue and support custom stocks.

For known issues, see 2.3.0 Release Notes.

Contributions:

We thank each and every one of our contributors, Partners, and SIs for your vision, dedication, work, testing, and support.

MSI Documentation:

  1. Technical Vision. Catalog Inventory
  2. Installation Guide
  3. List of Inventory APIs and their legacy analogs
  4. MSI Roadmap
  5. Known Issues in Order Lifecycle
  6. MSI User Guide
  7. DevDocs Documentation
  8. User Stories
  9. User Scenarios:
  10. Technical Designs:
  11. Admin UI
  12. MFTF Extension Tests
  13. Weekly MSI Demos
  14. Tutorials
Clone this wiki locally