-
Notifications
You must be signed in to change notification settings - Fork 248
MSI Release Notes and Installation
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:
- Inventory Management Release Notes
- Manage Inventory Management Modules for install, upgrade, update, etc
- Upcoming Releases for all Magento releases
See the following:
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"
.
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
composer config minimum-stability beta
composer config prefer-stable true
composer require --no-update "magento/inventory-composer-metapackage:1.1.2-beta2"
composer update
- 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 theonly_x_left_in_stock
andstock_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 thesku
,qty
,origin_source_code
, anddestination_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,
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!
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.
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 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).
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.
Multi-Source Inventory developed by Magento 2 Community
- Technical Vision. Catalog Inventory
- Installation Guide
- List of Inventory APIs and their legacy analogs
- MSI Roadmap
- Known Issues in Order Lifecycle
- MSI User Guide
- 2.3 LIVE User Guide
- MSI Release Notes and Installation
- Overview
- Get Started with MSI
- MSI features and processes
- Global and Product Settings
- Configure Source Selection Algorithm
- Create Sources
- Create Stock
- Assign Inventory and Product Notifications
- Configure MSI backorders
- MSI Import and Export Product Data
- Mass Action Tool
- Shipment and Order Management
- CLI reference
- Reports and MSI
- MSI FAQs
- DevDocs Documentation
- Manage Inventory Management Modules (install/upgrade info)
- Inventory Management
- Reservations
- Inventory CLI reference
- Inventory API reference
- Inventory In-Store Pickup API reference
- Order Processing with Inventory Management
- Managing sources
- Managing stocks
- Link and unlink stocks and sources
- Manage source items
- Perform bulk actions
- Manage Low-Quantity Notifications
- Check salable quantities
- Manage source selection algorithms
- User Stories
- Support of Store Pickup for MSI
- Product list assignment per Source
- Source assignment per Product
- Stocks to Sales Channel Mapping
- Adapt Product Import/Export to support multi Sourcing
- Introduce SourceCode attribute for Source and SourceItem entities
- Assign Source Selector for Processing of Returns Credit Memo
- User Scenarios:
- Technical Designs:
- Module Structure in MSI
- When should an interface go into the Model directory and when should it go in the Api directory?
- Source and Stock Item configuration Design and DB structure
- Stock and Source Configuration design
- Open Technical Questions
- Inconsistent saving of Stock Data
- Source API
- Source WebAPI
- Sources to Sales Channels mapping
- Service Contracts MSI
- Salable Quantity Calculation and Mechanism of Reservations
- StockItem indexation
- Web API and How To cover them with Functional Testing
- Source Selection Algorithms
- Validation of Domain Entities
- PHP 7 Syntax usage for Magento contribution
- The first step towards pre generated IDs. And how this will improve your Integration tests
- The Concept of Default Source and Domain Driven Design
- Extension Point of Product Import/Export
- Source Selection Algorithm
- SourceItem Entity Extension
- Design Document for changing SerializerInterface
- Stock Management for Order Cancelation
- Admin UI
- MFTF Extension Tests
- Weekly MSI Demos
- Tutorials