Skip to content

Get Started with MSI

Lori Krell edited this page Jul 25, 2018 · 24 revisions

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

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 merchant

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:

  1. Configure global settings for your store's inventory as needed.
  2. Update the Default Source with information for your single inventory location.
  3. Add Stocks as needed for your websites and other sales channels with the Default Source.
  4. 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.

Becoming a Multi Source merchant

As your business grows, a Single Source merchant may add new stores, warehouses, drop shippers, and more. To become a Multi Source merchant:

  1. Add Custom Sources for each new shipment location. You will only use the Default Source for Bundle and Grouped products.
  2. 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.
  3. 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 merchant

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:

  1. Configure global settings for your store's inventory as needed.
  2. Add Customn Sources for your inventory locations: warehouses, stores, drop shipments, and distribution centers.
  3. Add Custom Stocks for your websites and other sales channels for one or more sources. Configure sources in priority from top-to-bottom.
  4. 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.
  5. Complete any further configurations per product for quantity thresholds, [backorders](Configure MSI backorders), and so on to calculate accurate Salable Quantity.

Understanding Default Source and Default Stock

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`))
     	 )

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