Inventory management is a crucial part in electronic commerce. It is twice important when you have two or more warehouses / suppliers / drop shippers located worldwide / nationwide. That requires proper inventory management software.
Multi-Warehouse Magento extension is a powerful tool in warehouse management system that supports multi-warehouse functionality. It allows to set up multiple shipping origins within one installation, flexible shipping configurations, control stock in different physical locations through the same admin interface as well as many other functions for a Magento shop.
| Price | $300 |
|---|---|
| Version | 1.1.2.4 |
| Difficulty | Hard |
| Interference | High |
Requirements
| Magento | 1.5.0.1, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0 |
|---|
Support Packages
| Basic | Standart | Advanced | |
|---|---|---|---|
| Price | FREE | $175 | $250 |
| Updates (for 1 year) | Yes | Yes | Yes |
| Manuals | Yes | Yes | Yes |
| Installation | No | Yes | Yes |
| Customisation | No | No | 3h |
| Enterprise Edition (1.10.0.0+) | No | No | Yes |
| Post-Sale Consultations | 0.5h | 1.5h | 3h |
| Bugs Fixing | Yes | Yes | Yes |
The Standart and Advanced support packages are temporarily unavailable for purchase (approximately till the end of the month) due to overloaded schedule.
1. Multiple Warehouse Support
2. Flexible Configuration Settings
3. Shipping
- Shipping from a single warehouse which is the closest to the customer’s location
- Shipping from a single warehouse which is located in the customer’s area
- Shipping from a single warehouse depending on website / store / store view
- Shipping from a single warehouse selected by your customer
- Shipping from multiple warehouses by the lowest shipping price
- Shipping from multiple warehouses by the lowest tax price
- Shipping from multiple warehouses by the lowest products price (Lowest Subtotal)
- Shipping from multiple warehouses by the lowest cart price (Lowest Grand total)
- Shipping from multiple warehouses starting with the highest priority warehouse
- Shipping from multiple warehouses according to the customer’s preference
- Extended shipping table rates
- Ability to specify shipping methods per warehouse
- Ability to specify shipping methods per product
- Split product quantity for delivery according to the availability of items at the warehouses
- Force no backorders for cart
- Force no backorders for cart item
4. Marketing Promotions and Tools
5. Order Management
- Ability for admin to change the warehouse for delivery when processing the order (switch warehouse from the administration panel)
- Notification about new orders by email for each warehouse
- Keep track of orders / invoices / shipments / credit memos by warehouses
- Ability to split shopping cart order into several orders for each warehouse separately
6. Catalog Management
- Extended Dataflow
- Extended API
- Multiple locations with its own stock levels, products and alerts
- Common products with independent stock counts for all your warehouses
- Keep track of the inventory of each item for each one of your warehouses
- Set warehouse priority at the product level
- Shelf information
- Notification of how many products are below the lower bound limit for each warehouse
7. Warehouse Management
- Prioritize your warehouses in order to offer products from warehouses in accordance with their priority status
- Keep track of product quantity on warehouse basis
- Hide warehouse information from the public optionally
8. Customer Locator
- Detect customer’s location by IP address
- Allow a customer to modify a location (Region / State, ZIP / Postal Code, City)
- Apply default shipping address optionally
- Apply default location defined in settings
- Customize the Your Location box (hide not required fields)
- Select from address book
9. Customer Experience
9.1. Delivery Methods
9.1.1. Single Mode
- Assign a customer to a specific warehouse
- Assign a customer to a specific warehouse by areas / zones accordingly to his / her place of residence
- Assign a customer to the nearest warehouse accordingly to his / her place of residence
- Assign a website / store / store view to a certain warehouse
- Multi-Warehouse
- Configuration - Warehouses
- Catalog - Manage Warehouses
- Catalog - Manage Warehouses - Add Warehouse - General
- Catalog - Manage Warehouses - Add Warehouse - Contact
- Catalog - Manage Warehouses - Add Warehouse - Origin
- Catalog - Manage Warehouses - Edit Warehouse - Areas
- Catalog - Manage Warehouses - Edit Warehouse - Products
- Catalog - Manage Warehouses - Edit Warehouse - Orders
- Catalog - Manage Warehouses - Edit Warehouse - Invoices
- Catalog - Manage Warehouses - Edit Warehouse - Shipments
- Catalog - Manage Warehouses - Edit Warehouse - Credit Memos
- Catalog - Manage Products
- Catalog - Manage Products - Edit Product - Inventory
- Sales - Orders
- Sales - Orders - View Order
- Sales - Orders - View Order - Items
- Reports - Products - Low Stock
- Configuration - Sales - Shipping Methods - Table Rates
- Configuration - Sales - Shipping Methods - Table Rates - CSV
Backend Demo
http://multiwarehouse.innoexts.com/admin/
| Username: | multiwarehouse |
| Password: | multiwarehouse1 |
Frontend Demo
http://multiwarehouse.innoexts.com/
| Email: | john.doe@innoexts.com |
| Password: | john.doe |
Dedicated Demo
Want to test it in-depth? Request the dedicated demo here.
Release Notes
Multi-Warehouse 1.1.2.4 (May 9, 2012)
- Magento 1.7.0 is added to supported versions
Multi-Warehouse 1.1.2.3 (Apr 23, 2012)
- Nearest delivery method is added for multiple mode
- Installer is optimised
Multi-Warehouse 1.1.2.2 (Apr 18, 2012)
- Multiple mode Manual Selection delivery method is significantly improved
- Checkout shipping method selector is updated
- Layered navigation price fix is added
- Customer locator is updated
Multi-Warehouse 1.1.2.1 (Mar 7, 2012)
- Layered navigation counters fix is added
Multi-Warehouse 1.1.2 (Feb 29, 2012)
-
Customer locator is improved
- Select from address book function is added
- Ability to hide / show attributes is added
- Zip codes ranges feature is added for Assigned Areas delivery method
Multi-Warehouse 1.1.1 (Feb 24, 2012)
- Split quantity function is added
- Delivery algorithms has been revamped and optimized
- Grouped products discounts function fixed
- Cart functions optimized
Multi-Warehouse 1.1.0.9 (Feb 2, 2012)
- Backend create order products filter is fixed (in case of the assigned stores algorithm) for Magento older 1.6.1
Multi-Warehouse 1.1.0.8 (Jan 29, 2012)
- Priority delivery method improved
- Shipping methods filter improved
- Configuration settings refined
Multi-Warehouse 1.1.0.7 (Jan 27, 2012)
- Added an ability to change warehouses manually on administrator side for single and multiple modes
- Admin sales improvements
- Single mode assigned stores delivery method fixed for backend
Multi-Warehouse 1.1.0.6 (Jan 9, 2012)
- Magento Enterprise specific fix added
Multi-Warehouse 1.1.0.5 (Dec 31, 2011)
- One page checkout conditional defect fixed for IE browser
- GeoIP database and functions updated
- One page checkout improved. Proper shipping address change handling added
Multi-Warehouse 1.1.0.4 (Dec 22, 2011)
- Magento 1.5.0 compatibility fixes
Multi-Warehouse 1.1.0.3 (Dec 18, 2011)
- shipping methods filter fixed (no need to disable methods for each warehouse in case if filter is turned off)
- small templates fixes for old Magento versions 1.5.*
Multi-Warehouse 1.1.0.2 (Dec 12, 2011)
- shipping table rates sorting fixed
- shipping free weight calculation bug is fixed (in case if “split order” option is disabled)
Multi-Warehouse 1.1.0.1 (Nov 24, 2011)
- view configurable product page improved (display available options only)
Update Instructions
If you are running the version prior to 1.1.0 and upgrade can’t be performed for some reason then you can apply most important bug fixes manually.
1. Open app/code/local/Innoexts/Warehouse/Model/Sales/Quote/Address.php file
2. Before getShippingRatesResult function add 2 functions code:
* Get item free method weight
*
* @param Mage_Sales_Model_Quote_Item $item
*/
protected function _getItemFreeMethodWeight($item)
{
if ($item->getProduct()->isVirtual()) {
return 0;
}
$freeAddress = $this->getFreeShipping();
$itemWeight = $item->getWeight();
$rowWeight = $itemWeight * $item->getQty();
if ($freeAddress || $item->getFreeShipping() === true) {
$rowWeight = 0;
} elseif (is_numeric($item->getFreeShipping())) {
$freeQty = $item->getFreeShipping();
if ($item->getQty() > $freeQty) {
$rowWeight = $itemWeight * ($item->getQty() - $freeQty);
} else {
$rowWeight = 0;
}
}
return $rowWeight;
}
/**
* Get item free method weight
*
* @param Mage_Sales_Model_Quote_Item $item
* @return float
*/
protected function getItemFreeMethodWeight($item)
{
$freeMethodWeight = 0;
$freeAddress = $this->getFreeShipping();
if ($item->getParentItem()) {
return $freeMethodWeight;
}
if ($item->getHasChildren() && $item->isShipSeparately()) {
foreach ($item->getChildren() as $child) {
if (!$item->getProduct()->getWeightType()) {
$freeMethodWeight += $this->_getItemFreeMethodWeight($child);
}
}
if ($item->getProduct()->getWeightType()) {
$freeMethodWeight += $this->_getItemFreeMethodWeight($item);
}
} else {
$freeMethodWeight = $this->_getItemFreeMethodWeight($item);
}
return $freeMethodWeight;
}
3. Inside getShippingRatesResult function before
add
if ($_freeMethodWeight > 0) {
$freeMethodWeight += $_freeMethodWeight;
}
4. Save it and open app/code/local/Innoexts/Warehouse/Model/Mysql4/Shipping/Carrier/Tablerate.php file
5. Replace getRate function with:
* Return table rate array or false by rate request
*
* @param Mage_Shipping_Model_Rate_Request $request
* @return array|false
*/
public function getRate(Mage_Shipping_Model_Rate_Request $request)
{
$adapter = $this->_getReadAdapter();
$bind = array(
':website_id' => (int) $request->getWebsiteId(),
':country_id' => $request->getDestCountryId(),
':region_id' => $request->getDestRegionId(),
':postcode' => $request->getDestPostcode(),
':warehouse_id' => (int) $request->getWarehouseId(),
);
$order = array('dest_country_id DESC', 'dest_region_id DESC', 'dest_zip DESC');
if (is_array($request->getConditionName())) {
$pieces = array();
foreach ($request->getConditionName() as $index => $conditionName) {
array_push($pieces, "WHEN condition_name = '{$conditionName}' THEN '{$index}'");
}
array_push($order, '(CASE '.implode(' ', $pieces).' END) ASC');
}
array_push($order, 'condition_value DESC');
array_push($order, 'warehouse_id DESC');
$select = $adapter->select()->from($this->getMainTable())->where('website_id = :website_id')
->where("(warehouse_id = :warehouse_id OR warehouse_id = '0')")
->order($order)
->limit(1);
$orWhere = '(' . implode(') OR (', array(
"dest_country_id = :country_id AND dest_region_id = :region_id AND dest_zip = :postcode",
"dest_country_id = :country_id AND dest_region_id = :region_id AND (dest_zip = '' OR dest_zip = '*')",
"dest_country_id = :country_id AND dest_region_id = 0 AND (dest_zip = '' OR dest_zip = '*')",
"dest_country_id = :country_id AND dest_region_id = 0 AND dest_zip = :postcode",
"dest_country_id = '0' AND dest_region_id = 0 AND (dest_zip = '' OR dest_zip = '*')",
)).')';
$select->where($orWhere);
if (is_array($request->getConditionName())) {
$orWhere = array();
$i = 0;
foreach ($request->getConditionName() as $conditionName) {
$bindNameKey = sprintf(':condition_name_%d', $i);
$bindValueKey = sprintf(':condition_value_%d', $i);
$orWhere[] = "(condition_name = {$bindNameKey} AND condition_value <= {$bindValueKey})";
$bind[$bindNameKey] = $conditionName;
$bind[$bindValueKey] = $request->getData($conditionName);
$i++;
}
if ($orWhere) {
$select->where(implode(' OR ', $orWhere));
}
} else {
$bind[':condition_name'] = $request->getConditionName();
$bind[':condition_value'] = $request->getData($request->getConditionName());
$select->where('condition_name = :condition_name');
$select->where('condition_value <= :condition_value');
}
return $adapter->fetchRow($select, $bind);
}
6. Save it





