Multi-Warehouse Inventory

Multi-Warehouse Inventory
Magento 1Magento 2
Magento Edition
Pro installation
  • 634
  • 87
  • 5

By default, Magento includes only a single inventory per product, which is a bump for stores relying on several warehouses. The extension is designed to create unlimited number of warehouses and assign separate inventory to each product. The module also provides great opportunities to create rules to select appropriate warehouses for purchased products. Among them: by priority, by country, by category, by product type, etc. Admin can set any set of rules! It is flexible enough to allow one or multi-warehouse order. The extension fully supports all Magento processing stages, namely checkout, submitting / editing / canceling / refunding of orders, export / import, reports, API.


While installing, the extension automatically creates a Default Warehouse that stores all products’ stocks.
To view, add new warehouse or edit an existing one, go to:
• Catalog > Manage Warehouses

Each warehouse can have Name, Code, Status, Priority, Contact Information and two types of Conditions:
• Strict conditions to meet to use the current warehouse
• Optional conditions possible to bypass for a lower priority warehouse to be used.

On the 'Conditions' tab, an admin user is free to create whatever combination of conditions based on Store View, Customer Groups, Shipping Country / State / Region / Postcode, Payment Method, Shipping Method, Total Weight/Qty/Price, and any Product Attribute Combination.

On order submission, a priority is given to a warehouse which best meets the following conditions: Strict Conditions > Optional Conditions > Priority > Qty (in descending order).

The extension’s common settings can be found under
• System > Config > SafeMage > Multi-Warehouse Inventory

Allow Multi-Warehouse Order = Yes - enables to create an order that includes more than one warehouse.
Allow to Edit Warehouse in Order = Yes - enables admin user to manually edit warehouse in existing orders.

The stock of any product’s warehouse can be manipulated in the following ways:
• on Inventory tab of product edit page
• via Update Attributes option under Actions menu
• via Dataflow - Profiles import and export warehouse stock
• via API (REST, SOAP v.1/2)

In can you'd like to prevent warehouse stock updates by a specific category of admin users, you can create a respective Permissions Role. This will apply to the aforementioned aproaches to manipulate warehouse stock.
• Catalog > Manage Warehouses > Select Warehouse > Permissions tab

API Description

The syntax is absolutely the same of that in default Magento. The only addition is array-value “warehouses” in Request or Response. For example:

<?xml version="1.0"?>



The methods to update stock programmatically

$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($productId);
$stockItem->setWarehousesQtyById(array($warehouseId => $qty, $warehouseId2 => $qty2));
$stockItem->setWarehousesQtyByCode(array($warehouseCode => $qty, $warehouseCode2 => $qty2));

The methods to get stock by warehouses programmatically

