-
Notifications
You must be signed in to change notification settings - Fork 248
Configure MSI backorders
DEVELOP User Guide - This guide provides MSI Develop Branch/Active Development merchant information on Magento Multi Source Inventory (MSI) features and project.
Backorders allow your store to continue selling products after the quantity reaches zero, or is effectively out of stock. When a customer order is a backorder, the funds are authorized and captured immediately, the processing status of the order does not change, and the shipping remains on-hold until stock is available.
Depending on your store and sales, you may want to enable backorders globally for all products or only on specific products.
- Backorders settings and thresholds
- Configure backorders globally
- Configure backorders for a source
- Configure backorders per product
We recommend configuring specific thresholds and settings to best support backorders.
For Out-of-Stock Threshold, use a negative value for this threshold if you enable backorders to set the maximum amount of products that can be backordered before the product is truly considered out of stock. This amount adds to the salable quantity. The value set at the product level overrides any value set at the other levels.
Important: If backorders is enabled at some level of configurations, we recommend a negative value for Out-of-Stock Threshold. If the value is positive due to configuration fall back and dependencies, the value is ignored and treated as 0.
The following is an example:
- Quantity: 25
- Notify for Quantity Below: 10
- Only X left Threshold: 5
- Out of Stock Threshold: -50
The Salable Quantity for this product is 75 (25 - (-50)).
Example Salable Quantity before backorders enabled |
Example Salable Quantity after backorders enabled |
When customers purchase over 25 products, new orders enter as backorders. As the product's salable quantity reduces to 5 (70 items have been sold), the product page will display a message "Only 5 left" on front-end. When the salable quantity reaches 0, the product displays as Out of Stock in the storefront.
Remaining X products |
The Notify for Quantity Below configuration option is configurable at the Global, Source, and Product level. It sends an email notification when a product's quantity reaches a low quantity. For this example, the notification sends when the product has a quantity of 10 or less. When backorders are enabled, the Notify for Quantity Below is not deducted from the Salable Quantity.
Products must be set to In Stock status when enabling backorders. You can set this through the Product page. For Multi Source merchants, you must have at least one source marked as In Stock.
To enable backorders globally for all inventory in your store:
-
On the Admin sidebar, tap Stores. Then under Settings, choose Configuration.
-
Select Default Config for the Store View.
-
Tap Catalog. Then choose Catalog and Inventory.
-
Under Product Stock Options, locate Backorders. Clear the Use system value checkbox and select an option from the drop-down menu:
- No Backorders - Disables backorders, restricting orders when the quantity reaches zero
- 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
-
Under Product Stock Options, locate Out-of-Stock Threshold. Clear the Use system value checkbox to enter an 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. A positive value is ignored and treated as 0.
-
Tap Save Config.
Backorders Global Setting Enabled |
To configure backorders at the source level:
-
On the Admin sidebar, tap Stores. Then under Inventory, choose Sources.
-
Locate a source and click Edit.
-
Under Configuration, locate Backorders. Clear the Use Config Settings checkbox and select an option from the drop-down menu:
- No Backorders - Disables backorders, restricting orders when the quantity reaches zero
- 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
-
Tap Save Config.
-
Recommended: Set a negative amount for the Out-of-Stock Threshold when backorders are enabled. If you have backorders disabled globally, we recommend a custom setting at the product or stock level. For the amount consider the following:
- 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.
Backorders Global Setting Enabled |
Product level configurations override all other configurations. You may want to configure backorders at the product level to override the settings at the global store or source level. For example, your store may globally support backorders. With product settings, you can disable backorders or change the Out-of-Stock threshold without affecting other products and sources.
To enable backorders per product:
-
On the Admin sidebar, tap Catalog. Then, choose Products.
-
Select a product to edit. Scroll down the page to the Sources area.
-
Tap Advanced Inventory. A page of product specific configurations displays. Any setting listed as global displays the current global setting for the store.
-
Locate Backorders and clear the Use Config Setting checkbox and select an option from the drop-down menu:
- No Backorders - Disables backorders, restricting orders when the quantity reaches zero
- Allow Qty Below 0 - Allows 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
-
Locate Out-of-Stock Threshold and clear the Use Config Setting checkbox to enter an 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.
-
Tap Done, then tap Save.
Backorders on Product Setting Enabled and Out-of-Stock set to -50 |
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