Mr R Abdulla
May 3, 2011 at 1:21 pm
Hi,
Can you please e-mail me to confirm when the product is definitely available for v.1.4.1 + will it also be compatible with v 1.5 when we upgrade.
Thanks
Mr R Abdulla
g.donat@orientis.fr
September 15, 2011 at 2:56 pm
Hi,
Is Multi-warehouse compatible with Magento CE 1.6 ?
InnoExts
September 15, 2011 at 3:02 pm
The current version has not been tested with Magento CE 1.6 yet. But 1.6 does not include significant changes that can break it looking into changes review. However, the next version that comes in 1 week will be tested against it. Let us know if you can find some features you would like to see in next versions in addition as well.
g.donat@orientis.fr
September 20, 2011 at 1:47 pm
wrong channel (magento-community) in package.xml you have to enter the single word community.
InnoExts
September 20, 2011 at 5:28 pm
You should extract sources to your directory. No package manager is needed.
g.donat@orientis.fr
September 21, 2011 at 7:46 am
Yes that’s what I did at the end
g.donat@orientis.fr
September 20, 2011 at 3:00 pm
When I try to edit a Warehouse :
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation ‘=’
InnoExts
September 20, 2011 at 5:39 pm
It is seems like you have another characters collation for directory_country or directory_country_region tables. May be you have changed the default collation. This post have detailed instructions how to fix it http://www.magentocommerce.com/boards/viewthread/1086/ . You can find small php script there. Let me know if you have problems still. I would like to suggest you to install extension on blank Magento first. Then add other 3rd party extensions one by one checking for rewrite rules conflicts carefully.
g.donat@orientis.fr
September 21, 2011 at 7:44 am
I used utf8_unicode_ci.
I changed my entire database to use utf8_general_ci but that’s doesn’t change anything
I still have the same message :
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation ‘=’
g.donat@orientis.fr
September 21, 2011 at 7:59 am
Ok,
I run this query and it’s ok :
ALTER TABLE directory_country CHANGE country_id country_id varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci;
Thanks for your help !
g.donat@orientis.fr
September 21, 2011 at 8:40 am
As soon I activate your plugins, A lot of things doesn’t work anymore, I have various bugs including :
- Unable to run price indexer (‘SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘cwd.date’ in ‘field list”)
- Unable to create a product (SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘cwd.date’ in ‘field list’)
InnoExts
September 21, 2011 at 1:27 pm
The database schema has been changed in 1.6. So, we need to correct indexing for 1.6 version. The new version comes this week and 1.6 support will be added.
InnoExts
May 20, 2011 at 6:43 pm
Multi-Warehouse v0.1.1-rc1 has been published. We are getting rid of rc1 postfix by Monday and doing more testing and small improvements including Magento 1.4.2 support. Orders Dataflow extension in process. Read more in the manual on our site.
Rakesh Alhan
May 16, 2012 at 8:52 am
Hey, I’m interested to buy your this extension “multi-warehouse”. Before that i just want to confirm that are you done with your testing and improvements to support your this extension to Magento CE 1.4.2 ??
You may reply on email please.
Thanks in anticipation.
InnoExts
May 16, 2012 at 5:32 pm
Magento CE 1.4.2 is not supported. Magento CE 1.5.0.1 is a minimal required version. We are not planning to support 1.4.2 or earlier versions for now.
InnoExts
June 2, 2011 at 11:49 am
Advanced Dataflow extension release coming by June, 5. The first version extends standard Dataflow with the accurate orders
export / import profiles additionally to customer and product entities.
The next version features are XML & XSL with most wanted connectors, shipments, invoices, credit memos migration.
InnoExts
June 2, 2011 at 11:50 am
Multi-Warehouse update is scheduled on June, 9-10
New features:
– Shipping table rates manager screen (comes as a free standalone extension as well);
– Orders & Import / Export (Advanced Dataflow included);
– Notify warehouses on order create;
– Assign a warehouse by visitor country feature additionally to the nearest warehouse algorithm;
– Allow a customer to choose warehouses to deliver from (optionally);
– Warehouses and Stocks manager to be merged into warehouses one;
Kevin Doherty
June 10, 2011 at 4:54 pm
This is exactly what I need!
question… I have a warehouse 1 warehouse in Canada and 1 in US. I want to use FedEx in both countries and have 2 ship from addresses. Idealy to send from my US warehouse to any US customer and for Canada warehouse to send to any person in Canada.
I also would be using USPS in the US and Canada Post in Canada.
Would this logic work out and get the proper shipping rates in this sort of a setup with your module?
InnoExts
June 10, 2011 at 5:22 pm
Each warehouse has own origin to calculate a shipping rates correctly. The system directs customers to the nearest warehouses currently. The only issue is assign US customers to US warehouse and CA customers to CA warehouse instead of nearest one. It may be done with simple Innoexts_Warehouse_Model_Warehouse::loadByAddress(Varien_Object $address) function overwrite. It is 2 lines of code.
bgbxycom
June 23, 2011 at 6:39 pm
How can i use the ups and fedex integration if i use the multiple warehouses option.
If i have 4 warehouses in US and would like to ship from the warehouse closest to the customer.
I would like to integrate UPS and Fedex and calulate shipping rates at the time of checkuout.
How is this going to be handed using Maultiple Wrehouse option ?
InnoExts
June 23, 2011 at 7:11 pm
The only difference is multi-warehouse ext replaces default shipping origin with the nearest warehouse origin.
cas
June 24, 2011 at 2:28 pm
Is this extension work for magento 1.4.0.1? If yes, I’ll buy now. It is exactly what I need.
InnoExts
June 24, 2011 at 2:45 pm
no. it is works for 1.5+ only. We are coming with a new version this weekends. New features are:
– Products tab for edit warehouse;
– Areas tab for warehouse to edit warehouse zones;
– Contact tab for edit warehouse to send create order notification on order create;
– Shipping table rates editor warehouse version;
– Set warehouse by user manually;
– Small improvements;
Dave
June 27, 2011 at 8:42 am
Can you tell me if your multi warehouse extension will ever support v 1.4.1.1?
InnoExts
June 27, 2011 at 8:52 am
It is not in todo list currently. The extension includes tons of core overwrites, hundreds of files. Each earlier version support will take more resources that may be used for lots of features implementation. We have decided to finish with most wanted features first. Magento upgrade is cheaper than old versions maintenance.
Dave
June 27, 2011 at 9:05 am
Hi,
Ok, I understand. You say that you overwrite hundreds of core files. Does this mean that I would be locked into that version of Magento as it would be impossible to upgrade Magento in case the core files which you have changed get over written by new magento core files?
Thanks
Dave
InnoExts
June 27, 2011 at 9:42 am
The extension must support all versions starting with 1.5. Once new Magento version released all extensions must be checked and updated if needed.
cas
July 6, 2011 at 10:47 pm
I have purchased this extension. It is wonderful extension and wonderful support.
michele benvenuti
July 14, 2011 at 5:03 pm
HI,
I’d need that each warehouse has its own admin.
…something like a mall, in which each shop has its owner responsable for everything.
is it possible to do that using this extencion?
InnoExts
July 14, 2011 at 5:17 pm
It is impossible to hide warehouses from each other. You can create administrator roles with some functions. But you can’t assign warehouse to role. The warehouses are shared.
Robert
July 18, 2011 at 3:10 am
Is it possible though, that in a future version a role can be assigned to a warehouse (rather than the other way round) so that when a role logs in they can only see orders, shipments, invoices, credit memos, items related/filtered to there warehouse?
InnoExts
July 18, 2011 at 12:15 pm
Yes, but it is not scheduled yet
Robert
February 3, 2012 at 12:02 am
Just wondering if this feature is on your horizon? This is crutial for my project and it will allow your module to be used for drop-shipping type fuctionality.
InnoExts
February 3, 2012 at 10:43 am
not planned for now
Ruthe Weishar
July 18, 2011 at 10:10 am
I needed to post you one little bit of remark just to say thanks a lot the moment again with your breathtaking tricks you have contributed in this article. This is certainly shockingly open-handed with people like you to supply publicly exactly what a few individuals could have distributed for an e-book to earn some profit for their own end, most importantly considering that you might have tried it in case you desired. These strategies also worked as a great way to realize that other individuals have similar dream just like my personal own to know the truth lots more concerning this issue. I’m certain there are a lot more pleasant sessions in the future for those who see your blog.
InnoExts
July 21, 2011 at 11:37 pm
The Multi-Warehouse extension has been updated (v1.0.2).
Changes log:
– Shelf Information tab added for products;
– Import / Export Products changed;
– The “warehouse” variable should be passed along with “store” to export / import desired warehouse inventory;
– Small fixes and changes;
Wayne
July 30, 2011 at 6:25 am
I just purchased and installed the Multi-Warehouse extension and it is working great.
I need to modify the logic that selects which warehouse to use for an order. Basically I need to set the warehouse based on the Web site an order was placed on. I tried modifying Innoexts_Warehouse_Model_Warehouse::loadByAddress() (after reading one of the comments above), but this did not change anything. If someone could point me in the right direction it would be much appreciated.
InnoExts
July 30, 2011 at 12:34 pm
First of all you should set single warehouse mode. Goto System -> Configuration -> Warehouses -> Allow Shipping from Multiple Warehouse. Set it to “No”. Then try to load warehouse by static ID. It must work.
{
return $this->load(2);
}
for example.
Wayne
July 31, 2011 at 6:02 am
Thanks, I used the following code which worked great:
return $this->loadByCode($warehouse, “willow_park”);
For a different store in the same installation of Magento, I need to choose the warehouse based on a set order. Stock should be taken from warehouse 1 first, if no stock is available in warehouse 1, then stock should be taken from warehouse 2. If no stock in warehouse 2, then product can’t be ordered. To accomplish this, I was hoping I could add some code to the loadByAddress() function to check the stock of warehouse 1, and select it if stock is available, if not, select warehouse 2. I can’t find a function to check the stock for a given warehouse. Do you know the function I could use for this?
Thanks
InnoExts
August 1, 2011 at 10:56 am
loadByAddress method is not appropriate for this case. Open Innoexts_Warehouse_Model_Observer_Cataloginventory::checkQuoteItemQty. You should find the next portion of code within it.
if (!$quote->isItemsProductsIdsEqual($this->_lastQuoteItemsProductsIds)) {
if (!$helper->isWarehouseSelectorEnabled()) $quote->setCheapestStocksItems();
$this->_lastQuoteItemsProductsIds = $quote->getAllItemsProductsIds();
}
} else {
if (!$quote->isItemsProductsIdsEqual($this->_lastQuoteItemsProductsIds)) {
$this->_lastQuoteItemsProductsIds = $quote->getAllItemsProductsIds();
}
}
It assigns warehouses for cart items if single warehouse mode is disabled (your case). Replace $quote->setCheapestStocksItems(); with $quote->setStocksItemsOnMyOwn() (We will move this part into separated function and event in next version). Then you can define setStocksItemsOnMyOwn function for quote. Open Innoexts_Warehouse_Model_Sales_Quote::setCheapestStocksItems and lookup functions you need to build setStocksItemsOnMyOwn. You can get all available stock items there and assign on your own.
Calvin
August 5, 2011 at 12:13 pm
Is it possible to let the CUSTOMER select a warehouse when they place an order?
InnoExts
August 5, 2011 at 3:18 pm
This feature has been added recently.
Adrian
August 8, 2011 at 9:01 pm
Hello,
I am trying to set up my Magento instance so that each warehouse is associated with a single Store. When searching for products, I would like to only return items which are available for that store. For example, if I have a Canada store (with a Canada warehouse) and a USA store (with a USA warehouse), if I’m in the US store I would like a search to ONLY return items in the USA store. One thing it looks like I will need to do is change the function Innoexts_Warehouse_Helper_Data.getDefaultWarehouseId() so that it doesn’t return an actual default id, and instead just associates the warehouse Id for that store. I think I might need to override the functions that call Mage_CatalogInventory_Model_Stock::DEFAULT_STOCK_ID to instead return the stock id for the warehouse associated with the store.
At the moment, when I set “Allow Shipping from Multiple Warehouses” to No, and then go to a category, it still returns all the items in that category (as opposed to just items for a single warehouse), but it says that the items for the non-default warehouse are out of stock.
So, is it possible to set things up so my search results would only return items in the specified warehouse? I know I’d have to overwrite a function to select the warehouse based on the store id, which is fine. I’m just not sure how to get the other parts working
InnoExts
August 9, 2011 at 4:54 pm
First of all you need to set “Allow Shipping from Multiple Warehouses” to “No”. Then overwrite the function
that assigns a warehouse for a customer. Open Innoexts_Warehouse_Model_Customer_Session::getWarehouse.
This function returns the warehouse for the customer.
Change it according to your needs. For example
{
$helper = $this->getHelper();
if (is_null($this->_warehouse)) {
$warehouse = Mage::getModel('warehouse/warehouse');
$store = Mage::app()->getStore();
if (!$store->isAdmin()) {
$warehouseCode = null;
switch ($store->getCode()) {
case 'mystore1': $warehouseCode = 'warehouse1'; break;
case 'mystore2': $warehouseCode = 'warehouse2'; break;
default: $warehouseCode = 'warehouse1'; break;
}
$warehouse->loadByCode($warehouseCode);
if ($warehouse->getId()) $this->_warehouse = $warehouse;
}
if (is_null($this->_warehouse)) {
$warehouseId = $this->getWarehouseIdByStockId($this->getDefaultStockId());
if ($warehouseId) {
$warehouse->load($warehouseId);
if ($warehouse->getId()) $this->_warehouse = $warehouse;
}
}
}
return $this->_warehouse;
}
The best way is overwrite Innoexts_Warehouse_Model_Customer_Session with rewriting system. The separated event will be added for this function shortly.
Adrian
August 9, 2011 at 9:46 pm
That works perfectly, thanks for the help. One last question: with the code above, it still returns the products that are in other warehouses, but just says “out of stock” for each of them. What needs to be done to keep them from showing up at all? Ideally the “Display Out of Stock Products” toggle in the Admin Console (System –> configuration –> Inventory) would only control whether out of stock products for the current warehouse were shown, although currently all out of stock products are shown as long as they exist in any warehouse, which is definitely not desired.
InnoExts
August 11, 2011 at 12:21 pm
This issue is actual for a single warehouse mode. The ideal solution will be products price indexes modification in order to store prices per warehouse. First of all it will solve the problem and custom prices per warehouses can be added. This issue will be handled in the nearest version. For now you can fix it in a quick way. Append products collection before load handler (Innoexts_Warehouse_Model_Observer_Cataloginventory::beforeCatalogProductCollectionLoad for example) and call
Innoexts_Warehouse_Model_Cataloginventory_Stock_Status::addIsInStockFilterToCollection for frontend inside it.
Adrian
August 12, 2011 at 9:07 pm
Ok, great. What’s the target date for the new release with this fix in it?
InnoExts
August 14, 2011 at 1:10 pm
The new version will be started after 4-5 days. So it should be ready in 7-8d.
InnoExts
August 29, 2011 at 9:17 pm
The Multi-Warehouse extension new version is in a testing phase (v1.0.3). The release is coming on Aug, 30.
– The new version allows to change predefined shipping address while browsing products.
It allows to filter “out of stock” and unavailable products for a single warehouse in a correct way.
Besides, the “estimate shipping and tax” function does it against the correct warehouse in a single warehouse mode.
– The prices indexing system has been changed to store indexes by each warehouse individually.
It makes easier to implement custom prices per warehouses;
– Additional events and descriptions to make overwritting process easier;
– Numerous small changes and improvements;
– Documents changes;
InnoExts
August 30, 2011 at 9:15 pm
The Multi-Warehouse v1.0.3 has been released.
InnoExts
September 3, 2011 at 9:43 pm
The Multi-Warehouse v1.0.4 has been released. Product availability calculation has been improved and optimized. The system attempts to deliver products without backorders if it is possible from now.
Celso
September 6, 2011 at 1:43 am
Hi,
I have two warehouses, one in China from where I ship world wide and one in Australia from where I only ship to Australian customers.
I need to know if this extension will allow my customers to filter the items by Location only on the front end.
I want to have a banner on the Home page where customers can click to see the items of each particular warehouse.
The whole website will show items of all warehouses and the items on cart from two different warehouses cannot mix to avoid shipping cost calculation issues. each item will display an icon to identify which warehouse they are located in.
Once you guys clarify how or if it can be done I will proceed to buy the extension.
Thank you for your attention
InnoExts
September 6, 2011 at 2:37 am
Hi,
Once “Allow Shipping from Multiple Warehouse” option is set to “No” the system assigns a customer to the single warehouse by location. Customer is able to change his / here location with the “Shipping Address” box below the currency selector. The warehouses switching can be done in another desired way easily defining custom box / widget.
“each item will display an icon to identify which warehouse they are located in.”
This feature will require some frontend templates to be changed a bit. The customer session stores current warehouse identifier to do it.
InnoExts
September 7, 2011 at 11:05 pm
The Multi-Warehouse v1.0.5 release is coming in a few hours. The main addition is a custom product price for each warehouse. So, the product price can vary depending on a warehouse. Please note, this feature is available if “Allow shipping from multiple warehouse” configuration option is set to “No”.
The “Currencies GeoFilter” for old versions is coming soon.
InnoExts
September 8, 2011 at 6:00 pm
The Multi-Warehouse v1.0.5 has been released.
InnoExts
September 11, 2011 at 1:33 pm
Our website has been moved to the new server. You can request a dedicated installation for the Multi-Warehouse extension on our server since now. It will allow you to test Multi-Warehouse in-depth if you find it useful.
g.donat@orientis.fr
September 28, 2011 at 11:13 am
Hi,
Does your module include a modification of Magento API for updating specific stock ID ?
Looking forward to try the new version !
Bests,
InnoExts
September 28, 2011 at 12:01 pm
Unlike Dataflow the stock id is equal to 1. Its added to tasks list. The new version is in process and coming available Wed-Thu. We have lots of features refined with 1.0.6 support.
InnoExts
September 29, 2011 at 1:27 pm
- Multi-Warehouse v 1.0.6 is coming in a few hours. The code has been refined. Magento 1.6 support is added.
g.donat@orientis.fr
September 29, 2011 at 2:16 pm
Nice ! Waiting for it !
g.donat@orientis.fr
September 29, 2011 at 2:18 pm
Can you tell us, how can we download the new version (as soon as it will be realease) for those who already bought the previous version (last week) ?
InnoExts
September 29, 2011 at 2:21 pm
You will be notified by PayPro system. You will get download link additionally as well.
InnoExts
September 30, 2011 at 9:33 am
The final testing with Magento v1.6 in process for Multi-Warehouse v1.0.6 extension.
InnoExts
September 30, 2011 at 2:24 pm
The Multi-Warehouse v1.0.6 has been released.
The code has been refined. Small changes added. Magento 1.6 support added.
g.donat@orientis.fr
September 30, 2011 at 2:31 pm
Hi !
Good news !
I did’nt receive the PayPro system notification. Could you send me a link ?
InnoExts
September 30, 2011 at 2:33 pm
sent
g.donat@orientis.fr
September 30, 2011 at 2:38 pm
Received. Thanks !
Marc
October 12, 2011 at 12:51 pm
Hello, my name is Marc and I am a web designer. I have a project and I think that this extension could serve. I have some questions to see if I can help:
It is a company that distributes tires to car workshops. That is one product but many brands and each brand several attributes (dimensions and specifications).
The company has several stores in his store but all stores have the same products.
Each client is assigned to a particular store and it can have different prices to the other, either by product or customer.
So when a client connects should be able to see the same product and both stores stock when ordering if you mix products from several stores that send the request to both.
Is this possible with this extension?
Thanks!
InnoExts
October 12, 2011 at 5:23 pm
Hi,
There are 2 modes available in this extension. The first mode is a single warehouse one. The customer will be assigned to the single warehouse according to the area. You can set the product price varying by the warehouse (each warehouse has a discount per product, single warehouse mode only) and a customer group (standard tier pricing feature in Magento). The second warehouse mode allows to mix products from several warehouses in the same cart (but doesn’t allow discounts per warehouse). We have a new version 1.1 coming with more delivery methods, algorithms and options. The demo will be available for testing in 1-2d. You can get more info about the current version by next URL: http://innoexts.com/multi-warehouse/. You can request dedicated demo installation in order to test extension in-depth.
Regards,
InnoExts
InnoExts
October 14, 2011 at 10:04 am
The new Multi-Warehouse v1.1.0 early beta is ready and will be shared for demo from Monday. It includes solid number of new features requested by our customers. You will find detailed information in our new documentation.
Mark
October 17, 2011 at 1:39 pm
I notice you have said that “The main addition is a custom product price for each warehouse. So, the product price can vary depending on a warehouse. Please note, this feature is available if “Allow shipping from multiple warehouse” configuration option is set to “No”.”
I want to have different pricing dependant on stock location, aswell as being able to ship from multiple warehouses, Can your software manage this for me? Basically I have in stock local stock priced at X, and my suppliers warehouse can drop ship to customer, at a lower price to my in stock price, but it will take a week longer to reach the customer. What I would like to see on the front end is “priced from” so the lowest price would display, an then upon clicking on an item, they would have a few options of prices and locations, aswell as secondhand and new if a secondhand version s available
InnoExts
October 17, 2011 at 2:48 pm
The warehouse discounts feature is available for the single warehouse mode in the current version. The single mode means that the customer cart includes products from a single Warehouse A(or B, etc) only.The new version early beta comes available for testing today. This version includes discounts for a multiple mode. This means that the customer should see a price range but actual price will be set per assigned warehouse in a cart. We are going to get production version with docs ready within this week. This version includes lots of changes and additions.
InnoExts
October 19, 2011 at 2:57 am
v1.1.0 beta-1 shared. You can find credentials in Try Demo section. The new version is under intensive development still. We are updating it instantly. Some essential updates are coming in order to get all delivery methods functional (not shipping).
InnoExts
October 23, 2011 at 9:28 am
The Multi-Warehouse v1.1.0 beta-2 is available for demo. RC & docs are coming in 2d.
InnoExts
October 26, 2011 at 8:28 am
The first Multi-Warehouse v1.1.0 articles portion has been published.
InnoExts
October 27, 2011 at 11:05 pm
The Multi-Warehouse v1.1.0 documentation has been updated.
YQ
November 2, 2011 at 1:38 am
Does it support latest Magento Enterprise Edition (ver 1.11.0.2)?
InnoExts
November 2, 2011 at 2:44 pm
No it does not. Enterprise is not listed in supported versions. It will require some minor additions like Gift Card product type specific changes.
InnoExts
November 7, 2011 at 4:15 am
The Multi-Warehouse v1.1.0 rc-1 is available for demo.
InnoExts
November 8, 2011 at 7:55 pm
The Multi-Warehouse v1.1.0 rc-2 is available for demo. The last testing & fixing issues list is in process. Magento 1.6.1 is supported from now.
InnoExts
November 11, 2011 at 8:18 am
The Multi-Warehouse v1.1.0 is ready. You can find information about v1.1.0 demo on Multi-Warehouse product page. The new version comes available for download in a few hours.
InnoExts
November 11, 2011 at 6:29 pm
The Multi-Warehouse v1.1.0 has been released.
George
November 22, 2011 at 1:22 pm
Hello,
Firstly, here’s my config:
I’ve got my install set to multi and priority.
I’m using configurable products with color and size attributes.
I have the configurable product set to in-stock.
I have color Maple, size 11 set to in-stock on my 3 locations with 0 stock at the 3 locations.
The problem is that Maple size 11 shows up on the product page as a selection. If I set maple size 11 to out-of-stock, then it disappears. Am I missing something here?
I’m on Magento Community 1.6.0. Here’s my product page JSON with stock set to 0 and in-stock:
var spConfig = new Product.Config({“attributes”:{“83″:{“id”:”83″,”code”:”color”,”label”:”Color”,”options”:[{"id":"8","label":"Black","price":"0","oldPrice":"0","products":["40","102","103","108","109","110"]},{“id”:”36″,”label”:”Cognac”,”price”:”0″,”oldPrice”:”0″,”products”:["41","104","106","111","112","113"]},{“id”:”52″,”label”:”Maple”,”price”:”0″,”oldPrice”:”0″,”products”:["39","105","107","114","115"]}]},”130″:{“id”:”130″,”code”:”size_shoe”,”label”:”Size”,”options”:[{"id":"33","label":"6","price":"0","oldPrice":"0","products":["102","104","105"]},{“id”:”31″,”label”:”7″,”price”:”0″,”oldPrice”:”0″,”products”:["103","106","107"]},{“id”:”29″,”label”:”8″,”price”:”0″,”oldPrice”:”0″,”products”:["41","108","114"]},{“id”:”27″,”label”:”9″,”price”:”0″,”oldPrice”:”0″,”products”:["40","111","115"]},{“id”:”25″,”label”:”10″,”price”:”0″,”oldPrice”:”0″,”products”:["39","109","112"]},{“id”:”23″,”label”:”11″,”price”:”0″,”oldPrice”:”0″,”products”:["110","113"]}]}},”template”:”$#{price}”,”basePrice”:”100″,”oldPrice”:”100″,”productId”:”38″,”chooseText”:”Choose an Option…”,”taxConfig”:{“includeTax”:false,”showIncludeTax”:false,”showBothPrices”:false,”defaultTax”:0,”currentTax”:0,”inclTaxTitle”:”Incl. Tax”}});
var dynamicStatus = ’0′,
selecttitle = ”;
Thanks for any help, enjoying this extension besides this issue!
InnoExts
November 22, 2011 at 7:39 pm
The system will not allow to add 0 stock selection. However, we will work on it ASAP to get new update.
George
November 22, 2011 at 7:46 pm
So I can’t have it go out of stock when it gets bought out? I would think that would be the first feature added?
InnoExts
November 22, 2011 at 7:52 pm
It will go out of stock and can’t be ordered. But configurable product selection is present if out-of-stock is not set. It will be improved in coming update.
George
November 22, 2011 at 7:59 pm
Oh I see, can you point me in the right direction on a fix for this? I’ve got to get it working, I’ll have to code it myself but I haven’t looked at how that JSON array is generated or anything.
Thanks!
InnoExts
November 22, 2011 at 8:02 pm
It is needed to correct options JSON generator. We will improve it in 1-2d in new update.
George
November 22, 2011 at 8:05 pm
Oh alright great! Thanks. Can you let me know if it’s going to be more than 2 days? I’ve got to get it going asap.
InnoExts
November 24, 2011 at 8:05 am
The new version 1.1.0.1 is coming in a few hours. It includes some improvements.
Jay Hofstatter
November 24, 2011 at 5:44 am
Greetings,
I’m trying to find out if MultiWarehouse is compatible with Magento version 1.4.2
Thanks
Jay
InnoExts
November 24, 2011 at 8:06 am
No. The supported versions are 1.5.0.1, 1.5.1, 1.6.0, 1.6.1
InnoExts
November 24, 2011 at 5:09 pm
Multi-Warehouse has been updated. v1.1.0.1 is released.
InnoExts
November 29, 2011 at 8:54 am
Multi-Warehouse has been updated. v1.1.0.2 is published. Shipping table rate calculation fix added.
InnoExts
November 29, 2011 at 9:04 am
Our website redesign has been started. The new version is targeted to the customer service improvement. We will provide additional services to cover all customers needs depending on a skills level and a budget.
Claudiu Marginean
December 22, 2011 at 4:51 pm
Hi,
We are developing a site for a customer that wants to have for one website 2 warehouses and of an other website one warehouse.
Magento will be set up to work in 2 domains domain.ro and doman.at.
What will be the prize for this configuration?
Thank you,
Claudiu Marginean
InnoExts
December 22, 2011 at 6:15 pm
The license is per installation. You can use multiple domains per 1 installation.
Marco Dalla Libera
January 3, 2012 at 3:54 pm
hi!
Does it work with Enterprise 1.11 version?
Thank you!
InnoExts
January 3, 2012 at 4:44 pm
Community Edition is only supported. EE will need some additions for sure.
Hamid
January 3, 2012 at 4:13 pm
Hi
Can you confirm this works fine with M2E eBay without breaking it? I have read of other similar packages causing issues and am wanting to buy this but want to make sure it is compatable with M2E.
I am using Magento CE 1.6.1
InnoExts
January 3, 2012 at 4:48 pm
We have described this problem on our Support Services page. We can’t fix conflicts on our end only. We can make everything possible on our end to decrease a conflict probability. However, conflicts are always possible due to architecture of Magento extensions itself.
gerry
February 8, 2012 at 6:32 pm
Hi,
If a product is available in 2 or more warehouses can I chose which one to allocate the order to?
Thanks
InnoExts
February 9, 2012 at 3:27 pm
You can change a warehouse on the administrator side independantly on the delivery method. Or, you can let a customer to choose a desired warehouse in his / here cart by choosing Manual delivery method. Read more about it here.
Andrew
April 16, 2012 at 2:24 pm
Hello.
Can you please suggest what could be the reason for such error:
Fatal error: Call to undefined function mb_internal_encoding() in /home/vupromo/public_html/app/code/local/Innoexts/GeoIp/Helper/Geoip/geoipcity.inc on line 135
Is server missing some kind of plugin or extension?
Kind regards,
Andrew
InnoExts
April 16, 2012 at 7:17 pm
mbstring extension is needed. http://php.net/manual/en/mbstring.installation.php
Trevor Page
April 18, 2012 at 7:53 pm
We’ve purchased the extension and while it does what we want, we cannot get the quoted shipping rate to add itself to the total during checkout.
Also, when getting to the shipping section no shipping rates are being displayed.
Is there something we missed during setup? We’ve tried setting it to single warehouse and multi but it’s not working. Do we need to add some code to our custom template to make it work?
Thanks
InnoExts
April 18, 2012 at 8:09 pm
You need to change some of your theme templates to get the checkout functional on your website. Also there are some sales templates that need to be changed if you need to show the warehouses information to customers. Make sure you don’t have conflicts with other 3rd party extensions as well. We can perform the full integration on your server in case if you have Standart or Advanced support package. The Support package can be upgraded separately if you have bought an extension with the Basic support already. You can find more information about support options here and on Multi-Warehouse page.