Magento Inventory Management: A Practical Guide for 2026
Magento inventory management is the set of tools inside Magento 2 (Adobe Commerce and Magento Open Source) that tracks how much stock you have, where it sits, and how much of it customers can buy right now. It covers sources, stocks, salable quantity, stock status, low stock alerts, backorders and bulk updates. When it is set up well, your storefront shows the right numbers and you stop selling things you don’t have.
I’ve spent a lot of time inside Magento admin panels, and the pattern I see most often is simple: the store looks fine until order volume grows, a second warehouse appears, or an ERP enters the picture. Then the numbers drift. This guide walks through how Magento inventory management works natively, where it stops, and how to connect it to an ERP like Microsoft Dynamics 365 Business Central using a Business Central Magento connector so one system owns the truth.
What is Magento inventory management?
Magento inventory management is the native module in Magento 2 that controls product quantities, stock locations and availability on your storefront. It decides whether a product shows as In Stock, how many units a shopper can add to the cart, and which warehouse should ship an order.
The current module supports one location or many, and it separates the physical count in a warehouse from the number you are allowed to sell online. That separation is the part most merchants misunderstand, so I’ll spend some time on it below.
For most growing businesses, purchasing, receiving, returns and accounting live in an ERP. If you run Microsoft’s ERP, the work of a Dynamics 365 Business Central Magento integration is to keep both systems agreeing on stock, orders and prices. If you are still deciding how to set that up, the steps to connect Magento with Microsoft Dynamics 365 Business Central are worth reading before you change any inventory settings.
What is Magento Multi Source Inventory?
Magento Multi Source Inventory (MSI) is the original project name for the Inventory Management module in Magento 2. It lets a single store manage stock across several physical locations, such as warehouses, retail stores, pickup points and drop shippers, and sell from all of them through one storefront.
Adobe now calls it Inventory Management, and most people searching for Magento inventory management mean this module. According to Adobe’s introduction to Inventory Management for Adobe Commerce, the module ships with both Magento Open Source and Adobe Commerce, and all of its features are turned on by default. So if you run Magento 2.3 or later, you already have it, even if you only use one warehouse.
Four terms make the whole system click:
- Source: a physical location that holds and ships products, like a warehouse or a store.
- Stock: a group of sources mapped to a sales channel (a website). One stock can serve several websites, but each website can only use one stock.
- Salable quantity: the number of units you can sell through a channel, added up across every source in that stock, minus reservations and thresholds.
- Reservation: a temporary hold placed when a customer checks out. When the order ships, the reservation clears and the real quantity is deducted from the specific source.
If you have one location, Magento treats you as a single-source merchant and everything runs through the Default Source and Default Stock. Add a second source and you become a multi-source merchant. Nothing about your store breaks when that happens, but your settings suddenly matter a lot more.
How Magento 2 inventory management works day to day
Magento 2 inventory management follows the order through four stages: cart, checkout, shipment and cancellation. Knowing which number changes at each stage saves hours of confusion.
- A shopper adds a product to the cart. Nothing is deducted yet. Magento only checks the salable quantity to confirm the item can be bought.
- The shopper completes checkout. Magento creates a reservation. The salable quantity drops right away, but the physical quantity in your source does not change.
- You ship the order. The reservation clears, and Magento deducts the shipped units from the source that fulfilled it.
- An order is canceled before shipping. The reserved units go back to the salable quantity.
The reason I stress this is that merchants often open the product grid, see a quantity of 40 and a salable quantity of 32, and assume something is broken. It isn’t. Those 8 units are sitting in unshipped orders. In my experience, the first real inventory problem a store hits is not a bug at all. It is someone in the warehouse adjusting the physical quantity to “match” the salable number, which then double counts the open orders.
Magento stock status, explained
Magento stock status is the In Stock or Out of Stock flag that controls whether a product can be bought on the storefront. It is part of Magento inventory management, but it is a separate setting from quantity.
A product can have units on hand and still show Out of Stock if the status is set that way, and the reverse is also possible when backorders are on. For multi-source stores, each source has its own status. A product is sellable on a website if at least one source in that website’s stock is In Stock and has salable units.
A few habits that keep stock status honest:
- Let Magento manage status automatically based on quantity instead of toggling it by hand.
- Use the “Display Out of Stock Products” setting deliberately. Showing them helps SEO and lets customers sign up for alerts. Hiding them keeps category pages clean.
How to set up a Magento low stock notification
A Magento low stock notification is an alert that fires when a product’s quantity falls below a number you choose. In the admin, the setting is called Notify for Quantity Below, and you can set it globally, per source or per product.
The global setting lives under Stores, Settings, Configuration, Catalog, Inventory, Product Stock Options. Product-level and source-level values override the global one, which is useful because a fast seller and a slow seller rarely need the same threshold.
There is one detail people miss. When backorders are disabled, Magento subtracts the Notify for Quantity Below value from the salable quantity. So if you have 25 units and set the threshold to 10, your storefront may only allow 15 to be sold. That is fine if you want a safety buffer, but it surprises merchants who expected all 25 to be available.
My practical advice for Magento inventory management: treat the low stock number as a reorder signal, not a buffer, unless you mean it to be one. And remember that Magento only notifies. It does not create a purchase order. Reordering still happens wherever your purchasing lives, which for most growing stores is the ERP.
How Magento backorders work
Magento backorders let you keep selling a product after its quantity reaches zero. The order is accepted, payment is taken, and shipping waits until new stock arrives.
You get three options: No Backorders, Allow Qty Below 0, and Allow Qty Below 0 and Notify Customer. The third one tells shoppers on the product page that the item is on backorder, which I recommend almost every time. Customers handle a delay far better when they were told about it before paying.
The setting that controls how far you can oversell is the Out-of-Stock Threshold. With backorders on, you enter a negative number. Adobe’s guide to configuring Magento backorders gives a clear worked example: with 25 units on hand and a threshold of -50, the salable quantity becomes 75. Enter 0 with backorders on and you allow unlimited backorders, which I would avoid unless you manufacture to order.
When should you use backorders? They make sense for items with reliable restock dates, made-to-order products and B2B buyers who order ahead. They are risky for seasonal goods, discontinued lines or anything with an uncertain supplier. If you allow them, the ERP needs to see those orders quickly so purchasing knows the real demand.
Magento bulk inventory update options
A Magento bulk inventory update is any method that changes stock for many SKUs at once instead of editing products one by one. Magento inventory management gives you four native ways to do it.
- Import and export: upload a CSV with SKUs, sources and quantities. This is the most common method for catalogs of any size.
- Bulk assign and unassign sources: select products in the grid and attach or remove a source as a mass action.
- Transfer inventory to source: move all inventory from one source to another in a single action, useful when closing a location.
- Mass update attributes: change settings like backorders or notify thresholds across a product selection.
Adobe’s page on managing inventory quantities in bulk also notes that products imported by CSV land in the Default Source unless you say otherwise. That one catches teams who just added a new warehouse.
CSV imports are fine for a weekly reset. They are not a sync. The moment a CSV is exported, it starts going stale, and any order placed between export and import is missing from it. For a store with steady daily orders, the safer route is to let the ERP push quantities automatically.
Magento warehouse management with multiple sources
Magento warehouse management, in the native sense, means deciding which source fulfills each order and keeping quantities per location accurate. Magento handles the first part through its Source Selection Algorithm.
The default algorithm uses source priority: you rank the sources assigned to a stock, and Magento suggests shipping from the highest-ranked one that has the units. There is also a distance-based option that picks the closest source to the shipping address, which needs either Google Maps API access or offline geocoding data.
What Magento does not do is run a warehouse. There is no native receiving, put-away, bin management, picking route or cycle count workflow. Those jobs belong to a warehouse management system or an ERP. In Business Central, for example, locations, bins, transfer orders and physical counts are all standard features, and the stock that results is what Magento should display.
My rule of thumb for Magento inventory management: let Magento decide where to ship from and show availability. Let the ERP decide how much is physically on the shelf.
How to manage inventory in Magento 2: step by step
Managing inventory in Magento 2 comes down to setting up your locations, mapping them to your websites, loading quantities and choosing rules for alerts and backorders. Here is the order I follow when I set up Magento inventory management on a new store.
- Decide single source or multi source. If every order ships from one place, stay single source. You can expand later without rebuilding anything.
- Create your sources. Go to Stores, Inventory, Sources. Add each warehouse, store or drop shipper with its address and contact details.
- Create stocks and link websites. Under Stores, Inventory, Stocks, group the sources that serve each website and set their priority.
- Assign sources to products. Use bulk assignment for large catalogs instead of opening products one at a time.
- Load quantities. Import a CSV per source, or better, let your ERP push them.
- Set global stock options. Choose your backorder policy, Out-of-Stock Threshold and Notify for Quantity Below.
- Override for exceptions. Set product-level values for fast movers, special orders and anything with a different restock pattern.
- Pick a source selection method. Priority works for most stores. Distance helps when you ship from several regions.
- Test the full order cycle. Place a test order, check the reservation, ship it, then cancel another one. Confirm each number moves the way you expect.
- Connect the ERP. Map Magento sources to ERP locations so stock flows in one direction from a single owner.
Where native Magento stops: multi-channel inventory management and inventory control
Native Magento inventory management is built for the Magento storefront. It does not know about stock sold on Amazon, in a physical shop, through a sales rep or over the phone unless something tells it.
That gap matters more every year. The U.S. Census Bureau’s quarterly retail e-commerce sales report estimated U.S. retail e-commerce sales at $340.2 billion for the second quarter of 2026, 17.1 percent of total retail sales and 12.2 percent higher than the same quarter of 2025 (seasonally adjusted). More online orders means more channels pulling from the same shelves, and more chances to sell a unit twice.
Multi-channel inventory management means one pool of stock, many places to sell it, and every channel seeing the same available number. Inventory control is the discipline behind it: accurate counts, clear ownership of each adjustment, and a record of why stock changed.
Magento ERP integration: why the ERP should own your stock
Magento ERP integration connects your storefront to your enterprise resource planning system so orders, items, stock, prices, shipments and invoices move between them automatically. For Magento inventory management, the goal is simple: the ERP is the system of record, and Magento displays what the ERP says.
Here is why I put the ERP in charge. Stock changes for reasons Magento never sees: a supplier delivery, a damaged pallet, a transfer between warehouses, a cycle count, a return inspected and put back on the shelf. In Business Central, every one of those is a posted transaction with a cost attached. Microsoft’s guide to managing inventory in Business Central shows how item journals, transfer orders, physical counts and reservations all post to the item ledger, which then flows into the general ledger. That is inventory control with an audit trail.
If both systems are allowed to edit quantities, they will disagree. One owner, one direction, every time.
A good Magento ERP integration usually handles:
- Orders and customers downloaded from Magento into the ERP
- Stock levels, per location, uploaded from the ERP to Magento
- Items, categories and prices uploaded from the ERP to Magento
- Shipments and tracking numbers sent back to Magento
- Invoices, including partial invoices, sent back to the customer account
Here is how the work usually splits once the connection is live.
| Task | Native Magento | ERP connected to Magento |
|---|---|---|
| Show available stock to shoppers | Yes | Yes, fed by ERP |
| Reserve stock at checkout | Yes | Yes |
| Receive purchase orders | No | Yes |
| Count and adjust stock | Manual or CSV | Item journals and physical counts |
| Transfer between warehouses | Limited | Transfer orders |
| Value inventory for accounting | No | Yes, posted to the general ledger |
| See stock from other sales channels | No | Yes |
How to sync inventory between Magento and ERP
To sync inventory between Magento and ERP, you map each ERP location to a Magento source, choose a sync direction and frequency, and let a connector push quantity changes from the ERP to Magento while orders flow back the other way.
Here is the process I use for a Dynamics 365 Business Central inventory sync:
- Clean the item data first. SKUs must match exactly between Business Central item numbers and Magento SKUs. Duplicates and trailing spaces cause most failed syncs I’ve seen.
- Map locations to sources. Each Business Central location that sells online gets a matching Magento source. Locations that shouldn’t sell online, like a quarantine area, stay unmapped.
- Decide what “available” means. Many teams send quantity on hand. I prefer quantity on hand minus open sales orders already in the ERP, so Magento doesn’t double sell units committed to phone or B2B orders.
- Set the direction. Stock goes from Business Central to Magento. Orders go from Magento to Business Central. Don’t let staff edit Magento quantities by hand after go-live.
- Choose the sync timing. Real-time or near real-time for fast sellers and high order volume. Scheduled batches can work for slow catalogs.
- Test with live-like orders. Place orders in Magento, post shipments in Business Central, and confirm the numbers line up on both sides.
- Watch the error log for the first two weeks. Most mapping mistakes show up early. Fix them at the source instead of patching quantities.
A connector built for these two platforms saves most of the custom coding. The New Wiz Tech connector, for example, exports real-time inventory levels from Business Central to one or more Magento storefront locations, and it lets you map locations, items, customers, shipping and payment methods without hardcoding. If you sell on more than one storefront, it’s worth looking at the wider range of Business Central eCommerce integrations so Magento, WooCommerce and Shopify all read from the same ERP stock. And if budget is the deciding factor, the published Business Central Magento connector pricing lists setup, monthly and one-time options so you can compare it against a custom build.
Real-time sync or scheduled batches?
Real-time sync pushes a stock change to Magento as soon as it posts in the ERP. Scheduled batch sync sends changes every few minutes or hours.
I lean toward real-time for any store with flash sales, limited stock items or several channels sharing inventory. Batch sync is easier on server resources and fine for large catalogs that move slowly. The honest answer is that many stores end up mixing both: real-time for stock, scheduled for slower data like product descriptions.
Common Magento inventory management mistakes I see
Most Magento inventory management problems come from setup decisions, not software bugs. These are the ones I run into most.
- Editing quantities in two systems. Someone fixes a count in Magento while the ERP still holds the old number. The next sync overwrites it, and nobody knows which was right.
- Treating salable quantity as physical stock. The difference is open reservations. Adjusting one to match the other creates phantom stock or phantom shortages.
- Forgetting the Notify for Quantity Below effect. With backorders off, the threshold quietly lowers what you can sell.
- Importing new products into the Default Source by accident. New SKUs don’t appear in the warehouse you expected.
- Unlimited backorders. An Out-of-Stock Threshold of 0 with backorders on lets customers order without limit. That’s rarely what anyone wants.
- No owner for returns. Returned items sit in limbo because nobody decided whether Magento or the ERP puts them back in stock.
Order fulfillment and inventory: closing the loop
Order fulfillment is the last step of Magento inventory management, and it is where accuracy is proven. Every shipment should reduce stock in exactly one place, and every customer should see tracking without anyone typing it in twice.
With an ERP connection in place, the flow looks like this. A customer orders on Magento. The order lands in Business Central as a sales order. The warehouse picks and ships it, and posting the shipment reduces stock at that location. The shipment and tracking number go back to Magento, the reservation clears, and the customer gets the update. The updated stock level then flows to every channel.
When that loop runs without manual steps, inventory control stops being a weekly firefight. You get fewer oversold orders, faster shipping confirmations and stock numbers your finance team can trust at month end.
Final thoughts
Magento inventory management gives you solid tools for the storefront: sources, stocks, salable quantity, stock status, low stock alerts, backorders and bulk updates. Learn how reservations work and set your thresholds on purpose, and you’ll avoid most beginner mistakes.
Once you have more than one warehouse, more than one sales channel or an ERP, Magento should stop being the place where stock is decided. Let the ERP own the numbers, let Magento display them, and connect the two so every order and shipment moves on its own. If you run Dynamics 365, a Business Central Magento connector handles that sync for you, and it is the setup that keeps your inventory accurate as order volume grows.
Frequently asked questions
1. What is Magento inventory management?
Magento inventory management is the native module in Magento 2 that tracks stock quantities, locations and availability. It manages sources, stocks, salable quantity, stock status, low stock notifications and backorders. It decides what shoppers can buy and which location ships each order. It ships with both Magento Open Source and Adobe Commerce and is enabled by default.
2. What is Magento Multi Source Inventory?
Magento Multi Source Inventory, or MSI, is the original name of the Inventory Management module in Magento 2. It lets one store manage stock across several locations, such as warehouses, retail stores and drop shippers, and sell from all of them on one storefront. Adobe now calls it Inventory Management, but many developers still use the MSI name.
3. What is the difference between quantity and salable quantity in Magento?
Quantity is the physical stock sitting at a source. Salable quantity is what customers can buy right now through a website. Salable quantity subtracts open order reservations and certain thresholds, and it adds the units allowed by backorders. The two numbers differ whenever there are unshipped orders, so a gap between them is normal and not an error.
4. How do I set up a low stock notification in Magento 2?
Go to Stores, Settings, Configuration, Catalog, Inventory, Product Stock Options, and set Notify for Quantity Below. You can override it per source or per product under Advanced Inventory. Keep in mind that when backorders are disabled, Magento subtracts this value from the salable quantity, so it also works as a safety buffer.
5. How do backorders work in Magento?
Backorders let customers buy a product after its quantity reaches zero. Payment is taken and shipping waits until stock arrives. You choose No Backorders, Allow Qty Below 0, or Allow Qty Below 0 and Notify Customer. A negative Out-of-Stock Threshold caps how many units can be backordered. Setting it to zero allows unlimited backorders.
6. How do I update inventory in bulk in Magento 2?
The most common method is importing a CSV file with SKUs, sources and quantities. You can also bulk assign sources from the product grid, transfer all inventory from one source to another, or mass update stock settings. For stores with daily orders, an ERP connection that pushes quantities automatically is more accurate than repeated CSV imports.
7. Can Magento manage multiple warehouses?
Yes. Magento 2 supports multiple sources, so each warehouse, store or drop shipper can hold its own quantity. Sources are grouped into stocks that serve your websites, and the Source Selection Algorithm suggests which location should ship an order, by priority or by distance. Warehouse tasks like receiving, picking and bin management need a WMS or ERP.
8. How do I sync inventory between Magento and an ERP?
Match SKUs and item numbers, map each ERP location to a Magento source, and use a connector to push stock from the ERP to Magento. Orders flow from Magento to the ERP, and shipments and invoices flow back. Make the ERP the only system that edits quantities, then test full order cycles before going live.
9. Does Business Central sync inventory with Magento in real time?
It can, depending on the connector you use. Business Central does not include a native Magento connector, so a third-party integration handles the sync. Connectors built for both platforms can send stock changes from Business Central locations to Magento sources in real time or on a schedule, while orders download into Business Central automatically.
10. Why do stock levels in Magento and my ERP not match?
The usual causes are quantities edited in both systems, SKUs that don’t match exactly, unmapped locations, or comparing physical quantity in one system with salable quantity in the other. Returns and canceled orders handled in only one system also cause gaps. Pick one system as the stock owner and send changes in one direction only.
Magento Inventory Management: A Practical Guide for 2026 Read Post »


