Multilocation Inventory Management

Our plugin is designed to help WooCommerce based eCommerce store that ships products to its customers around the globe from multiple warehouses or a company that sells products from its stores in different locations. The plugin automatically detects the nearest Product Location. It also shows Availability and Pricing of Product based on the location of a product.

Buy Now

Overview

Key Features

  1. Manage Products stock across multiple locations, Warehouses, or Stores.
  2. Visitors can find and choose a Location near them on Product Pages or Globally on the website.
  3. Option to Automatically choose nearest product location based on users address. (Requires Google Map API key )
  4. Displays product Quantity or Availability based on the location.
  5. Supports Muliti Locations for  Simple as well as Variable product type
  6. Option to add Location-wise Price
  7. Ajax adds to cart with Selected Location. Ajax add to cart allows users to include location info of simple products or variable products in the cart without page reload. It also works on shop pages to speed up the buying process.
  8. Rules based Order Fulfillment Flow.
    Fulfillment from Most / Lowest inventory in stock
    Fulfillment from Closest location to shipping address
    Fulfillment as per Location Priority
  9. Product Central. Easy way to Bulk edit and Manage Products from all locations on one screen.
  10. Store Locator on Google Maps, Allows your users to find stores nearby or close to their location using map. Filter Stores on map by products or radius.
  11. Backend only mode. Allows admins to assign fulfillment locations to order from backend, customer won’t have to choose locations while ordering.
  12. Set Locations as Local Pickup Locations for the customer to display or choose a pickup location at checkout.
  13. Location Shop Page. Separate page which lists product available at particular Location.
  14. Lists only Selected Locations products. WooCommerce shop page shows only filtered products from globally selected Locations. Hide Locations from our website’s frontend pages using this option
  15. SubLocation for more granular level inventory control. Sublocations can be rack, bin number, shelf number, sub-area of a warehouse, floor, building etc.
  16. Location Groups to club your various locations into one group. It can represent City, Region, District, State or Country etc. It’s very useful to aggregate inventory availability across multiple locations.
  17. Option to assign Shop Managers  to locations
  18. Notify Location Managers or Employees. Admin Order notification emails are also sent to the Locations email ID and WooCommerce locations Managers.
  19. Assign Specific Payment Methods to locations
  20. Automatically detect user’s geolocation from browser and allocate Woocommerce Location based on geolocation.
  21. When visitors revisit the website, the site will show the same location visitor had chosen on their previous visit.
  22. Adds each location’s Inventory to your default Woocommerce inventory
  23. Plugin Increase Conversion by Suggesting another nearest location availability of product when its out of stock at selected location
  24. Visitors can see the selected warehouse/locations on the checkout and cart page.
  25. Restrict customers to specific locations from WordPress Backend
  26. REST API to get and update product stock for locations
  27. Show Distance to Selected WooCommerce Location in Kilometer or Miles
  28. Add Unlimited Warehouse or Stock Locations for WooCommerce easily without any extra cost.

WooCommerce Multi Locations Inventory Management Plugin provides an option to manage Product Stock from Multiple Locations for your WooCommerce Store. Our plugin is designed to help a WooCommerce based eCommerce store that ships products to its customers around the globe from multiple warehouses or a company that sells products from its stores in different locations. The plugin automatically detects the nearest Product Location. It also shows the Availability and Pricing of Products based on the location of a product.

Requirement

  1. WordPress 5.0 or higher
  2. WooCommerce 5.0 or higher
  3. WordPress Theme

GENERAL SETTING IN DETAIL

2.1.Restrict customer/admin users to specific:- When you enable this option, you can show that the user only assigned location products,s, on the website. (Process: Enable this option, then go to the user then check the location drop-down, then select the location as per your requirement for the user. When the user login to the wordpress, user can see only the allocated location products on the website.)(Refer Below Image)

2.2. Exclude Locations From FrontEnd:- If you want to hide any location from the website you need just select the location name from the drop-down.
(Example:- Suppose I select the California location, then I can not see the California location on the website.)

2.3. Show Next Closest in stock Location:- If location inventory is out of stock we showed the nearest stock location (Please check below image)

2.4. Hide Locations from Dropdown if they are Out Of Stock:- Suppose if stock is not available and we don’t want to show to the customer then enable this setting and after this In location dropdown out of stock location will not display to the customers.

