The necessity to manage more than one stock counter per product can have multiple reasons:
- You have a central warehouse for selling online and also a brick-and-mortar store for over-the-counter sales, and you want an overview what stock is where so that you can also offer the stock from the store for selling online.
- You have a network of several physical stores that sell your products, and each one should have a web ordering interface.
- You have multiple warehouses for selling online, each one for a different geographical area.
- You have multiple warehouses for selling online, all in one location, just because the goods do not fit in one only.
- You are a group of people operating a common webshop, with multiple warehouses for selling online, each being another person’s home and managed by this person (“distributed distribution”).
According to my research in 2012-05, you have these options to solve this. Ordered by quality, from my judgment – pick the first that fits your needs. I would suggest to use either the InnoExts or, if you don’t need all its features, the Wyomind extension (we use the latter).
InnoExts Multi-Warehouse. A commercial Magento extension for 300 USD (as of 2012-04). It has the most complete feature set for multi-stock management of all options here, including associating customers with warehouses and websites / stores with warehouses, doing automatic order routing to warehouses to avoid shipping costs, shipping methods per warehouse, notification about orders to all warehouses, list of products per warehouse, low-stock products per warehouse (they modified “Reports -> Products -> Low Stock” for that). What I miss is a comfortable “stock movement” feature incl. a stock movement journal, as in EmbeddedERP below. And what I rather dislike is the bloated look of the products overview list by having per-warehouse stock levels listed in it. But overall, solid quality. They have an online demo available.
Wyomind Advanced Inventory. This is a commercial Magento extension for just 65 EUR (as of 2012-04). It offers all the basic features to expect from a multi-stock solution, and has some nice GUI details to make working with it comfortable, but so far it’s not as feature rich as the InnoExts extension and some functionality requires some polishing. But it’s in active development, and collaboration with the developer happens to be great. They have the docs available online, and an online demo, so see for yourself.
The great features:
- You can assign “places” (warehouse / shop) to Magento store views (many-to-many relationship). Orders done in these store views can then be automatically lead to a deduction from the local stock of the assigned “place”. This routing can also be refined based on the customer’s country and ZIP location.
- You can also do the “order routing” manually, after the order comes in.
- You can use of arrow buttons to increase and decrease stock levels, in both the individual product view and the “Catalog -> Manage Stocks” overview.
- There is an automatic Google Maps integration to show your stores and their business times.
- It displays on the frontend how much is available in what store (if you want that).
- It has a concept of keeping an “online stock level” (the usual field Magento had before) and per-warehouse levels which are automatically or manually sync’ed to the online level, the latter being the sum. This seems to be to prohibit overselling while incoming orders are not yet assigned to a warehouse, but it also helps to avoid errors in stock transfers. Because the “Catalog -> Manage Stocks” tells you how much to add / subtract to another warehouse to keep the sum intact. You can however also disable the separate “online stock level”.
What’s missing (as of 2012-05-04, but it’s promised for the coming versions):
- A stock movement feature incl. a journal, like done in EmbeddedERP (see below).
- E-mail notification of the specific warehouse after an order was assigned to it, including a copy of the order. (The order copy is needed because store operators not necessarily are trusted enough to get Magento backend access, also allowing them to edit their own stock levels to their advantage.)
Bizelo eRetail. This is an external, web based software offered as SaaS for 25 USD monthly [source]. It is a nice and modern looking application that is used to centrally gather all inventory information, including multiple warehouses and multiple stores. It then can sync this information with various marketplaces and shopping carts, including Magento. However this approach also means that there will only be one stock level visible on Magento, so there is no way to assign orders to warehouses from within Magento. You could of course sync the stock level of every warehouse to different website; that is, if eRetail supports this – I did not check; and it’s an admin’s nightmare anyway, as you then have to manage a ton of Magento installations in parallel. If however you only want to have one web shop offering, but keep track of your stock separated by warehouse, this solution might be for you.
Smile OpenERP Synchro. Gratis Magento extension that acts as a connector to the likwise gratis and open source OpenERP. I have not tried out this alternative, yet it seems to be not for the faint of heart: orders and stock are imported from Magento into OpenERP and processed there, also providing the multi-stock feature as per the docs. However if you’re only after multi-stock, this solution is overkill, as OpenERP will require quite a bunch of learning, being a complex system.
BoostMyShop Embedded ERP. A commercial Magento extension for 590 EUR (as of 2012-04). You will probably not buy it for having just the multi-stock feature, because of that price tag. However once you have it, you have much more than multi-stock (including automated re-orders at suppliers etc.). Also the multi-stock feature is the most complete implementation that I have seen so far, including a record of movements between stocks that also makes it easy to do the transfers (without the need to calculate manually and adapt two stock counters correctly, as in the other multi-stock extensions).
Multi-Location Inventory. A commercial Magento extesion costing 99 USD (as per 2012-04). It can manage one stock counter per website view and additionally one “default” stock counter that you can then reference in all websites that should share common stock. So technically it does what you want, yet the problem is that managing the stock information has bad usability: it happen on the per-website-view product forms of the “Inventory” tab when editing a Magento product. So switching to a stock level for a different website requires two clicks and you cannot see all stock levels at once. There’s also no custom report or total sum for seeing all stocks at once. They have an online demo for you to check.
Advanced Product Options. An commercial Magento extension currently available for 139 USD. The purpose is not multi-location stock management, but to some extent it can be used for that because the extension provides stock levels per option value. So one could have a “Buy from location:” option on the product page, with a stock value for each location listed there, and let the customer choose from which one he wants to order. However, this is quite some work and quite confusing for the customer, but there seems to be no integrated way yet to simplify this by tieing specific option values to be auto-selected on specific websites or stores. If you want to hack this, it would work out (adding this is possible, as the extension comes with access to the source).
Unleashed Online Inventory. This is a stand-alone web application that talks to Magento by its API (so, is no extension). Their subscription based pricing starting at 35 USD monthly will probably deter many. But maybe if you use the Xero inventory management solution, this will be for you – because that’s what its made for: a connector from Magento to Xero, though it can also be used without Xero.
Fishbowl EZ Connector with Fishbowl Inventory. Fishbowl is a huge and professional inventory management software that integrates with QuickBooks and starts at ~4400 USD licence costs [source]. While Fishbowl Inventory is a cross-platform software, the EZ Connector seems to be a Windows-only software that syncs Fishbowl inventory levels into Magento and Magento orders into Fishbowl. This will probably work so that the multiple warehouse specific inventory levels of Fishbowl are summed up and transferred that way to Magento, meaning there is no way in Magento to assign an order to a warehouse etc. (would be done in Fishbowl Inventory). Only recommended if you already use Fishbowl Inventory, or plan using it anyway.
Doing several Magento installations. Quite a nightmare to keep up to date, and also it’s much manual work to do stock movements between them.
And finally, here’s the link to the “official” Magento forums thread about the multi-stock feature.