Multi-warehouse with MSI, how does prioritization actually work?

Magento MSI (Multi-Source Inventory, native since 2.3) handles N warehouses with a priority-and-rule-based algorithm:

  1. Sources: define each warehouse + drop-ship vendor as a "source" with location coordinates, contact, enabled/disabled flag.
  2. Stocks: define which sources serve which sales channels. E.g. EU stock = "Berlin warehouse + Rotterdam warehouse + drop-ship vendor X". US stock = "Dallas warehouse + drop-ship vendor Y".
  3. Reservations: when an order is placed, MSI reserves inventory logically (without decrementing source qty) until the order ships. This prevents oversells across concurrent orders.
  4. Source selection algorithm (SSA): at fulfillment time, MSI picks the source(s) by priority (lowest priority number wins), distance from shipping address, and stock-availability rules. Native algorithms: "priority" (use the highest-priority source first), "distance" (use closest source). Custom algorithm via plugin: weighted score, e.g. Dallas first if >30 SKUs in stock, drop-ship vendor only if Dallas + Reno are out.

Common gotchas: (1) SSA is slow on category pages with 50k+ products, use cataloginventory_stock_status indexer with "Update on Schedule"; (2) drop-ship vendors should be flagged as "use stock from external source" so qty doesn’t drift; (3) partial-shipment splits work but require checkout customization to show "ships from 2 warehouses" to the customer.

Kishan Savaliya
Kishan Savaliya
Adobe Certified Magento Commerce Developer
Ahmedabad [IN]working hours, replies within four hours
When do you need it

Read personally. Never shared. Or email the brief.

More on magento for electronics

Need it fixed, not just explained?

Send the brief with your store URL; the written quote comes back within 24 hours.