The “Multi-Warehouse” extension solves one of the main eCommerce platforms problem is how to handle multiple ship from warehouses. The idea is that a store has either multiple warehouses (locations in particular), or they have more than one supplier that drops ships to customers. The Magento makes it possible to ship from a single location within a website and to manage global one-location inventory. On our side, “Multi-Warehouse” extends Magento in order to cover multi-warehouse sellers and resellers needs.
Read about installation instructions here
In menu: Configuration -> Catalog -> Warehouses
Allow Shipping from Multiple Warehouse
This option regulates the customers handling algorithm. If option is enabled then the system checks available products within all warehouses and groups packages by warehouses in the best way according to the shipping price. The disabled option assigns customers to the single warehouse by the customer location. So, if the store needs to sell products from multiple suppliers or its own warehouses, your choice is option enabled. If you need to direct customers to the local warehouse, then the option must be disabled.
Allow Warehouses Manual Selection
If option enabled then the customer can choose warehouses for cart items on their own manually instead of the cheapest shipping calculation. “Allow Shipping from Multiple Warehouse” option must be enabled as well in order to get this function active.
Hide Warehouses information
This option is reserved for future needs.
4. Manage Warehouses
In menu: Catalog -> Manage Warehouses
The warehouses editor. There is a single warehouse named “Default” initially. It is impossible to remove default warehouse but it may be renamed. Let’s create 4 warehouses with the next titles: “New York” (we just need to rename “Default”), “California”, “Florida”, “Minnesota”. Start with “California”. Click the “Add New Warehouse” button and you will get 3 warehouse tabs: “General”, “Contact”, “Origin”. The “General” tab includes 2 inputs to enter warehouse “Code” and “Title”. The “Contact” tab allows to set a warehouse person notification in a case if the new order has been created with a warehouse product in it. Tick the “Notify?” checkbox in order to activate the function and enter contact “Name” and “Email” fields. The “Origin” tab allows to enter the warehouse physical location in the system. Once location is present the default website shipping origin will be replaced with the warehouse origin for the correct shipping cost calculation in order to not to overcharge customers. Press the “Save Warehouse” button and repeat steps above for “New York” (click edit “Default” instead of adding new one), “Florida”, “Minnesota”.
Click the warehouse (or “Edit” link to change the warehouse information). Some more additional tabs are active for warehouse editing like “Areas”, “Products” and sales tabs: “Orders”, “Invoices”, “Shipments”, “Credit Memos”. The “Products” tab lists all the available warehouse products (goto Manage Products to add some). The “Areas” tab gives an ability to set warehouse regions up. This means if “Allow Shipping from Multiple Warehouse” option is disabled then the customer will be assigned to the warehouse according to the warehouse areas entered. The sales tabs are equal to the “Sales” administrator sub-menu items but all the records are filtered by the current warehouse.
5. Manage Products
In menu: Catalog -> Manage Products
We have to track the quantity by each warehouse since the inventory is split into warehouses. The extension replaces the “Qty” column to display total and warehouses product quantities.
The “Inventory” tab is replaced with the multiple version where you can track and manage the inventory for each warehouse.
6. Low Stock Report
In menu: Reports -> Products -> Low Stock
Any product with the quantity below the low bound for at least one warehouse is present on the page (“Notify Qty Below” inventory field dependent).
In menu: Sales
Orders, Invoices, Shipments, Credit Memos
The “Warehouses” column is added to orders (the same for invoices, shipments and credit memos) and gives an ability to filter records by warehouses. The warehouses information is present for view and edit pages separately. The information includes the “Warehouses” field in the common order information block and the warehouse name for each order line.
8. Table Rates Shipping Method
In menu: System -> Configuration -> Sales -> Shipping Methods -> Table Rates
The “Table Rates” is one of the most commonly used shipping methods. There you can define shipping costs depending on the shipping destination, condition name and condition value. But it does not work with multiple warehouses. We may need to define different shipment prices depending on the warehouse but not on the shipping destination only. The shipping source is important in our case. It is possible to set the warehouse ID for each rule from now. Let’s do it. Change your configuration scope to any website. You will see “Export CSV” button. Press it and save the CSV file. The CSV file includes an additional column named “Warehouse ID”. You may enter any warehouse ID for each rule or “*” to enable it for all warehouses.
Read more about the table rate shipping here.
9. Shipping Table Rates
In menu: Sales -> Shipping -> Shipping Table Rates
The shipping table rates manager lists records by website selector options.
Add / Edit Rate
10. Import / Export
The Import / Export function fetches and updates an information for the default warehouse (stock ID = 1) now. It is possible to overwrite it in a desirable way with custom adapters and parsers to pass an appropriate warehouse ID and merge the information with a data provider. The problem is that each supplier / warehouse may share inventory and require orders reports in its own format. It is impossible to cover all cases in their variety. The only thing we can do is to make this process much more easier as it is one of the main problem that is actual for store owners. The “Advanced Dataflow” extension solves this problem out. This extension is coming as an “Milti-Warehouse” add-on shortly.
11. Add to Cart, Checkout
The “Add to Cart”, “Checkout” processes and product availability in particular depend on “Allow Shipping from Multiple Warehouses” option (see Configuration). Let’s walk step by step by each case.
Allow Shipping from Multiple Warehouse is disabled
The system assigns a customer to a single warehouse and checks product availability in the single warehouse only. The way how the system assigns the warehouse to the customer depends on the warehouses areas setup, but it may be easily overwritten according to your needs. Once the warehouse is assigned to the customer the “Add to Cart” and “Checkout” processes are similar to how it Magento does by default. The only difference is that the administrator is able to check the warehouse information the customer is assigned to. This case is the most appropriate if each warehouse has nearly the same product set and shipping from remote warehouses is complicated / not desirable. Let’s look into the warehouse assignment sub-process. The warehouse must be set by the customer address that matches some warehouse area. The default shipping address or checkout shipping address are used as a customer address if defined. Otherwise we have to check customer IP address and convert it to the approximated location with MaxMind service.
Allow Shipping from Multiple Warehouse is enabled
The system checks the product availability in each warehouse depending on the quantity requested. For example, we have Product A available in “New York” and “Florida” warehouses both. We need to assign the warehouse with the cheapest shipping obviously. But it is impossible before the “Shipping Address” checkout process completion, so we need to pick a random one. Once the shipping address is picked the system re-assigns warehouses for each order line in order to minimize the shipping cost (the system checks each possible combination for the shipping price). So if some Florida customer buys product A this product will be assigned to “Florida” warehouse most likely.