2.5. Limit 1 Location Per Order:- The setting allows the user to maintain a cart from the same location’s products, Other location’s products can not be added to the cart.  Eg. Cart has products from Florida, Users can add the product’s from Florida only.

2.6.Allow to Fulfil Order from Backend:–  When an order is placed from Frontend then the Stock levels are reduced from the selected location from the Frontend.

This feature allows you to go and change the selected location by the user, and assign your location and it will reduce the stock levels.

(Process: You can place the order from the frontend and then edit that order you can change the product location automatically to reduce the stock assigned location.)

(Please check the below image)


2.7. Allow to Work plugin from Backend Only:– Allow to Work plugin from Backend Only
(Note: when this setting is enabled on the front end, the plugin will not work, only work in the backend.)


2.8  Allow local Pickup:- Turning on this switch will allow Local Pickup Settings under locations, and if the Local pickup at checkout is selected of the assigned location, the stock will reduce from that location

In detail :- if enable this process then, we need to create a shipping method like this |local pickup – Ohio(Location name)| The Format of the Shipping method as given above. When a customer selects the Local Pickup Shipping Method the Stock will reduce from the Location when the Pickup Location is enabled. If any other Shipping Method is selected, then it will reduce according to the Flexible  Order Routing Configurations. Herewith given reference images.

Multi Location general setting >> Allow local pickup

Multi Location plugin >> edit manage location >> enable the pickup for location

Woocommerce >> shipping zone >> create shipping method

On cart page local pickup – location name

2.9. Allow to fulfill orders Rules:-

 2.9.1. Location with most inventory in stock:– If this rule is selected, the location with the most stock is automatically chosen.

Example:- If we have two locations (warehouse) and one product, supposed for that product have to location, location A and location B. Location A stock – 20 and location B stock – 10.

  When we try to place the order from the backend for that particular product then we can see in that location dropdown the highest stock location first display then less stock location.

2.9.2. Closest location to Customers shipping address: If this rule is enabled, the location that is closest to the shipping address is automatically selected, even if the order is placed from a different location. This automatically sets the location which is the nearest location from the customer’s shipping address though the order is placed from a different location. When an order is placed from Frontend, the customer enters his billing and shipping address, it will find the Nearest location and deduct the stock from that location.

2.9.3. Location as per priority: If this rule is enabled, locations are displayed in the order of their priority. To assign a priority to a location, navigate to Manage Location.

Example:- We need to go in to manage location edit then there is an option for location priority. enter their number like 1,2,3,4. according to that in the edit order section location drop-down is there in that dropdown gave priority-wise location will display.


2.10. OpenPOS Compatibility:- We have made our plugin compatible with the Open POS Plugin. When you have an Outlet created, you can go to Locations, you can assign an Outlet to that Location. Whenever a POS order is placed from that Outlet that is assigned to the Location, it will reduce the stock inventory from it.
(Please refer to the POS-1, POS-2, POS-3, POS-4 images with the procedure)

Step 1:- Install the POS plugin then enable the setting from our plugin.
Step 2:-  Go to the POS plugin then create an outlet.

Step 3:- Then go to the register option and just register the outlet wise.
Please Refer to the POS-2 image.

Step 3:- Go to the multi inventory plugin and manage the warehouse section, create the warehouse and assign a POS outlet.
Please refer to POS-3 Image

Step 4:- After this go to the product edit section and you can see POS location and as well multi-warehouse location also. You need to enter the stock in both sections. it automatically reduces the stock inventory from it, when the admin did any order-related activity.

SHOP PAGE SETTING IN DETAIL

3.1. Locations name and stock:- 

1. If this function is enabled, you can see stock and location on the store page below that product.
2. If we keep disable we can not see anything below that product.

3.2. Locations Price:- On the shop page, the price is shown according to the user’s selection.
(Process:- You need to enable this setting then assign regular price and sales price to the product then on shop page you can see location-wise price)

3.3. Filter Product :- On the shop page, only products from selected locations are shown.
(Process & Example:- You need to first of all set location from globally then shop page will sort out as per given location, like suppose I have select the location California as a globally than on shop page California related all plugin they will display)

3.4.Location  Filter Widget :– We can add a widget to the shop page, present a location list in a dropdown, and sort products.

SHIPPING AND PAYMENT METHOD  SETTING IN DETAIL

