Skip to content

Overview

Lori Krell edited this page Oct 1, 2018 · 87 revisions

This guide provides merchant information on Magento Multi Source Inventory (MSI) features and project. This information is in-progress and supports all MSI development.

Feature Names: MSI will replace and enhance Inventory Management in Magento for single and multi source merchants. In the final Magento User Guide v2.3, these features will be documented under Managing Inventory and other related pages.


The Magento Multi Source Inventory (MSI) extension enhances Inventory Management, enabling you to manage inventory for a single or across multiple locations and sales channels with concurrent checkout protection and shipment matching algorithms. These Inventory Management features and algorithms best support single and multisite configurations with multiple inventory sources fulfilling orders. Single source merchants gain benefits as well with product stock management, concurrent checkout, and ease of expanding to multi-source inventory management. As your business expands and changes, these features help you scale by adding more stock and sources, updating quantities, and extending to new sales channels.

Inventory Management supports all product types, simple to bundle products, including downloads and virtual products. With extensive Multi Source Inventory features, manage your inventory regardless of warehouse location, type of product or service, or sales channel. Automatically ship from multiple warehouses, brick-and-mortar stores, distribution centers, and drop shipping to complete orders with a focus on balanced inventory, shipping costs, and more.

Inventory Management in 2.3 gives you the ability to:

  • Support single sourcing and multi-sourcing of products

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

  • Create sources with specific locations (like warehouses and storefronts) and available shipping options

  • Create stock to aggregate a virtual inventory from all or some sources

  • Associate stock to sales channels (websites and extended options) with prioritized sources

  • Override and rerun source matching for order shipments

  • Ship partial and distributed shipments from multiple locations

  • Support orders for multiaddress shipping

  • Track, update, and transfer inventory quantities per source

  • 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

At the heart of Inventory Management and MSI are advanced algorithms and features to ensure smooth stock tracking and order fulfillment across your multiples sources and websites. With concurrent checkout, Magento tracks and reserves sales, preventing concurrent sales from overselling your available stock. The Source Selection Algorithm manages the reservation of stock, prioritizes the fulfillment across your sources using warehouse stock prior to store inventory, and finally deducts inventory for a source when creating a shipment. The SSA also generates recommendations for partial and full shipments sourced from one or more locations, removing the guesswork based on algorithms and source prioritization.

This guide introduces these concepts, examines the algorithms, and details steps to get started with Inventory Management for Single Source and Multi Source merchants.

Understanding MSI features

For a detailed view into Inventory Management and MSI features and processes, see MSI features and processes. The following diagram and terms provide a quick introduction.

Multi Source Inventory Management in Magento
  • Sources are the physical locations where product inventory is managed and shipped for order fulfillment, or where services are available. These locations can include warehouses, brick-and-mortar stores, distribution centers, and drop shippers. MSI leverages the quantities and salable quantities per stock and manages inventory amounts automatically for managed products and orders. If you have 1 source, you are considered in Single Source mode. If you have multiple sources, you are considered in Multi Source mode.

  • Stock represents a virtual, aggregated inventory of products for sources of your sales channels (currently these are websites). Each stock maps your sales channels with sources for available inventories and salable quantities.

  • Reservations track stock requests for the entire shopping process: adding products to cart, completing checkout, and managing refunds. For available inventory and stock, reservations reserve inventory orders through the checkout process, deducting from quantities at invoice and shipment.

  • Sales Channels represents entities selling your inventory. MSI includes Magento store websites out-of-the-box and supports extensions for additional channels (for example, B2B customers groups and store views). Sales Channels can only be associated to one Stock.

  • Salable Quantity provides the calculated virtual inventory of products, taking into account configured thresholds. Stocks determine the final salable amount available across all assigned sources for associated sales channels. This differs from Quantity which is the total number of products at the source regardless of thresholds.

  • Quantity per Source replaces the Quantity column if you add multiple sources. This column displays the total number of products available per source regardless of thresholds. If you only have the Default Source configured, the Quantity column displays.

  • Source Selection Algorithm analyzes and determines the best match for sources and shipping using the priority order of sources configured in a stock. During order shipment, the algorithm provides a recommended list of sources, available quantities, and amounts to deduct to ship.

Additional features

Bulk Editing Product Inventory

