-
Notifications
You must be signed in to change notification settings - Fork 254
Get Started with MSI
This content is new and in-progress for MSI and includes content for "in development" and 1.0.0 Beta features. Information may change depending on development.
With MSI installed and enabled, all of your inventory and order management through MSI.
Typically, merchants fall into two categories: Single Source and Multi Source. The number of sources determines your first getting started steps with MSI. All merchants start with a Default Stock and Default Source with options to edit the details or add more stock and sources.
The following information details the initial changes with MSI installed and how to best get started:
- Inventory and Migrations with MSI
- Single Source Merchant
- Multi Source Merchant
- Understanding Default Source and Default Stock
When first installing or upgrading and enabling MSI, the following initial changes complete:
- A Default Source and Default Stock are added. You should not disable these defaults.
- All products and inventory quantities are associated to the Default Source.
- The Default Stock is associated with your main website and Default Source.
All MSI features are available out-of-the-box including Source Selection Algorithm and Concurrent Checkout to match order quantities to sources and order fulfillment. Depending on your websites, stores, and merchant type, you can create additional stock and sources, assigning inventory amounts, and more.
You are considered a Single Source merchant/mode until you start adding custom sources and stocks to your installation. Single Source merchants can expand and start Multi-Sourcing with a few additional steps.
MSI supports Magento import/export features for modifying SKU associated sources, inventory quantities, and stock status (in/out of stock).
Single source merchants have a single location that manages on-hand inventory and fulfills orders. Typically, you have multiple websites (or sales channels) selling products from the same catalog, inventory, and location.
For example, you may have websites for the United States, Germany, France, and Brazil all pulling products from one large warehouse. This single source manages all inventory quantities, shipments, and returns regardless of which sales channel receives the order.
To get started, we recommend:
- Configure global settings for your store's inventory as needed.
- Update the Default Source with information for your single inventory location.
- Add Stocks as needed for your websites and other sales channels with the Default Source.
- Complete any further configurations per product for quantity thresholds, backorders, and so on.
Note: If you add new locations to ship products such as a warehouse, store, distribution center, and so on, you can add sources and stocks anytime in Magento to begin Multi-Sourcing. MSI scales with your expanding business out-of-the-box.
As your business grows, a Single Source merchant may add new stores, warehouses, drop shippers, and more. To become a Multi Source merchant:
- Add Custom Sources for each new shipment location. You will only use the Default Source for Bundle and Grouped products.
- Add and update Custom Stocks as needed for your new sources. You can assign sources to your custom stocks. You will only use the Default Stock for Bundle and Grouped products.
- Update source assignments and quantities for your products. You can also use the Mass Actions Tool and Magento Import-Export feature to quickly add sources and product data.
Multi source merchants have multiple locations managing on-hand inventory and fulfilling orders. You may have one or more websites as a sales channel selling inventory through one or more of your available sources.
For example, you may have a single website selling and shipping all products from multiple sources. Or you may have websites for the United States, Germany, France, and Brazil and one or more sources providing stock. You may want to create stock for European based sources (warehouses and stores) to provide inventory to your Germany and France sales channels. A second stock may connect the US sales channels to sources in North America and Canada. And a third connecting your Brazil sales channel to sources in Brazil and Mexico.
To get started, we recommend:
- Configure global settings for your store's inventory as needed.
- Add Customn Sources for your inventory locations: warehouses, stores, drop shipments, and distribution centers.
- Add Custom Stocks for your websites and other sales channels for one or more sources. Configure sources in priority from top-to-bottom.
- Associate products to your sources. You can also use the Mass Actions Tool and Magento Import-Export feature to quickly add sources and product data.
- Complete any further configurations per product for quantity thresholds, [backorders](Configure MSI backorders), and so on to calculate accurate Salable Quantity.
Currently in the MSI Minimal Viable Product (MVP) release, there are limitations for Default Source and Default Stock to remember when configuring and using MSI.
The following information provides merchant and technical details. This information will be updated as we continue developing MSI.
- The MSI MVP release does not have Bundle and Grouped products support. MSI supports these product types only when assigned to Default Source/Default Stock (which are pre-created by the system at the time of MSI installation). In future MSI releases, we will expand support for composite products.
- You cannot unassign Default Source from Default Stock.
- You cannot disable the Default Source.
- You cannot assign Default Source to a Custom Stock. Currently when building an index for a custom Stock, the system would not be able to handle Grouped and Bundle products that could be potentially assigned to the Default Source.
- You cannot assign Custom Sources to Default Stock. This is due to how the index for Default Stock is implemented. In the MSI MVP release, the system re-uses the Stock Status legacy index (
cataloginventory_stock_status
MySQL table) built by CatalogInventory module. MSI wraps it with MySQL View to make the index contract look the same as for other Multi Stock indexes created for custom stocks:
Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `inventory_stock_1` AS select distinct `legacy_stock_status`.`product_id` AS `product_id`,
`legacy_stock_status`.`website_id` AS `website_id`,
`legacy_stock_status`.`stock_id` AS `stock_id`,
`legacy_stock_status`.`qty` AS `quantity`,
`legacy_stock_status`.`stock_status` AS `is_salable`,
`product`.`sku` AS `sku`
from
(
`cataloginventory_stock_status` `legacy_stock_status`
join
`catalog_product_entity` `product`
on
((`legacy_stock_status`.`product_id` = `product`.`entity_id`))
)
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