cancel
Showing results for 
Search instead for 
Did you mean: 

Multinode Inventory

Multinode Inventory

Feature request from tanya-soroka, posted on GitHub Jan 17, 2014

Multi-node inventory

Multi-node inventory functionality will introduce support for multiple warehouses, management of product stock per website and warehouse, order processing through drop shippers and vendors. It will allow set up of multiple shipping origins, flexible shipping configurations, and automatic vendor notifications.

Functional Requirements

  • Ability to enable/disable shipping from multiple addresses (either you’re your business address or from 3rd party warehouses and suppliers)
  • Ability to specify the addresses of these warehouses/suppliers
  • Ability to assign products to different warehouses/suppliers
  • Ability to manage stocks in different warehouses
  • Ability to specify preferences for picking up products from warehouses
  • Ability to automatically define nearest warehouse to customer's destination
  • Ability to notify warehouse/supplier upon order and/or invoice creation
  • Ability to create/update email templates to be sent to warehouses/suppliers
  • Ability to see products assigned to selected warehouse
  • Ability to see shipments from selected warehouse

Inventory per Website

Provides ability to:

  • Set up a QTY attributes per website
  • Specify different inventory levels for each website
  • Track inventory level for each website
  • Track low stock for each website
  • Get a total QTY of the product

This feature entails the following changes:

  • General settings of inventory Scope should be available under Configuration > Catalog > Inventory Section
  • Additional rows on Product QTY of Product Grid (for products which are using inventory option)
  • Updates of Low Stock report

Warehouse Settings

It should be possible to enable and set up Multi-node inventory functionality. As a merchant, I want to have the following options:

  • Enable/Disable service
  • Show warehouse information on product page, shopping cart, checkout process, order/invoice/shipment/refund
  • Select any enabled Shipping service/method per warehouse

Manage Warehouses

The Manage Warehouses tab should appear under System > Store set upon a primary menu. It should contain the following action:

  • Create / Edit / Delete a new Warehouse.
  • Filter and search data of Warehouse list.
  • Provide general information about a warehouse: title and address.
  • Mass action, such as delete and update.

Admin user should have ability to specify the following warehouse data:

  • Warehouse contact information and Address
  • List of assigned Products
  • Shipping methods data
  • Sales data (Shipment, Orders, etc.)

Managing Inventory per Product

Alternatively, admin user should be able to specify warehouse/supplier data on the Product Information page and manage inventory per each warehouse individually.

The QTY field of the Inventory section (i.e. general quantity of a product) should display the sum of the numbers entered to the QTY fields per warehouses. It be set for read-only purposes.

Shipping / Delivery Configuration

Store owner should be able to select a shipping method from existing list of vendors (USPS, USP, DHL, FedEx, etc.). Additionally, one can set up a custom shipping method (Drop-shipping) per warehouse. Configuration settings, delivery fee, and delivery time are required on global/warehouse level.

Admin user should have ability to specify ship/delivery option for products from warehouse(s):

  • Shipping from a nearest warehouse (closest to customer's area) ** When a product that is assigned to multiple warehouses is added to the cart, the nearest warehouse is selected for delivery. Otherwise, product should be delivered from next nearest warehouse where it is available
  • Shipping from a warehouses with the highest priority ** When a product that is assigned to multiple warehouses is added to the cart, the warehouse with highest priority is selected for delivery. Other warehouses are selected according to the specified priority.

Checkout

Once multi-inventory functionality is enabled, the following delivery scenario should apply:

  • When ordered product is assigned to a warehouse, the address of a warehouse is considered as a pick-up address for the shipping service provider. Shipping rate to be calculated accordingly.
  • When ordered product is not assigned to a warehouse, the store address is considered as a pick-up address for the shipping service provider. The shipping rate is to be calculated accordingly.
  • When ordered products are assigned to multiple warehouses, multiple orders are created. Address of appropriate warehouse is considered as pick-up address for shipping service provider to each of the orders. The shipping rate is to be calculated accordingly for each created order.

Returning Items Assigned to Different Warehouses

Store address to be the return address for products. If Automatically Return Credit Memo Item to Stock feature is enabled, the returned items should affect the general quantity of the product and appropriate Warehouse should be considered as place of their storage.

Displaying the Warehouse/Supplier Information on the Order Review Page in Backend

Order View page should display warehouse/supplier information for every ordered product. The same data should be also displayed on the Invoice, Credit Memo and Shipment pages. Products should be displayed on separate rows in case these products will be delivered from multiple warehouses.

Notifying Warehouse/Supplier Upon Creation of an Order in Backend

Admin user should be able to manage their notifications. Notifications can be configured to be sent per warehouse when an order/invoice/refund is created.

Creating Email Template for a Warehouse/Supplier

By default, email to a warehouse/supplier should contain all product details (i.e. product name, product parameters, quantity of each item, tracking information, and shipping method details). However, admin user should be able to create their own templates. There it should be ability possible to specify email template that will be used for sending a notification (per warehouse or globally).

Tax Calculation

Depending on tax configuration and local tax laws, tax may be collected for products shipped from a warehouse location and should be included when an order is placed.

Reports

Warehouse data should be updated with reports about Sales and Products, like Orders, Shipment, Low Stock and etc.

33 Comments
Not applicable
Status changed to: Investigating
 
Not applicable

Comment from tegansnyder, posted on GitHub Jan 25, 2014

@Tanya-soroka Including this in Magento 2 will solve a very large problem for my implementations. Inventory level management on a website level is crucial feature. I support this effort.

Not applicable

Comment from jamiemck, posted on GitHub Feb 01, 2014

I too, feel this is one core feature that Magento 2 should have baked in.

Not applicable

Comment from Narno, posted on GitHub Feb 06, 2014

:+1:

Not applicable

Comment from tzyganu, posted on GitHub Feb 06, 2014

:+1: x :100:

Not applicable

Comment from tegansnyder, posted on GitHub Feb 18, 2014

I'm curious for those of you who have liked this issue have any of you worked around this issue in your implementations?

Allowing QTY field to be scoped to website level would be a great addition.

Not applicable

Comment from tegansnyder, posted on GitHub Feb 18, 2014

Seeing some progress in this @271615abecbe64b4fea4141f8dbf3513ef139250 "Introduced a consistent approach for using the Config scope"

Not applicable

Comment from jonpday, posted on GitHub Feb 18, 2014

:+1: x :100: from Aligent too :smile:

@tegansnyder we have used the InnoExts MultiWarehouse extension with pretty good success. AFAIK, it is the only available option.

Not applicable

Comment from IvanChepurnyi, posted on GitHub Feb 19, 2014

In my personal opinion using of websites as scope for stock is not a good option. Website is not a separate stock in most of the cases, hovewer there could different stocks based on customer group within a website. The best option is to create separate scope entity for such thing, that will be dynamically mapped to a customer, website, country, region, depending on the rules specified in it. The same should be done for prices. Hope core team will listen to my suggestions.

Not applicable

Comment from JoseHawkins, posted on GitHub Feb 19, 2014

What about ability to track stock per custom option item?