TL;DR: Multi-Source Inventory module will extend Magento 2 adding, among other things, drop shipping functionality and opening new possibilities to merchants.
What is MSI module
The purpose of the Multi-Source Inventory (MSI) module is that of allowing Magento merchants to define multiple sources for their product items.
The module is currently developed by an open group of volunteers together with the Magento Community Engineering (MCE) team.
The module will be likely part of next major release of Magento Open Source (formerly known as Magento CE).
Please, refer to the MSI technical wiki to stay in the loop of its development progress.
What is drop shipping
Drop shipping is a retail method in which merchants don’t keep a supply of the items they sell but delegate this activity to drop shippers, namely third-party companies like manufacturers, wholesalers or even other retailers.
Two scenarios are possible when a merchant delegates the supply chain management to drop shippers:
- the drop shipper guarantees the supply of an unlimited quantity of items;
- the drop shipper provides a limited quantity of items that changes and needs to be synchronized over time.
To let a merchant work with drop shippers, an e-commerce platform needs to provide him or her the ability to differentiate the sources which the items come from; furthermore, the platform has to provide applicability of both the scenarios described above.
MSI and drop shipping
Consider the case of a Magento merchant that sells a part of his items through drop shippers.
The merchant will create a source for each drop shipper and eventually one or more sources for goods handled in his or her own stocks.
For sources that don’t have item quantity limitations, the merchant will allow backorders meaning that customers will be able to purchase products supplied from that source regardless of their stock availability.
Magento 2.2 already comes with backorders functionality both at global and at product level; MSI will extend this possibility at the source level, to map the infinite drop shipper’s stock.
For sources that need to keep track of item quantity, the merchant will be able to specify the quantity of each item for each source, as shown below.
To keep the quantity of items synchronized with drop shippers, MSI comes with an import function that will definitively make it quick and easy to keep data synchronized for different sources.
You can see a live demo of the import function on YouTube, approximately from minute 14.10 to minute 16.35.
When an order is placed, involving a source that offers a limited quantity of items, a stock quantity reservation mechanism guarantees to the merchant that those quantities are deducted from the remaining saleable quantity.
Applying stock reservations at the order placement allows asynchronous order processing and eliminates most of the locks necessary to avoid significant breaks in stocks, keeping inventory up to date. Reservations, indeed, are append-only entities that keep track of quantities booked, deferring the complicated process of establishing from which sources products have to be picked up.
It’s only when an order is processed that stock quantities are effectively deducted applying a pickup algorithm.
MSI’s first release will likely come with a priority-based algorithm but more sophisticated ones are already under analysis, not mentioning the fact that, thanks to architecture’s flexibility, third-party vendors will be able to add their own implementation or delegate it to external systems.
There is a lot of hype and enthusiasm around the development of the MSI module and the reason is simple: it’s the first Magento core module that is developed with the contribution of the community and, all modesty aside, it’s a very cool feature that will be surely appreciated and exploited by a lot of merchants.
Do you want to join MSI project like us? Drop a line to firstname.lastname@example.org, you will have a great opportunity to improve your Magento 2 skills, giving your contribution to an awesome community.
Credits: cover photo by chuttersnap