-
Notifications
You must be signed in to change notification settings - Fork 248
Overview
2.3 MSI User Guide - LIVE - See the following links for the MSI Inventory Management content in the Magneto Admin User Guides:
- Magento Open Source
- Magento Commerce
- Magento Commerce B2B
- Tech Resources for all Guides
Special thanks to all MSI project Contributors and Maintainers!
In-Development User Guide - This guide provides MSI Develop Branch/Active Development merchant information on Magento Multi Source Inventory (MSI) features and project.
Learn more about installing and upgrading MSI. See MSI Release Notes and Installation for installation, upgrade, disable, and release notes information.
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
-
B2B support with MSI: 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.
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.
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.
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.
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 |
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:
- Order Processing with Inventory Management
- Managing sources
- Managing stocks
- Link and unlink stocks and sources
- Manage source items
- Perform bulk actions
See MSI Release Notes and Installation for installation, upgrade, disable, and release notes information.
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.
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