Multi-Source Inventory (MSI) is a new inventory management mechanism for multi-source support. It is available for Magento 2.3+ merchants. It is designed to help merchants to reduce the negative impact of concurrent checkout.
Sources represent physical locations (but not only). A source can be warehouses, brick-and-mortar, distribution centers or drop shippers.
Stocks are used to mapping a sales channel (websites) to source locations and available inventory. A stock can be mapped to multiple sales channels, but a sales channel can be assigned to only one stock.
Salable Quantity is the total inventory that can be sold through a sales channel (website). The amount is calculated across all sources assigned to a stock. After sources are linked to stocks, each stock will specify the number of products per source and product and will be linked to a corresponding sale channel. Read more about how salable quantity is calculated here.
Reservations deductions from the salable quantity as customers add products to carts and complete checkout. Inventory allocation involves reserving stock for the customer. Until inventory is allocated to a sales order it is still available to sell and will be added to sales channels. When an order ships, the reservation clears and deducts the shipped amounts from specific source inventory quantities. MSI reservations are excluded from the module because information about these resides and is maintained exclusively within Magento, and these mechanisms should operate distinctly from the integration.
Source selection algorithm (SSA) is not supported by the extension. All orders need to be fulfilled from Brighpearl.
MSI source map
In order to map Brightpearl warehouses to Magento sources, go to Brightpearl Integration > Configuration > Shared: MSI. You will see a mapping box that allows you to map Brightpearl warehouses to Magento sources. This is a one-to-one connection, meaning one Brightpearl warehouse can be mapped to one Magento source. If you have multiple warehouses in Brightpearl that you want to connect to your Magento website, you will need to create multiple sources and map them to warehouses in Brightpearl.
Put in stock/ Put out of stock
Select ‘Yes’ if you want items that have a quantity of ‘0’ to be put out of stock on Magento automatically or items with quantity greater than ‘0’ put in stock.
IMPORTANT: if you are using Magento MSI functionality, no need to select warehouses under the ‘Shared: Stock settings’ section, that won’t affect MSI interactions.
When no warehouse data is found for a SKU source
When the integration makes a query to Brightpearl API and doesn't get a response for a SKU, you can decide how you want the integration to update source quantity. Select ‘Leave unchanged’ if you don’t want the inventory level to be adjusted. Select ‘Zero’ if you want the source level to be set to ‘0’.
This feature allows you to decide how you want to be alerted if API doesn’t return any relevant warehouse data for a SKU.
‘Warn’ - you will see warning logs, it will not increase failure count in logs.
If you switch it to ‘Error’ - instead of putting a warning in the report it will put an error and it will increase the error count. Error doesn’t affect the behavior of interaction it only affects the reporting of interaction. If you put it on warn then effectively those missing skus are hidden from you, put it on error and it will show up in a quick summary of interaction logs.
Interaction: Import MSI levels (bulk)
Enable bulk import of MSI levels and set up cron expression.
You can also decide it you want to be notified about errors in the report or successful bulk inventory import.
Interaction: Import MSI levels (live)
Enable live import. It runs when a retail buyer clicks on a product.
Allocation warehouses in Brightpearl
You can now set up an allocation warehouse per each website view. Go to Brightpearl Integration > Configuration > Interaction: Export Order > Set a default allocation warehouse.
This warehouse will be used on orders in Brightpearl as allocation and fulfillment warehouse. If you have more than one Magento store, you can switch the store view settings and set a different allocation warehouse for each store.