A Complete Guide for Magento 2 MSI – Multi Source Inventory
Magento Multi-Source Inventory (MSI) enables merchants to oversee inventory efficiently across multiple locations by facilitating stock allocation and fulfillment. Sellers can manage sources, stocks, salable quantities, source items, source selection algorithms (SSA), and reservation systems.
This tutorial will provide an overview of Magento 2 Multi-Source Inventory (MSI) and its advantages for your Magento e-commerce store. It will also guide you on implementing and disabling Magento Multi-Source Inventory for your inventory management needs.
Discover the advantages of Magento 2 MSI in enhancing inventory management across multiple locations and sales channels.
Explore the step-by-step process to implement MSI effectively for streamlined inventory control.
Learn how to modify low-stock thresholds in Magento 2.3 to receive timely notifications and prevent stockouts.
Understand the functionality of source selection algorithms and their impact on order fulfillment efficiency.
Optimize brick-and-mortar inventory management by efficiently allocating product quantities and meeting real-time demand.
What is Magento 2 Multi Source Inventory?
Magento 2 Multi-Source Inventory (MSI) is a prominent feature in Magento 2.3.x and above versions. It simplifies inventory control for store merchants across single or multi-channel sales. MSI is designed to aid in the management of multiple inventory sources and sales channels directly from the Magento 2 admin panel. This enhancement significantly improves inventory management, irrespective of customer locations, warehouse sites, product types, or sales channels. Magento 2 MSI accurately reflects physical stock levels without needing third-party modules.
Advantages of Magento 2 MSI
Enhanced Physical Location Management: MSI facilitates the management of multiple physical locations or sources, such as warehouses and retail stores. It improves control and tracking of inventory across various locations.
Increased Store Sales and Improved Customer Experiences: Improved inventory visibility enables accurate stock availability displays to customers, reducing the risk of overselling.
Streamlined Checkout Process: Magento 2 MSI enables efficient order routing and inventory allocation, ensuring orders are fulfilled from the nearest available source. It results in a simplified checkout process and reduced delivery times.
Effortless Drop Shipping Management: Multi-Source Inventory offers flexibility in managing Magento drop shipping, where products are shipped directly from suppliers to customers. It simplifies inventory management from different suppliers and speeds up order processing.
Separate Shipments from Different Warehouses: Store owners can make separate shipments from different warehouses, providing quick delivery service for orders with multiple items. It caters to customers who wish to receive specific items in advance.
Buy Online and Pick Up In-store (BOPIS): MSI supports the Buy Online and Pick Up In-store (BOPIS) option, allowing customers to place online orders and collect them from nearby physical stores.
Understanding Magento Multi Source Inventory (MSI): Terminology and Mechanisms
1. Magento Source
A "source" in Magento MSI represents a physical location where a product is stored. It includes a warehouse, retail store, drop shipper, or distribution center. Store owners can create new sources and specify available product quantities for each source.
Shipments and orders are associated with sources. Sources can be disabled, but they won't be available for orders and shipments when disabled.
2. Magento Stocks
In Magento, "stock" refers to the quantity or availability of a specific product in inventory. It represents the number of items for sale and links sales channels to source locations and available inventory.
Note: Multiple websites can be linked to one stock, but a sales channel can be connected to only one specific stock. Stocks cannot be disabled, but you can reassign sources or sales channels if needed.
3. Magento Product Inventory Configuration
The new inventory system introduces a section that allows the attachment of sources to a product. It helps determine the quantity (qty) and stock status. It helps adjust the default admin threshold for low-stock notifications.
4. Magento Scalable Quantity
"Salable Quantity" is the inventory available for sale through a sales channel, considering stocks in all assigned sources. Unlike previous Magento 2 versions, in Magento 2.3.0, the Salable quantity decreases when a customer places an order, even if the Magento product quantity doesn't change. It prevents out-of-stock and dead-stock situations, decreasing the quantity after order fulfillment.
Note: Only the salable quantity decreases when an order is placed, and the "Quantity per Source" decreases only after shipment completion.
If a product order is canceled before delivery, the ordered quantity is added back to the Salable Quantity.
5. Magento Source Selection Algorithm
The source selection algorithm utilizes customer, product, address, stock, source, and order delivery location data. It helps merchants determine the most efficient source for shipping orders with the highest product margin.
Magento Inventory Management offers two priority algorithms: Source Priority and Distance Priority. These algorithms generate a source list, including available product quantities and necessary deductions based on the selected algorithm. This capability enables Magento 2 stores to plan inventory management strategies effectively, reducing costs and enhancing the customer experience.
Implement Magento 2 Multi-Source Inventory in 4 Steps
Step 1: Adding a New Source
Access the Magento admin panel.
Navigate to Stores > Inventory > Source.
In the Manage Sources page, you will see the default source, which must remain enabled. In Single source mode, all products are automatically assigned to it.
- To enable multi-source mode, click the Add New Source button, especially if you have multiple locations.
- In the General tab, provide the source's name, code, description, and precise GPS location (latitude and longitude).
Note: Name and Code are mandatory, while Description, Latitude, and Longitude are optional. The description is only visible in the backend.
Enter contact information and the source's address in the Contact Info and Address Data sections.
Click the Save & Continue button at the top right to save the configuration.
Step 2: Adding a New Stock
Go to Admin Panel > Stores > Inventory > Stocks.
You'll find the Default Stock on the Manage Stock page, which cannot be disabled. In Single source mode, it is assigned to the default source and the main website.
To enable multi-source mode, click the Add New Stock button.
Fill in the Name field with the stock's name, select the sales channel, and assign the sources.
Click Done to save the stock.
Note: Similar to sources, you can edit all stock information later, except the Code.
Step 3: Assigning Products to Sources
Navigate to Admin > Catalog > Products.
Click Edit to access the product edit page in the Action column of the grid.
Scroll down to the Sources section and click the Assign button.
In the Assign Source page, select the sources to be assigned and click Done.
Step 4: Bulk Editing Quantity per Source
Manually updating stock for numerous sources can be challenging. For mass updates, consider the following options:
Import and Export Tool: Export a CSV of MSI product data, update information per source and SKU, and import it to make updates.
Mass Action Tools: Bulk assign sources to products and manually transfer inventory or via API.
Disabling MSI in Magento 2.4: Reverting to Default Inventory Management
Step 1: Backup Your Store
Before proceeding, create a backup of your entire Magento installation, including the database and files. It ensures you have a restore point in case any issues arise.
Step 2: Disable Magento MSI Modules
To disable MSI, follow these steps:
Connect to your server via SSH or use a command-line interface.
Navigate to the Magento root directory.
Run the following commands:
php bin/magento module:disable Magento_Inventory Magento_InventoryAdminUi Magento_InventoryApi Magento_InventoryBundleProduct Magento_InventoryBundleProductAdminUi Magento_InventoryCatalog Magento_InventorySales Magento_InventorySalesAdminUi Magento_InventoryConfigurableProduct Magento_InventoryConfigurableProductAdminUi Magento_InventoryConfigurableProductIndexer Magento_InventoryConfiguration Magento_InventoryDistanceBasedSourceSelection Magento_InventoryDistanceBasedSourceSelectionAdminUi Magento_InventoryElasticsearch Magento_InventoryExportStock Magento_InventoryIndexer Magento_InventoryLowQuantityNotification Magento_InventoryLowQuantityNotificationAdminUi Magento_InventoryMultiDimensionalIndexer Magento_InventoryProductAlert Magento_InventoryReservations Magento_InventoryReservationCli Magento_InventoryReservationsApi Magento_InventorySalesAdminUi Magento_InventorySalesApi Magento_InventoryShipping Magento_InventorySourceDeductionApi Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryShippingAdminUi Magento_InventorySourceDeduction Magento_InventorySourceSelection Magento_InventorySourceSelectionApi Magento_InventoryShippingAdminUi Magento_InventorySourceDeduction Magento_InventorySourceSelection Magento_InventorySourceSelectionApi
Step 3: Clean Cache and Reindex
After disabling the modules, clean the cache and reindex the Magento installation. Run the following commands:
php bin/magento cache:clean
php bin/magento indexer:reindex
Step 4: Remove MSI-Related Tables
To remove MSI-related database tables, execute the following command:
php bin/magento setup:db-schema: uninstall --module-name=Magento_Inventory
Step 5: Recompile and Deploy
Finally, recompile the code and deploy the static content by running these commands:
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
1. What is Magento Search Selection Algorithm in inventory management?
Magento's Search Selection Algorithm is a pivotal element in multi-source inventory. It optimizes the selection of sources for fulfilling orders based on various criteria like product availability, location, and order specifics. This algorithm ensures efficient order processing and fulfillment.
2. How does Magento inventory handle low stock notifications across multiple sources?
Magento inventory, particularly Magento 2.3, allows merchants to set thresholds for low stock notifications. This functionality is crucial in managing inventory across various sources mapped to sales channels. Magento Low stock notifications alert merchants when the quantity of available products dips below the defined threshold, preventing overselling.
3. Can I modify the default admin threshold for low stocks in Magento 2.3?
Yes, merchants can modify Magento's default admin threshold for low stocks. It enables them to tailor notifications to their inventory management needs across multiple sources and sales channels.
4. How are stocks mapped to sales channels and sources within Magento 2.3's multi-source inventory?
In Magento 2.3's multi-source inventory system, stocks are connected to sales channels and sources. While multiple websites can link to one stock, a sales channel can be associated with only one specific stock. This mapping ensures accurate inventory allocation and management.
5. What benefits does Magento's multi-source inventory offer to brick-and-mortar store owners?
For brick-and-mortar stores, the primary advantage lies in efficiently managing inventory locations. This feature allows them to set the quantity of available products at each physical location, optimizing in-store inventory for real-time demand, backorders, and replenishment.
6. How does Magento's multi-source inventory enhance logistics and reporting for ecommerce businesses?
Magento's multi-source inventory enhances logistics and reporting for ecommerce businesses by providing a comprehensive solution for managing inventories across multiple Magento stores. This functionality facilitates efficient inventory reports and reduces Magento errrors, ensuring seamless integration with other software platforms and robust inventory replenishment.
7. What role do developers play in implementing Magento's multi-source inventory for a company?
Developers hold a significant role in implementing multi-source inventory for a company. They enable the integration of this feature, customize fields, and optimize functionalities to suit the specific inventory management needs of the merchant's business.
Magento Multi-Source Inventory (MSI) allows merchant inventory control across diverse sales channels. This functionality allows merchants to oversee stock across various physical locations, offering improved control and tracking capabilities. This tutorial covered essential aspects of Magento 2 Multi-Source Inventory (MSI). It included advantages to step-by-step implementation guides of Magento 2 MSI for your ecommerce.
Explore Magento server hosting options to ensure seamless integration and optimization of your Magento inventory system.