3.1 . Shipping zones to each location:- If the function is enabled you can assign shipping zones to the location. We need to just create a shipping zone particular area wise then we can assign it to our  Location. So the rate will be displayed according to the shipping zone. (Please Refer below Image, this related shipping zone)

3.2 . Shipping Methods to each location:- This feature allows you to show only selected Shipping methods from the Shipping Zone at the cart and checkout page.

Note – Make sure the Selected Shipping Methods are under the Shipping Zone that you have selected for that Location
(Please refer below image)

3.3 . Split package by location:- Split package by locations of multilocation shows the different locations order separately when order is moved to checkout by enabling this split package by location.Split package showing shipping methods for selected location where the products are added to cart.Its helps the admin to check easily from where from which different locations & what shipping methods are added in order.

3.4 . Payment Methods to location:- The setting to apply payment methods for locations. Each location can have various availed payment methods (From woocommerce available payment methods). Users can set payment methods to locations which will be used for placing an order. if ordering products from different locations the mutual payment methods from the selected product’s location will be shown.

Eg. Location California’s location has STRIPE and PAYPAL payment methods.

Florida has a STRIPE Payment method, in this case, Stripe Gateway will be available to place an order

3.5 .Local Pickup  location:-  Turning on this switch will allow Local Pickup Address details on frontend & if Backend Mode is enabled it will show a Dropdwon of Locations if Pickup Location ShippinMethod is selected

BUY THE PLUGIN FROM CODECANYON