$warehouses = Mage::getResourceModel('safemage_multiinventory/warehouse_collection')
foreach($warehouses as $warehouse) {
    echo $warehouse->getName();
    echo $warehouse->getQty();


  • Unlimited number of warehouses and ability to assign separate inventory to each product
  • Allows one or multi-warehouse order
  • Allows any set of rules (by country, by category, by product type, etc.)
  • Two types of rules available: Strict conditions, ones to met to use a current warehouse, and Optional conditions, ones possible to bypass for a lower priority warehouse to be used
  • Permissions roles allowed to change warehouse qty during product edit
  • Ability to edit warehouse in order
  • Allows to specify to which warehouse to return inventory if order is canceled / refunded
  • Allows to display a column with warehouse in Product Grid, Low Stock Grid, Order Grid
  • Allows to move stocks between warehouses via mass action menu
  • Supports Dataflow - Profiles import and export warehouse stock
  • Ability to specify warehouse as a condition in Shopping Cart Price Rules
  • Supports API (REST, SOAP v.1/2) to update or read warehouse stock value for products
  • Incorporates Function Plugins (Interceptors) to avoid potential conflicts with 3rd-party extensions
Should you have and questions or wish to request an extension’s quick customization, just drop a line. Your case will be processed within a day.



Magento CE 1.4.x, 1.5.x, 1.6.x, 1.7.x, 1.8.x, 1.9.x
Magento EE 1.9.x, 1.10.x, 1.11.x, 1.12.x, 1.13.x, 1.14.x


We provide comprehensive product support for all the Magento extensions available on this site starting from the moment of your purchasing them. If you need help on the extensions installation or on any issues relating to our products, our dedicated team of proven technical experts is at your service, ready to assist you at any time.


new feature bugfix
v.1.10.6 (Sep 25, 2020)
Addressed an issue with configurable items turning out of stock if updated via the Update Attributes mass action.
v.1.10.5 (Nov 12, 2019)
Addressed an issue with backordered items in orders split by warehouses;
Added support for Magento
v.1.10.4 (Aug 22, 2019)
Added loop protection.
v.1.10.3 (Jun 14, 2019)
Addressed an issue with reindex by storeview.
v.1.10.2 (Apr 23, 2019)
Addressed an issue with store change in cart.
v.1.10.1 (Apr 15, 2019)
Added support for a warehouse variables in order emails: {{var order.warehouse.name}}, {{var order.warehouse.code}}, {{var order.warehouse.description}}, {{var order.warehouse.ordered_qty}}, {{var order.warehouse.contact_email}}.
v.1.10.0 (Mar 5, 2019)
Added a new setting to 'Send Order Confirmation to Warehouse Contact Email'.
v.1.9.4 (Mar 5, 2019)
Added a new 'Use Shipping Origin from Warehouse Contact' setting.
v.1.9.3 (Feb 15, 2019)
Improved support for SOAP v2.
v.1.9.2 (Jan 4, 2019)
Addressed an issue with warehouse grid occurred after the 1.9.0 release.
v.1.9.1 (Jan 2, 2019)
Added a new ‘Edit Warehouse Qty in Product Grid’ setting.
v.1.9.0 (Dec 28, 2018)
Added the new multi select option for stores to be able to hide the warehouse data under non-related scope;
Added support for SOAP V2 API methods.
v.1.8.10 (Dec 4, 2018)
Addressed an issue affecting new customers when there is a warehouse with no stock allocated to it.
v.1.8.9 (Oct 17, 2018)
Addressed errors appearing in log files.
v.1.8.8 (Oct 12, 2018)
Addressed an issue occuring when 'rule_apply_all' cron is run.
v.1.8.7 (Aug 30, 2018)
Added support for the backorder functionality.
v.1.8.6 (Jun 26, 2018)
Addressed an issue with reindex on Magento Commerce (EE).
v.1.8.5 (Apr 7, 2018)
Added Indexer by store view.
v.1.8.4 (Feb 15, 2018)
Added simple methods to save warehouses programmatically.
v.1.8.3 (Dec 23, 2017)
Addressed an issue with reindex of bundle products.
v.1.8.2 (Dec 14, 2017)
Improved support for API.
v.1.8.1 (Dec 4, 2017)
Addressed an issue with availability of bundle products.
v.1.8.0 (Oct 20, 2017)
Added Indexer by websites and/or customer groups to control visibility of products allocated to certain warehouses;
Addressed an issue with specific setup of warehouse conditions;
Addressed an issue with configurable product's disabled associated items.
v.1.7.9 (Sep 30, 2017)
Addressed an issue with the availability status of Grouped products after reindex.
v.1.7.8 (Aug 10, 2017)
Added a new Warehouse condition under Shopping Cart Price Rule>Actions>Apply the rule only to cart items matching the following conditions;
Addressed a display issue with cart items split by warehouse.
v.1.7.7 (Aug 7, 2017)
Addressed a minor issue with stock adjustments after canceling an order.
v.1.7.6 (Aug 2, 2017)
Added a new setting ‘Include Warehouse Info when Placing Orders from Backend’;
Addressed a minor issue with stock adjustments after refund.
v.1.7.5 (Jun 23, 2017)
Addressed an issue with partial refunds.
v.1.7.4 (Jun 12, 2017)
Addressed a minor issue with orders created from backend.
v.1.7.3 (Jun 5, 2017)
Added check of strict conditions on product page.
v.1.7.2 (Apr 27, 2017)
Addressed Availability setting update on stock change.
v.1.7.1 (Apr 24, 2017)
Added new ACL.
v.1.7.0 (Apr 22, 2017)
Added ability to move product inventory between warehouses on the products grid page via the mass action menu.
v.1.6.2 (Apr 14, 2017)
Fixed an issue with sort order of warehouses on products and orders grids;
Adjusted stock quantity display for configurable, grouped and bundle products on products grid.
v.1.6.0 (Apr 12, 2017)
Added ability to split order items by warehouse;
Added ability to include warehouse information in invoices and shipments.
v.1.5.1 (Apr 5, 2017)
Added ability to update stock status of configurable products based on their associated products in XTENTO Stock Import Module;
Fixed an issue with collect qty totals.
v.1.5.0 (Apr 3, 2017)
Added compatibility with XTENTO Stock Import Module.
v.1.4.0 (Mar 28, 2017)
Added ability to restrict the warehouse editing if stock is insufficient;
Added ability to select a warehouse to return item to during Credit Memo;
Fixed an issue with warehouse editing in orders.
v.1.3.0 (Mar 24, 2017)
Added ability to return stocks to different warehouses based on the order item status: Shipped/Not Shipped.
v.1.2.2 (Mar 20, 2017)
Minor fix to prevent potential conflicts with 3rd-party extensions affecting Orders grid.
v.1.2.1 (Mar 10, 2017)
Added new SOAP API: sales_order.info.
v.1.2.0 (Mar 9, 2017)
Added compability with Sage Pay Suite Pro;
Added new REST API: /api/rest/orders.
v.1.1.2 (Jan 24, 2017)
Minor fixes.
v.1.1.1 (Jan 19, 2017)
Code improvements related to a strict conditions part.
v.1.1.0 (Jan 18, 2017)
Added the Permissions tab.
v.1.0.1 (Jan 10, 2017)
Added few minor fixes.
v.1.0.0 (Dec 3, 2016)
Initial release.


    Great extension, Better Support
    Very scalable module, very fast and very helpful support.
    by Piotr November 18, 2017
    Really great to get this working and great support by Andrew
    Really great to get this working and great support by Andrew. Has really changed the business and made a difference.
    by snh_nl June 15, 2017
    Good extension working right out of box.
    My business model requires my products to have more than a single inventory plus specific conditions per website. Having learnt functionality of several multi-warehouse extensions by their demos, I concluded this one was the most suitable. Working capacity is fine and stable. This is essential because I discovered a surprising problem with one of other popular extensions - it consumed all memory and led to a fatal error when I added 5 products to cart.
    by Christian March 3, 2017
Write Your Own Review

Only registered users can write reviews. Please, log in or register