I have a number of assumptions about how MSI works in M2.3:
- There is place where a list of inventory sources is sorted by some means (distance, priority, etc.,) and each inventory source is evaluated to see whether it has stock of a given product.
- The first sorted inventory source that has stock of the a given product is the inventory source used in the shipment for that product.
- All inventory sources are evaluated when determining if a product should be considered backordered or out of stock.
I want to modify this behavior so that fallback from one inventory source to another does not occur. In other words, if the first inventory source that is evaluated (after sorting them) does not have the product, the product is treated as out of stock/backordered. (In case you're wondering why I don't just run the site with a single inventory source, this logic would only be done for some products.)
I can find a lot of places where Magento loops through a sorted list of inventory sources looking at the item quantity, but all of the places I've found are part of "Admin UI" modules. I can't figure out where it does this when determining backorder/out-of-stock status, or where it does this when picking an inventory source for the product shipment.
Can someone help me find where this logic lives in M2.3?