Magento
Magento multi-source inventory on production Adobe Commerce catalogues
Magento multi-source inventory is how I stop a national Adobe Commerce catalogue from selling the last sofa twice when stock lives in three warehouses and a showroom. I am Alan Vo, a Gold Coast web developer with 18 years on Magento, Shopify and WooCommerce stores. Adobe’s Introduction to Inventory Management (updated August 2026) is the product definition I implement against. Inventory Management, still called MSI in old tickets, ships enabled in Magento Open Source and Adobe Commerce 2.4.x. You do not install a bolt-on. You configure sources, stocks, salable quantity, reservations, and the source selection algorithms that recommend shipments.
This note is for merchants who outgrew a single default source, for agencies inheriting a 2.2 upgrade where MSI was left off, and for teams pairing MSI with SaaS catalog reads from Adobe Commerce Catalog Service or Adobe Commerce Live Search. Those services index catalog data asynchronously. MSI still owns whether add-to-cart is honest at checkout.
Why Magento multi-source inventory matters in 2026
Magento multi-source inventory matters in 2026 because shoppers expect accurate availability, click-and-collect, and split shipments without the storefront lying about salable quantity. Adobe built Inventory Management for single-source and multi-source networks: warehouses, retail stores, drop shippers, virtual sources for digital SKUs, and pickup locations that share a website.
The mental model is not “more qty fields on the product”. Sources hold on-hand quantity per location. Stocks map a sales channel (today, a website) to one or more sources and compute aggregate salable quantity across them. Reservations subtract from salable quantity while a cart is active and through checkout, which is the concurrent checkout protection Adobe documents in the introduction. When you ship, reservations clear and the deduction hits the source you choose.
What changed since MSI landed in 2.3 is stability, not novelty. Adobe’s Install, update, and remove Inventory Management article warns that disabling Inventory Management modules in favour of the old CatalogInventory path is deprecated and can leave an unstable system. I treat MSI as the default platform, not an optional experiment.
The 2026 production angle is overlap with SaaS storefront services. Catalog Service and Live Search can show inStock and salable signals from feeds that lag minutes behind MSI. Adobe’s catalog-service guidance already says not to treat the SaaS API as millisecond inventory truth. I keep checkout and add-to-cart on core MSI (or a Hyva theme that reads MSI-backed salable qty) even when the PDP grid comes from SaaS. That split is normal on large catalogues I have shipped, including work adjacent to the retail conversion Magento programme.
How Magento multi-source inventory actually works
Magento multi-source inventory actually works as sources, stocks, source items, salable quantity, reservations, and source selection algorithms (SSA) that recommend how to fulfill an order.
Sources are physical or logical locations. Each source has an enabled flag, contact data, and priority in a stock. You assign product quantities per source in the source-items grid or via import. Virtual products still get a source; Adobe allows any location designation for them.
Stocks connect websites to sources. A stock can serve multiple websites, but each website maps to only one stock. That rule is why AU and NZ sometimes need two websites or a careful stock design when fulfillment rules differ.
Salable quantity is virtual inventory the storefront may sell. The Source Selection Algorithm documentation on Adobe Developer describes how SSA aggregates assigned sources, subtracts the out-of-stock threshold to reduce overselling, supports backorders with negative thresholds, reserves qty at checkout, and deducts at shipment. Salable qty is not the same as summing on-hand in Admin without understanding reservations and thresholds.
Reservations are the invisible layer that saves you during a flash sale. Two shoppers can see “1 left” only if salable qty accounting is correct. When checkout completes, reservations hold until shipment or cancellation. Misconfigured cron or broken inventory indexers show up as oversells or phantom out-of-stock.
Algorithms recommend shipments. Adobe documents two in Admin shipment creation: Source Priority (order of sources in the stock) and Distance Priority (closest source to the shipping address, with Google or offline distance providers on the REST side). If Distance Priority cannot compute a route for the chosen mode (driving, bicycling, walking), Adobe falls back to Source Priority, which is why I always set an explicit priority list even when Distance is primary.
The REST endpoint POST /V1/inventory/source-selection-algorithm-result accepts algorithmCode priority or distance, cart items, and a destination address for distance mode. Headless teams use this to preview splits before warehouse staff click Ship in Admin.
Production checklist for Magento multi-source inventory
A catalogue is ready for multi-source MSI when every website has a stock, every SKU has source items where you truly hold stock, and operations know which algorithm picks shipments.
- Read Adobe’s introduction and confirm Inventory Management modules are enabled. Do not disable MSI modules to appease an old OMS note unless you have a written replacement. Adobe marks CatalogInventory-only mode deprecated.
- Inventory the fulfillment network on paper first: which buildings ship, which stores do pickup only, which drop shippers hold which SKUs. Names in Admin should match what warehouse staff say on the phone.
- Create sources in Stores, Inventory, Sources. Enable only locations that should deduct. Disable seasonal pop-ups instead of leaving zero-qty noise.
- Create or edit stocks in Stores, Inventory, Stocks. Assign sources in priority order for Source Priority. Drag higher-priority fulfillment locations to the top, as Adobe describes in Configure the Source Priority Algorithm.
- Map each website to exactly one stock. If B2B and B2C share a website but not fulfillment rules, fix the business rules or split websites before you split stocks incorrectly.
- Assign source quantities per SKU. For configurables, assign children. Missing source items behave like zero on that source, not like “inherit default”.
- Set product-level and global inventory settings: manage stock, out-of-stock threshold, backorders, and minimum qty increments. Thresholds protect concurrent checkout but can hide last units from merchandising if set too aggressively.
- Configure Distance Priority only after Source Priority is sane. Provide API keys or offline tables as Adobe documents under distance providers. Test a rural AU address and a metro address the same day.
- Train customer service on Create multi-source shipments: partial shipments, manual overrides, and SSA recommendations are normal, not exceptions.
- If Catalog Service or Live Search is on, document which screens use SaaS stock flags versus MSI salable qty. Reconcile a basket of 20 SKUs hourly during launch week.
- Run cron and verify inventory indexers after bulk imports. A CSV that updates only default stock without source items is a classic oversell incident.
- Add monitoring: salable qty for hero SKUs, reservation counts during promotions, and shipment source mismatches reported by the warehouse.
What breaks when Magento multi-source inventory is misconfigured
The first break is “in stock” on the PDP and “out of stock” at checkout. That usually means the product has qty on the default source but no source items on sources assigned to the website’s stock, or salable qty is zero because reservations never cleared after failed payments.
The second break is upgrading from 2.2 without MSI migration. Adobe disables Inventory Management modules by default on some upgrade paths when Order Management is in play because OMS did not support MSI. A store can run for months with a single default source while operations think MSI is live. I verify in Admin under Sources, not by assuming the module list from five years ago.
The third break is algorithm confusion. Merchants enable Distance Priority, skip priority ordering, and wonder why regional warehouses never ship. Adobe explicitly defaults to Source Priority when routing data fails. Fix the priority list first.
The fourth break is partial shipments without communication. SSA can recommend two packages from two sources. If the theme promises one delivery date, support inherits the anger. Align ETA copy with multi-source reality or consolidate in the warehouse even when SSA suggests a split.
The fifth break is SaaS versus MSI drift during events. Live Search may show inStock from a feed while MSI salable qty is already zero. Shoppers add to cart and fail at payment. Mitigate with shorter feed latency, stricter caps on concurrent checkout, or PDP templates that read MSI for the buy box while SaaS powers search facets.
The sixth break is imports that wipe source items. Spreadsheet tools love to update global qty only. I validate source-item rows in staging and diff salable qty before production imports during a sale.
The seventh break is SEO and faceted URLs, not MSI itself, but the symptoms overlap. Overselling leads to cancellation emails that look like a marketing failure. Keep MSI honest and pair with Magento faceted navigation and crawl budget work so category pages do not advertise SKUs you cannot fulfill.
How to measure Magento multi-source inventory after go-live
You measure Magento multi-source inventory with salable qty accuracy, reservation hygiene, shipment source alignment, and customer-visible cancel rates, not with a single Admin report.
I keep a dashboard list of 30 SKUs: high velocity, long-tail, configurable with uneven child stock, backorder-enabled, and pickup-only. For each, I compare on-hand per source, salable qty on the website stock, PDP availability, and add-to-cart success in a logged-out browser. I repeat during a simulated concurrent checkout with two sessions.
For operations, I sample ten orders per week where SSA recommended more than one source. I check whether warehouse staff followed the recommendation or overrode it, and whether tracking matched customer emails.
For SaaS adjacency, I log timestamps when feed inStock disagrees with MSI salable qty for the same SKU. If disagreements cluster during imports, I fix export cron before I tune search rules.
Core Web Vitals stay on the theme. MSI does not fix INP on checkout. If you moved PLP to Hyva, still read Hyva theme and Magento Core Web Vitals for the checkout stack you kept on Luma.
Revenue truth stays in the OMS and payment gateway. I do not invent conversion percentages for an MSI migration. On published work, the Their Nibs Shopify rebuild shows +31% conversions and +48% orders from a broader UX and ops programme, not from inventory alone. MSI projects win when cancel rates and support minutes drop.
Related Magento work on this site
Multi-source inventory sits on the same operational floor as large Magento catalogues I have shipped or directed. The retail conversion Magento work mixed three stores and heavy SKU counts, where availability and fulfillment had to match what ads promised. The Never Never Distillery Magento shop is a simpler catalogue, but bottle variants still need honest stock when a release sells out in hours. The Arteriors Magento catalogue carries configurable lighting and furniture where lead times differ by source. MSI is how those stories stay true after the theme work ships.
When search and browse move to Live Search, inventory truth still lives here. Read Adobe Commerce Live Search for feed timing, then use this note to keep checkout on MSI salable quantity.
FAQ
What is Magento multi-source inventory in Adobe Commerce?
Magento multi-source inventory is Adobe Commerce Inventory Management (MSI): sources for locations, stocks that map websites to sources, aggregate salable quantity, checkout reservations, and algorithms that recommend which source should ship each line item. It ships enabled in supported 2.4.x releases according to Adobe’s inventory introduction.
Do I need MSI if I already use Adobe Commerce Catalog Service?
You still need MSI (or an equivalent inventory system) for checkout truth. Catalog Service feeds can lag and are not meant for millisecond inventory guarantees. I use SaaS for fast catalog reads and MSI salable qty for add-to-cart and order placement, as Adobe’s storefront services architecture describes.
How does Source Priority differ from Distance Priority for Magento multi-source inventory?
Source Priority fulfills from sources in the order you arrange on the stock. Distance Priority recommends sources closest to the shipping address using configured distance providers. Adobe documents that Distance Priority falls back to Source Priority when routing data is unavailable, so you should configure both.
Can Magento multi-source inventory split one order across several warehouses?
Yes. Adobe’s multi-source shipment workflow lets you follow SSA recommendations or manually deduct quantities from multiple sources, sending partial shipments until the order is complete. Customer communication and delivery promises should match that behavior.
Keep reading
Contact if you want this kind of work on a live store.