Along with Page builder, Magento 2 Multi Source Inventory (MSI) is one of the breakthroughs Magento has attained in the 2.3 version launching at the end of 2018. This new feature is available on both Open Source and Commerce edition, determining the beginning of a powerful assistance tool in terms of Magento 2 inventory management for multinational E-business.
In this article, I want to concentrate on explaining the workflow of Magento 2 Multi-Source Inventory in details, from configurations to order and shipment management.
Single source inventory means the business operates the only one source location managing on-hand Magento inventory and merchants ship products from one location to every customer all over the world.
For example, you have 3 websites as US, UK, and Singapore which all get products from a source. When customers purchase products on any website, this single source manages all activities from Magento inventory quantities, shipments to returns.
On the contrary, Magento 2 Multi-Source Inventory defines a business owning a lot of source locations depending on the store market and demands of customers, costs, and so on.
Merchants now ship products to purchasers from more than one location such as brick-mortar stores, warehouses, drop shippers and distribution centers.
Still owning 3 websites as US, UK, and Singapore, but you now create 3 corresponding warehouses located in America, Europe and Asia. Each source is assigned for a website matched with location, Warehouse in Europe is assigned to UK website, for example.
Then, when customers buy products on each website, its separated source takes responsibility for all Magento inventory stock and fulfill orders.
CHECK OUT Full Magento tutorial from beginner to advanced to get more useful learning resources.
Why is Magento 2 Multi-Source Inventory?
For global Ecommerce, customers are located widely around the world, and in case products are shipped from the only one position to every destination, shipping costs come as a big problem. Also, it takes a longer time to deliver items to purchasers due to far distance as well as complexion in the transportation process.
Therefore, Magento Multi-Source Inventory, high flexibility, cost-effectiveness, and efficiency are mainly outstanding remarks encouraging store owners to experience and better Magento 2 inventory management.
There are more businesses values that Magento 2 MSI can bring, aside from managing your sources, such as:
- Improving checkout performance: Even for Single Stock merchant, Magento 2 MSI removes the possibility of excessive database lock and inventory consistency validation during the checkout process. These two factors lower the performance when there is a high checkout concurrency rate.
- Import/Export Stock Data: The new import and export stock data for inventory is introduced to accelerate the external integration with the ERP system.
- Dropshipping support: It is now possible for merchants to set up drop shipping for external sources.
- Stock control/ Low stock reports: Magento 2 multi-source inventory supports all physical location sources with Stock Control and will notify merchants when there is stock running lơ in certain locations.
Even though this newly added feature brings more benefits to multi-stock control store owners, it preserves the simplicity of UI and Stock Management for Single Stock usage. Therefore, single stock users will feel no added complexity in their process.
How is the Magento 2 MSI different?
The MSI inventory feature of Magento 2.3 is the thing that makes a significant difference from its predecessor, Magento 2.2. Compared to the old inventory system from 2.2, here are the new features you will see in multi-source-inventory:
- Assign product and quantity to each fulfilment source, like warehouse, store, distribution center, or third-party drop shipper.
- The new MSI now can track the inventory and help ease the management inventory process.
- Streamline operation with rules to prioritize and automatically control the sources that are supplied for the website in real-time.
- The MSI allows third-party inventory system integration.
Even the merchant with a single inventory source would benefit from the MSI inventory, as they can track the deduction of salable stock when customers put them in the cart. This will give a more accurate track of checkout performance, and show customers the right number of stocks left in the inventory, and save time for both the buyers and sellers.
How Magento 2 MSI works?
In general, store owners using Magento Multi Source Inventory can implement the following things:
- Create as many sources as possible based on business situation and demand
- Group sources into virtual stocks corresponding to sale channels
- Assign product quantity at each source in the product edit page
- Track Magento 2 inventory at multiple sources conveniently
It’s time to explore a complete flow in the Magento 2 Multi Source Inventory usage process, in terms of store owners to manage sources and order management.
Let’s go step by step now!
1. Create and Manage sources
Source is a new advanced term in Magento 2 Multi Source Inventory. It can be physical stores, warehouses, houses or anything which cover your products to provide customers. You can add an unlimited number of sources as long as they are matched to your business.
Take an example for the whole process:
I use three websites to sell clothes to many markets in the world: US, UK, and Korea websites. I also build big warehouses in America, Europe, and Asia to distribute products quickly to consumers.
To manage effectively, I implement Magento Multi source inventory to create sources, stocks and track product inventory.
I create these 4 sources by going to Store ⇒ Inventory ⇒ Source:
I need to complete all required information like Name, Code, Country, and Postcode to determine a source. Other fields should be filled for other purposes, latitude, and longitude for selecting the most suitable source to get products, for instance.
All of the added sources are shown in the grid table as below:
Step 2: Create stocks
Stock is a virtual inventory of products available for sale. A stock can include more than one source. You can group sources into stocks per country, continent, locale, or per website depending on your desire or your current business situation.
In this example, I will create stocks based on continents by navigating to Store Inventory Stocks:
- Europe stock for UK and Spain Warehouses
- US stock for US Warehouse
- Asia stock for Korea and Australia stores
Let’s take a look at the Europe stock:
For each stock, it is necessary to choose one or multiple sales channels as websites. However, there is an important note that a stock can be assigned to a lot of websites while a sales channel just connects to one stock only.
Next, you assign sources for this stock and easily modify the sort order of each source by drag and drop. The source order is considered as an important factor to determine which source to get products and ship orders to customers.
After creating 3 stocks, all of them are managed in this following grid table which shows information about both sales channels and assigned sources of each stock.
Step 3: Add product quantity for each source in the product edit page
After creating sources and stocks, you can assign sources for each product in the product edit page and even define product quantity in each source. For example:
I assign 5 sources for this Strive Shoulder Bag as well as complete specific quantity for each source. After saving, it is easy to check the quantity per source and salable quantity in the product grid table:
In this section, we get a new concept, called Magento 2 Salable quantity and displayed in a separate column of the product grid. So what is the difference between product quantity per source and Salable quantity?
- Magento 2 Salable quantity is an aggregated total of product inventory available to purchase for a stock. On the other hand, salable quantity is the real number of products you can sell for customers. It is calculated by summing all product quantity per source assigned to the stock, then subtracting the Out-of-Stock threshold (if you set up this amount in the backend).
- In the example, the Magento 2 salable quantity of the Strive Shoulder Bag is 200.
- Quantity per source determines the number of products at each location which changes whenever ordered products are shipped to customers. Magento 2 Salable quantity only changes when a reservation occurs (I will explain it later in detail).
*Note: You can use the Import and Export features to update sources and quantities by product SKUs via a CSV file. As a result, adding new sources and updating Magento inventory quantities for all or a specific source becomes easier and faster than ever, especially in case you have a large number of products to process.
Step 4: Place an order in the frontend
Go to the UK website, add the Strive Shoulder Bag to cart and then complete the checkout. For a single source, this order management is straightforward with the thorough order fulfillment from placing order to shipping or even refunding.
However, Magento 2.3 remarks some outstanding functions for Magento 2 MSI with a different flow from the process based on the single source.
After finishing the checkout, Magento 2 Multi Source Inventory firstly processes the order as a reservation which gives holds on inventory quantity. This reservation happens at the stock level, subtracting the quantity from Magento 2 salable quantity.
Only when the order is invoiced, and shipped to purchasers, is this reservation removed and the product quantity is now deducted from each corresponding source of the website (sales channel).
For example, you finished checking out to purchase 10 Strive Shoulder Bags from UK website. After receiving the order request, Magento Multi Source Inventory checks the product availability in the current inventory salable quantity. The stock now has enough product quantity (Total salable quantity = 200), hence, a reservation now occurs and places a hold for that ordered product, then recalculating the salable quantity as well.
It means that the Magento 2 salable quantity is subtracted by 10, the total remainings are 190.
The order is then invoiced and shipped to customers from UK Source (for instance). This reservation is now cleared and the quantities are automatically deducted by 10 from the UK source.
Let’s take a look at the following flow:
Step 5. Shipment
Unlike shipping products from a single source, a merchant store using Magento 2 Multi Source Inventory can have more than one source to get products and deliver to customers. Hence, determining which source to select for cost-effectiveness or more convenience is a problem to take into careful consideration.
Luckily, Magento provides Source Selection Algorithm (SSA) to decide a suitable source to deliver to buyers from, including Source Priority, Distance Priority, and Custom Algorithm.
Source Priority Algorithm
As you remember in Step 2, we create a stock and define the sort order for the assigned source of stock. Magento uses this order to recommend product deductions per source when invoicing and shipping the order.
When this algorithm runs, Magento will:
- Check the order of all assigned sources at the stock level from the top to the bottom
- Recommend a quantity to ship, a source to get product from (based on the order, available quantity and ordered quantity)
- Continue checking the list until the order shipment is filled
- Skips disabled sources if found in the list
For example, the order including Strive bag placed from UK website, Magento will select a source to ship to customers, Warehouse UK or Warehouse Spain. When creating UK stock and add assigned these 2 sources, Warehouse UK is in the top sort order and has higher priority than the remaining one.
Furthermore, the available number of product in this source is 50, enough to process an order with necessary quantity as 5. Therefore, Warehouse UK is recommended to take ordered products and deliver to purchasers.
Distance Priority Algorithm
As its name suggests, this algorithm determines the most proper source to fulfil shipments by comparing source locations to the shipping destination. The distance can mean physical distance by kilometres or time spent travelling from one location to others.
To calculate the time to travel or distance and find out the closest source to ship products, you can set up Google Map or Offline Calculation methods by making some simple configurations.
Developed as an Open source platform, Magento always welcomes customization and extension to add alternative algorithms to prioritize sources. This custom algorithm adds more advanced features to SSA, providing essential features and related to Magento stores during the business operation.
Step 6: In case of Cancel or Refund Order
- Cancel Order: If a customer cancels his/her order before Magento stores deliver products, a compensation reservation is entered to clear that amount and return the ordered product quantity to the Magento 2 salable quantity.
- Refund Order: When there is a refund request, and products are then returned to you, you need to create a credit memo to provide the money and update product amounts. Quantities are added to products and sources which shipped orders. A compensation reservation is entered to update salable quantities for the associated stock.
Top extensions for your Magento 2 Inventory
When Magento 2 MSI releases, there are extensions built to add in more features for customers’ convenience and benefit customers more than what Magento 2 multi-source inventory offers. We will provide some of the top extension to go with Magento 2 multi-source inventory under your fingertips:
Magento 2 Inventory Report by BSSCommerce
The Magento 2 Inventory Report extension will track all the changes in the stock of products, and then give you a detailed inventory list, which you can export into a CSV file and delete inventory logs. For Magento MSI inventory Default, there are no specific reports on new shipment, time, and shipment details. This customizable and detailed inventory reports will enable you to bypass the limitation of Magento 2 default MSI, and manage the inventory in a much efficient way from the inventory report grid. The extension is compatible with Magento 2.3 which has MSI inventory function.
Advanced Multi Stock Inventory by Wyomind
The Magento MSI inventory system would be completed with the Advanced Multi Stock Inventory extension. The extension helps you leverage the default tools and workflow and also managing your inventory from different warehouses. The extension also shows your customer which warehouse is still in stock of the product they search and the location of the product on Google Map.
Advanced MSI from Amasty
The Advanced MSI from Amasty is also a good option when it comes to overcoming the limitation of Default Magento 2 MSI. It split your inventory over to multiple warehouses and optimize the warehouse selection algorithm to reduce your delivery cost. Mind that this extension only runs on Magento version 2.3 and higher.
Magento 2 Multi Source Inventory is obviously a powerful tool to enhance business efficiency in many different aspects.
BSS Commerce is one of the leading Magento extension providers and web development services in the world. With experienced and certified Magento developers, we commit to bring high-quality products and services to optimize our business effectively.
CONTACT NOW to let us know your problems. We are willing to support you every time.