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.