Skip to content

Overview

Lori Krell edited this page Sep 25, 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. MSI features and algorithms best support single and multisite configurations with multiple inventory sources fulfilling orders. If you have a single store and website with one source, you may not need to enable and use MSI immediately. As your business expands and changes, add more stock, sources, update inventory, and extend to new sales channels as you need.

MSI features help all merchants regardless of size, and scales as your business grows. It supports all product types, simple to bundle products, including downloads and virtual products. 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 MSI are advanced algorithms and features to ensure smooth stock tracking and order fulfillment across your multiples sources and websites. With concurrent checkout, MSI 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.

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 MSI/Inventory Management 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. MSI supports assigning inventory amounts using the Mass Action Transfer utility and Export - Import features using .csv files.

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.

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.

MSI 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

MSI is supported in Magento Open Source v2.3.0-beta2 and Magento Commerce v2.3.0-beta2. You can install a fresh Magento version or upgrade to v2.3.0-beta2 and install the MSI extension. The final release of GA v2.3 will include MSI as part of the install, without requiring additional steps.

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.

Beta MSI Install

This information covers installs for 2.3.0 Beta.

Fresh MSI and Magento Install

You can install MSI Beta on top of your Magento 2.3.0-beta2. 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.json:

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

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 2

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-beta, 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! 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