1. Purchase the multi inventory plugin from codecanyon (link:https://codecanyon.net/item/woocommerce-multi-locations-a-management/28949586).

2. After purchasing the plugin, download the zip folder of the multi inventory plugin.

3. Save the multi inventory plugin zip folder on your device.

PLUGIN  INSTALLATION IN WORDPRESS

1. Go to WordPress. login your WordPress account.

2. Go to the plugin section click on add new plugin and Upload the plugin.

3. Plugin will be automatically activated so you need to check settings.

LOCATION  SETTING IN DETAIL

Here we will see the plugin setting in detail, what happened when we enable or disable some setting etc, Let’s explore the plugin.

1.1. Enter your API key:- Enter your generated google Maps API key over here. Requires the activation of Places API, Distance Matrix API, Geocoding API, Maps JavaScript API. In the given input inbox. We need the above API enabled and enter the API.
1.2. Allow users to set location:- To display Locations Dropdown on your website – use [wcmlim_locations_switch] shortcode. You can put it anywhere into page content using editor just by copy-paste, You can see it on your website header side. In the setting section, we can see style CSS 1 and style CSS 2, according to our convenience we can change the style.

1.3. .Enable use my location:- One pop-up will come when we click on use my location on our website in the header section If you enable this function.
This will track your current location.

1.4. Nearby location finder: If you are using geolocation functionality via google Maps API key then enable this nearby location finder function.
(Note: You need first google map API key then, it will work)

1.5. Regular and sale price for each location:- When we enable this function, location wise we can set regular price and sales price on the product page (Please Refer to Regular Price and Sales Price Image). 

1.6. Hide location dropdown on the product page:- When this function is enabled you can not see the Location drop-down on the website product page. If this function is disabled you can see the Location drop-down on the website product page. It will look like this image given below.

1.7. Set Location Cookie Time:- this feature extended cookies time as per user requirement. for hold, long time data of locations for better user experience on your store extend cookies time, so the user doesn’t miss the last selected location in the long run.

1.8. Enable default location:- This option will set the default location in product pages in frontend. The default is set under the product edit page by choosing the Default location option.

1.9. Set cron job for product update :- This option will set the cron for every minutes & also we can set for hourly,daily,twice a day. When products are ordered,editing of products & customer details.

1.10. Set service radius for each location :- This option is used when we want to set limit for particular location till where we want to seal. After setting the radius enable the option of set radius.

1.11. Enable location group :- This option is used when we want multiple sub locations under a main location that should be displayed in front end.After enabling this option we have create a group of main location & in that create sub locations.

1.12. Get direction on map for selected location :-Get direction on map for selected location shows the  map direction of  which product is  added to cart after enabling manage group & get direction on map for selected location.This helps the customer to check the availability of products in particular to store & also shows the kilometers from store to customer address.

 

NOTICE MESSAGES

In this tab, we are enabling or writing the notice messages where we want to display the details regarding the different functions.

SHORTCODES & DOCUMENTATION

In shortcodes & documentation, we can add shortcodes that you have purchased while googling the API key. In that, we do have different functionality like location popup, location switch, control settings, other shortcodes details.

MANAGE LOCATION EXPLAINED IN DETAIL STEP BY STEP

1. Name:-  Give the name to the warehouse.

2. Slug:- Enter the slug.

3. Parent Item:- Select the parent location from the drop-down.

(Explanation of sublocation feature -> When you create one parent location, under parent location you can create sub-location.
How it will work ->  When we create parent location and sub-location, then this parent location and Sublocation will display in product edit section, then you need to add stock quantity in sub-location then automatically sub-location stock quantity addition will reflect in parent location, but on the website, customer can not see this sub-location this feature has specially developed for admin.
For example -> I have created California as a parent location and two sub-location under California, Los Angeles, and San Diego. Then I will go to the product edit section and add stock quantity in Los Angeles as 4 and in san, Diego as 3 additions of both sublocation stock quantities will reflect in California as 7, But on the website, customers can see only California location and California stock quantity total 7. They can not see this sublocation )

4. Enter Address:-  Enter the address and the address will automatically fetch from Google Maps. If you want to add an address manually you can add just remove auto-fill data.
5. Street Address:- Enter street address.

6. Route:- Route automatically filled by google Maps when you select the address from the address google Maps dropdown. If you want to enter manually you can remove auto-fill data and enter your route.

7. City:- City automatically filled by google Maps when you select the address from the address google Maps dropdown. If you want to enter manually you can remove auto-fill data and enter your city.

8. State:- State automatically filled by google Maps when you select the address from the address google Maps dropdown. If you want to enter manually you can remove auto-fill data and enter your state.

9. Zip Code:- zip code automatically filled by google Maps when you select the address from address google map dropdown. If you want to enter manually you can remove auto-fill data and enter your zip code.

10. Country:- Country automatically filled by google Maps when you select the address from the address google Maps dropdown. If you want to enter manually you can remove auto-fill data and enter your Country.

11. Email:- Enter the email address.

12. Phone Number:- Enter the phone number of the warehouse

13. Timing:- Enter warehouse timings

14. Location Shop Manager:- Select the shop manager from the drop-down.

(Note: All created location shop managers will display here.)

15. Select Payment method:- Select the payment method from the drop-down.

(Note: All available payment methods from your WordPress will reflect in this dropdown. )

16. Select OpenPOS Outlet:- Select the POS outlet from the drop-down.
(
Note: Create the POS outlet)

DISPLAY SETTING EXPLAINED IN DETAIL STEP BY STEP

1. Show Location Distance: Select one option, after this selection on the website distance will display miles or kilometers or none of the above.

2. Design Preview:- This Location information widget now you can customize according to your choice, we can apply a border, header, separator, and in stock and out of stock this type of CSS. When we apply CSS side by side we can see a live design preview. When we save this setting we can see it on the website.

Please refer to the given image.

PRODUCT CENTRAL

  • View All Products on One screen
  • Bulk Edit Products
  • Update Name, SKU, Price, Stock
  • Updates Stock Levels at Locations (Compatibility)

LOCATION FINDER ON MAP EXPLAINED IN DETAIL STEP BY STEP

1. Default zoom on map:-   You can control the default zoom value on the map, Eg. You can set default zoom = 10 so the map will load with a zoom value of 10.
(Process: First of all you need to add this shortcode on a separate page via the classic editor, after that you can see a map with product data then location data. Please refer to the image below.)

2. Default origin on map:-   Center of the map is important, Now you can customize the center origin of the map from other locations that will be shown on the map with distance. Eg. If you set Default Origin on Map – USA. The map will load with the center as the USA with markers and calculate the distance with other locations.

3. Location list alignment on map:-  Visualization customization – You can align the list which contains Locations.
(List can move right n left side)

4. Default map color:-  According to your theme you can set the map background color. Please refer below image

5. Product/category filter on map:- If you want to add a filter for search by product or category you can add this. Please refer to the below image.

6.Display Location Store Details : – The Location details can be displayed using shortcode [wcmlim_location_info id=58]. Make sure you have to pass the id attribute along with the parameter Location Id. Just commpy the shortcode [wcmlim_location_info id=58] and paste into your page and update the page. It will display location details on the front-end as shown below.

HOW TO USE THE REST API

Please enable the Legacy API.

To enable the legacy REST API within WooCommerce, go to WooCommerce > Settings > Advanced > Legacy API and tick the Enable the legacy REST API checkbox.

Note: legacy REST API was found at WooCommerce > Settings > API prior to WooCommerce 3.4.

REST API endpoints (both accept GET and PUT requests):

/wp-json/wc/v3/products/id

/wp-json/wc/v3/products/id/variations/id (first ID is for parent product, the second one for the variation ID)

/wp-json/wp/v2/locations/

/wp-json/wp/v2/locations/id

Example –

API Endpoint – /wp-json/wc/v3/products/1033

{

    H

  • id1033,

These are the Parameters returned for the Stock Locations :

  1. Stock at Location
    {

id27959,

                               key“wcmlim_stock_location_43”,

                              value“100”

                    }

  1. Regular Price for Location

                            {

                                    id27964,

                                   key“wcmlim_regular_price_43”,

                                  value“35”

                             }

  1. Sale Price for Location

                           {

                                     id27964,

                                    key“wcmlim_sale_price_43”,

                                   value“25”

                        }

Example –

API Endpoint – /wp-json/wp/v2/locations/44

Response –

{

}

locations:

[

317 : {

wcmlim_stock_location_43 :100,

wcmlim_regular_price_43 : 35,

wcmlim_sale_price_43 : 30

wcmlim_stock_location_44 :100,

wcmlim_regular_price_44 : 35,

wcmlim_sale_price_44 : 30

},

318 : {

wcmlim_stock_location_43 :200,

wcmlim_regular_price_43 : 45,

wcmlim_sale_price_43 : 40

},

]

COMPATIBILITY OF PLUGIN

1. Table Rate Shipping for WooCommerce: Table rate method for WooCommerce has the ability to add multiple rates for a given customer based on a variety of conditions set by admin. These can include shipping destination, cart subtotal, item shipping class, price, weight, and so much more.

We have added location as Condition in Table of Rates, which allows you to set

different shipping Rates according to locations.

2. WooCommerce Advanced Shipping:- WooCommerce Advanced Shipping you can create your own shipping rates based on conditions. This allows you to have the ultimate flexibility in what you want to charge to which people.

We have added location as Condition in Table of Rates, which allows you to set

different shipping Rates according to locations.

GOOGLE API

1. Google API:- Google map API is required, Plugin calculates the Distance/Duration between shipping/billing address to WooCommerce store address/Warehouse address by Google Maps Distance Matrix API, geocoding, javascript API.

1.2.1 How to obtain Google Map API Key:-

  1. Go to: https://console.developers.google.com project and sign in with your Google account.
  2. On the Dashboard screen, click the Library link from the left-hand menu. Then search for and click Google Maps Distance Matrix API. geocoding, javascript API.

Distance rate matrix image

Geocoding API Image

Map Javascript API Image

3. Click on the Enable button

4. Then Create to create a new project

5. Give your new project a name, i.e., Distance Rate Shipping, and then click Create.

6. Click the Enable API button, then click the Credentials tab from either the left-hand menu or the banner across the top.

7. Click Add credentials and choose API key.

8. A window will pop up, with your new API key. Make sure the restrictions are set to None and Don’t restrict the key.

9. Copy the API key generated in the pop-up box and keep it as you will need to enter this in the Google API textbox.

10. Clicking on Validate will check if the entered API key is valid or not.

Location shop manager

1. Enable location shop manager:- In the multilocation inventory plugin, go to the setting tab. There you can see the general setting tab in the second column of that page.

In that, there is the option to enable “Set users as a location shop manager ”& save it.

2. Adding shop manager:-After enabling the location shop manager in general setting then go to users.You can add a new shop manager, admin, customer, etc & then save it.

2.1 Click on ‘Users’:-

On the left-hand side, you will see a menu. In that menu, click on ‘Users’.

2.2 Click on Add users’:-

Click ‘Add New’.

Across the top, click the ‘Add New’ button.

2.3 Fill out the form and set the role to Location shop manager

3. Selecting shop manager:- Go to manage location where you have created locations for your store. Then select one of the locations where you want to set shop manager. After selecting the location that you will get an option” location shop manager” where you will names of shop managers which you have added in users & save it.