-
Notifications
You must be signed in to change notification settings - Fork 248
MSI Global Settings
DEVELOP User Guide - This guide provides MSI Develop Branch/Active Development merchant information on Magento Multi Source Inventory (MSI) features and project.
MSI supports Magento inventory configuration settings at the product and global level, and provides additional settings that affect source availability and order shipment. As you modify these settings, you affect the calculated totals for salable quantities per source and sales channel.
- Configuration Fall Back
- Inventory options
- Assigned sources and quantities
- Configure global inventory defaults
Configurations override or apply in the following path of inheritance: Product **Sources **section overrides Product Advanced Options overrides global **Inventory **store configuration.
When Magento checks for custom settings to apply, it follows this order:
-
Magento checks for custom settings at the Product level in the Sources section. A few settings are available.
Sources section of Edit Product Page -
Magento then checks the Product Advanced Inventory settings.
-
If Use Config Settings is selected for settings, Magento checks for a value in the Stores > Configuration > Inventory page.
For example, you may configure backorders differently across your store. You may have backorders configured as follows:
- Globally: Enable backorders for the store
- Product: Disable backorders for a specific product
The following table provides information on all product options and configurations for single and multi-source inventory management. For additional information, see the Magento User Guide.
Name | Product Option | Config Option | Scope | Applied To | Description |
---|---|---|---|---|---|
Manage Stock | Y | Y | Global | Stock | Enables Magento to manage all inventory. Sets if inventory control is used for this product or all products in Magento. Displays more options if set to Yes. |
Only X left Threshold | Y | Y | Global | Stock | Sets a quantity amount to notify when a specific amount is left available for purchase. This amount is tracked at the stock level. |
Out-of-Stock Threshold | Y | Y | Global | Stock | Your Safety Stock, Quantity to trigger an "out of stock" notification and to mitigate the risk of stockouts. This value affects backorders. Backorders disabled: We recommend entering a positive value over 0, such as 5 or 25. Backorders enabled: Enter a negative threshold for the maximum amount of allowed backorders, such as -5 or -25. A value of 0 acts as infinite stock. A positive value is ignored and treated as 0. See Configure MSI backorders for details. |
Minimum Qty Allowed in Shopping Cart | Y | Y | Global | Stock | Sets the minimum quantity of the product that can be purchased in a single order. |
Maximum Qty Allowed in Shopping Cart | Y | Y | Global | Stock | Sets the maximum quantity of the product that can be purchased in a single order. |
Qty Uses Decimals | Y | N | Global | Stock | Allows decimal amounts, instead of whole numbers, for the quantity of a product. This is helpful for products sold by weight, volume, or length. Specified on the level of Source, calculated on the Stock level based on assigned Sources |
Allow Multiple Boxes for Shipping | Y | N | Global | Stock | Sets if parts of a product can be shipped separately. |
Backorders | Y | Y | Global | Source | Indicates if Backorders are allowed. The available options include: No Backorders, Allow Qty Below 0, or Allow Qty Below 0 and Notify Customer. Specified on the level of Source, calculated on the Stock level based on assigned Sources. We recommend setting a value for the Out-of-Stock Threshold. See Configure MSI backorders for details. |
Notify for Quantity Below | Y | Y | Global | Source | Sets the quantity that triggers a Quantity Below notification, warning of low stock. This amount is deducted from the Salable Quantity. |
Enable Qty Increments | Y | Y | Global | Stock | Sets if the product can be sold in quantity increments. If enabled, enter the quantity of products that must be purchased in an incremental step. |
Automatically Return Credit Memo Item to Stock | N | Y | Global | Stock | The system handles stock returns automatically. |
By default, the global setting Manage Stock enables when installing or upgrading to Magento 2.3 (with MSI). When enabled, you have access to all Inventory Management features for Single Source and Multi Source management. See the following section on configuring global defaults for details.
Depending on your implementation, you may want to enable or disable Magento management at different levels. For example, if you have an ERP system handling all inventory stock, simply disable this option.
We also support managing stock at different levels for complex management implementations:
- Product - Overrides all settings across the store for management
- Globally - Enables/disables inventory management globally for all products in the catalog unless overriden
You can configure global settings for all inventory through the Stores > Configuration > Catalog > Inventory page. The configurations set the default behavior and amounts as the system values for the entire website/store.
-
On the Admin sidebar, click Stores. Then under Settings, choose Configuration.
-
Select the Store View to edit:
- To change all settings across all websites and stores, from the Store View, select Default Config.
- To change a specific website, select the website from the list. You can only modify the Only X left per website or store view.
-
Click Catalog. Then choose Catalog and Inventory.
-
Under Stock Options, configure settings. We recommend considering the following:
- Update the Only X left threshold. Clear the Use system value checkbox. Enter a positive amount to notify when only X amount are left in inventory. For example, enter 5 to send a notification when the quantity reaches 10 or below.
- To display an “In Stock” or “Out of Stock” message on the product page, set Display Products Availability In Stock on Storefront to “Yes.”
-
Under Product Stock Options, configure settings. We recommend considering the following:
-
Modify the Notify for Quantity Below. Clear the Use system value checkbox. Enter a product amount for sending a notification of low stock for products. To override this amount per product, use the Assigned Sources grid per source or Advanced Inventory product options.
- Positive amount: With Backorders disabled, enter a positive amount.
- Zero amount: With Backorders enabled, entering zero allows for infinite backorders.
- Negative amount: With Backorders enabled, we recommend entering a negative amount. The amount is added to the Salable Quantity. For example, enter -50 to allow orders up to this amount.
-
Enable or disable Backorders. Select an option from the drop-down menu:
-
No Backorders: Disables backorders for the entire store
-
Allow Qty Below 0: Allows for orders when the product quantity falls below zero
-
Allow Qty Below 0 and Notify Customer: Allows for backorders and notifies the customer the order is a backorder
Modify the Out of Stock Threshold for disabled and enabled backorders. See Configure MSI backorders for details.
-
-
Configure the Out-of-Stock Threshold. Clear the Use system value checkbox to enter a specific amount:
- Backorders disabled: Enter a positive amount over 0. For example, enter 2 to send a notification when the quantity reaches 2 or below, requiring additional stock to continue sales.
- Backorders enabled: Enter a negative number below 0 or 0. For example, enter -50 to allow orders up to this amount. The amount is added to the Salable Quantity. A value of 0 allows infinite inventory.
-
For Inventory Management, Automatically Return Credit Memo Item to Stock is set to "No." When submitting a credit memo, you enter and select to return stock to sources.
-
-
Expand the Admin bulk operations section, and configure settings.
-
Runs asynchronously is disabled by default. This option collects and runs bulk operations including Mass Actions (assign sources, unassign sources, transfer inventory) when they reach the Asynchronous batch size. We recommend reviewing your performance with bulk actions before enabling.
To enable, you must configure an asynchronous queue manager in a command-line:
bin/magento queue:consumer:start async.operations.all
For more information, see Magento DevDocs Start message queue consumers.
-
Set the Asynchronous batch size for the amount of processes to run in a batch when running bulk operations asynchronously. This value is 100 by default.
-
-
Click Save Config.
Store Inventory Configuration |
For details on these settings, see the Magento User Guide.
You can override specific configuration settings per product. When modifying configuration settings per product, you can configure settings globally for the product through Advanced Inventory and per source through the Assign Sources grid. The settings override all global settings, and must be maintained through this page. At any time, you can edit the settings back to the global by selecting the Use config options checkbox.
These settings affect the product across all sources, stocks, and globally in your store. If you have source level settings in the Assigned Sources grid, those settings override these.
-
On the Admin sidebar, click Catalog. Then, choose Products.
-
Edit a product to configure specific product or global settings.
-
Scroll down to the Sources area. Then click Advanced Inventory. Any setting listed as global displays the current global setting for the store.
Advanced Inventory page -
Make changes as needed. As you make changes to these settings, they save strictly to this specific product affecting all thresholds and amounts across all sources and stocks for the product.
To assign Notify Quantity Use default per source (Multi Source merchants), use the Assigned Sources grid of product pages.
-
Click Save.
For detailed information on backorders, see Configure MSI backorders.
Configurations entered for the product per source overrides all other settings for the product through that source. For example, if you enable backorders for one of five sources on the product, only that source will support backorders. These settings fall back to the Advanced Inventory settings for the product, then to source, stock, and global.
-
On the Admin sidebar, click Catalog. Then, choose Products.
-
Edit a product to configure specific product or global settings.
-
Scroll down to the Sources area to modify settings in the grid.
-
For each source, configure one of the available settings.
Name | Product Option | Config Option | Scope | Applied To | Description |
---|---|---|---|---|---|
Quantity | Y | N | Global | Source | Available on-hand inventory amount for the product per source. |
Notify for Quantity Below | Y | Y | Global | Source | Sets the quantity that triggers a Quantity Below notification, warning of low stock. This overrides the global threshold. This amount is deducted from the Salable Quantity. |
Stock Status | Y | N | Global | Source | If the product is currently in stock, set Stock Status to “In Stock.” |
- Click Save.
Assigned Sources grid for a product |
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