For large catalogs, assigning inventory per source through the Magento Admin may be overwhelming. Inventory Management supports assigning inventory amounts using the Mass Action Transfer utility, Export - Import features using .csv files, and APIs for mass management.

MSI has an advanced inventory Export - Import mechanism to export and import data from different sources independently, without affecting other existing data. For example, if you have sources in Los Angeles, Austin, and New York, you can export or import data for the Austin warehouse without affecting other sources.

Mass actions also support bulk operations to assign sources, unassign sources, and mass transfer all inventory between sources.

For API information, see APIs and DevDocs content.

User roles

MSI adds user role resources (ACLs) for allowing or restricting Admin user actions for sources and stocks. Find these roles under Stores > Inventory when editing custom roles per user account.

New Inventory Management User Role Resources - ACLs

APIs and DevDocs content

MSI provides APIs for moving stock, creating reports, synchronizing with external Enterprise Resource Planning (ERP) systems, and so on. See our MSI tutorials at DevDocs:

Install and Upgrade MSI

When v2.3.0-beta9 is available for Magento Open Source and Magento Commerce, MSI will be embedded in the package as a Core Bundled Extension. More details will be released at that time. /<!-- Starting with Magento Open Source v2.3.0-beta2 and Magento Commerce v2.3.0-beta2 package TBD, MSI is installed and enabled as a Core Bundled Extension. No additional installation is required for the new Inventory Management and MSI features.

To install, add the following line to your composer.json:

"require": {
        "magento/product-community-edition": "2.3.0-beta2",
    },

-->

The MSI extension is supported in the latest 2.3 beta packages for Magento Open Source and Magento Commerce. MSI will also be supported in Magento Commerce Cloud v2.3 GA. You can install a fresh Magento version or upgrade to the latest v2.3.0-beta package and install the MSI extension.

As an extension, MSI may have updates and releases apart from Magento Open Source and Magento Commerce.

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

The MSI extension will be installed and enabled with the final Magento Open Source, Commerce, and Commerce Cloud 2.3 GA packages. Additional steps will not be required for installing and enabling the new Inventory Management features in that package.

Beta MSI Install

This information covers installs for 2.3.0 Beta. The Beta release package numbers will update weekly.

Fresh MSI and Magento Install

You can install MSI Beta on top of your Magento 2.3.0-beta8 (September 28, 2018). For a fresh installation, MSI modules will preserve default behavior and will be installed and enabled if unless configured explicitly.

We provide the Magento Inventory Composer Installer to install the stand-alone Magento Inventory Metapackage.

Add the following lines to your composer.jsonas of September 28, 2018:

"require": {
        "magento/product-community-edition": "2.3.0-beta8",
        "magento/inventory-composer-metapackage": "1.0.0-beta3"
    },

Note for Magento Commerce 2.3.0-alpha/beta: The ScalableInventory module is no longer included with Magento Commerce 2.3. MSI replaces this module. No additional changes are required for a fresh install.

For full installation information for 2.3, see the DevDocs installation guide.

Upgrading to MSI

Important for Magento Commerce 2.3.0-beta: Prior to upgrading to beta, you must disable the ScalableInventory module in composer.json. MSI replaces this module.

When upgrading an existing Magento installation, MSI modules will be disabled by default. To enable the MSI modules, use the magento module:enable command. For more information please reference to Magento Developers Documentation.

Upgrading from Magento 2.3-alpha/MSI Beta 1 to latest

The intent for final released MSI is to seamlessly install with v2.3. If you are upgrading from Magento 2 v2.3.0-alpha and MSI 1.0.0-beta1, you may encounter additional modules during the upgrade.

When upgrading from Magento 2.3-alpha to 2.3.0-beta and MSI 1.0.0-beta to 1.0.0-beta2, you will need the following modules added to config.php:

        'Magento_InventorySourceDeductionApi' => 0,
        'Magento_InventoryGroupedProductIndexer' => 0,
        'Magento_InventoryGroupedProductAdminUi' => 0,
        'Magento_InventoryBundleProductAdminUi' => 0 

You may need to actively enable these modules. We are tracking this situation in this GitHub issue. More information will be provided.

Get Started with MSI

With MSI installed, you can get started with Inventory Management! See Get Started with MSI for initial changes, migration, and recommended steps for Single and Multi Source merchants.

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