Title: Stock Locations for WooCommerce
Author: Fahad Mahmood
Published: <strong>February 11, 2020</strong>
Last modified: June 3, 2026

---

Search plugins

![](https://ps.w.org/stock-locations-for-woocommerce/assets/banner-772x250.png?rev
=2626258)

![](https://ps.w.org/stock-locations-for-woocommerce/assets/icon.svg?rev=2471943)

# Stock Locations for WooCommerce

 By [Fahad Mahmood](https://profiles.wordpress.org/fahadmahmood/)

[Download](https://downloads.wordpress.org/plugin/stock-locations-for-woocommerce.3.1.9.zip)

 * [Details](https://wordpress.org/plugins/stock-locations-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/stock-locations-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/stock-locations-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/stock-locations-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/)

## Description

Stock Locations for WooCommerce will help you manage your products stock across 
multiple locations easily. If you have multiple physical stores or storage locations,
like warehouses, this plugin may help you.

You can print the locations inside a product page on the frontend, with this shortcodes:

#### Product pages

    ```
    [slw_product_locations show_qty="yes" show_stock_status="no" show_empty_stock="yes" collapsed="no" stock_location_status="enabled"]
    [slw_product_variations_locations show_qty="yes" show_stock_status="no" show_empty_stock="yes" collapsed="yes" stock_location_status="all|disabled|enabled"]
    [slw_product_message is_available="yes" only_location_available="no" location="location-slug"]Your custom product message/HTML here[/slw_product_message]
    ```

#### Cart page

    ```
    [slw_cart_message qty_from_location="location-slug" only_location_available="no"]Your custom cart message/HTML here[/slw_cart_message]
    ```

#### REST API

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/location/
    /wp-json/wp/v2/location/id
    ```

This plugin requires at least _WooCommerce 3.4_.

#### Features

 * New taxonomy for stock locations
 * Works on both, simple and variable products
 * Easy management of stock with multiple locations, both in product and orders
 * Get and update product stock locations from the REST API
 * Allow customers to select locations when purchasing
 * Auto order allocation for locations stock reduction
 * Send email notifications when stock is allocated for a product in a location
 * Send WooCommerce New Order email copy to item location
 * Compatible with WPML

#### Compatibility

 * PHP 7.2+

## Screenshots

[⌊Product list filter and stock locations column⌉⌊Product list filter and stock 
locations column⌉[

Product list filter and stock locations column

[⌊Stock locations taxonomy⌉⌊Stock locations taxonomy⌉[

Stock locations taxonomy

[⌊Manage stock locations in simple products⌉⌊Manage stock locations in simple products⌉[

Manage stock locations in simple products

[⌊Manage stock locations in variable products⌉⌊Manage stock locations in variable
products⌉[

Manage stock locations in variable products

[⌊Deduct stock from locations manually⌉⌊Deduct stock from locations manually⌉[

Deduct stock from locations manually

[⌊Deduct stock from location automatically⌉⌊Deduct stock from location automatically⌉[

Deduct stock from location automatically

[⌊Allow customers to select locations in cart page⌉⌊Allow customers to select locations
in cart page⌉[

Allow customers to select locations in cart page

[⌊Allow customers to select location in variable products⌉⌊Allow customers to select
location in variable products⌉[

Allow customers to select location in variable products

[⌊Allow customers to select location in simple products⌉⌊Allow customers to select
location in simple products⌉[

Allow customers to select location in simple products

[⌊Plugin settings⌉⌊Plugin settings⌉[

Plugin settings

[⌊Show location stock quantity with a postfix e.g. 20+⌉⌊Show location stock quantity
with a postfix e.g. 20+⌉[

Show location stock quantity with a postfix e.g. 20+

[⌊Edit Stock locations taxonomy⌉⌊Edit Stock locations taxonomy⌉[

Edit Stock locations taxonomy

[⌊Lock default location on frontend.⌉⌊Lock default location on frontend.⌉[

Lock default location on frontend.

[⌊Set price for product as per each stock location.⌉⌊Set price for product as per
each stock location.⌉[

Set price for product as per each stock location.

[⌊Pre-select default location on product page (frontend).⌉⌊Pre-select default location
on product page (frontend).⌉[

Pre-select default location on product page (frontend).

[⌊Stock locations for each variation.⌉⌊Stock locations for each variation.⌉[

Stock locations for each variation.

[⌊How to allow editing location values on orders after being reduced?⌉⌊How to allow
editing location values on orders after being reduced?⌉[

How to allow editing location values on orders after being reduced?

## Installation

 1. Upload “stock-locations-for-woocommerce” to the “/wp-content/plugins/” directory.
 2. Check if you have WooCommerce 3.4+ plugin activated
 3. Activate SLW plugin through the “Plugins” menu in WordPress.

**Simple Products**

 1. Assign Stock Locations to the product > Update Post
 2. Under Inventory Tab > Activate Manage Stock
 3. Under Stock Locations Tab > Manage the stock for the locations

**Variable Products**

 1. Assign Stock Locations to the product > Update Post
 2. Under Inventory Tab > Deativate Manage Stock
 3. Under Attributes Tab > Create attributes
 4. Under Variations Tab > Create variations based on attributes
 5. In each variation > Activate Manage Stock & Add Price > Update Post
 6. Under Stock Locations Tab > Manage the stock for the locations for each variation

## FAQ

### Problems with wp all import?

**👉 1. How can we make them activate automatically during the import process?**

If you want to make them active, in Import settings check “Taxonomies (incl. Categories
and Tags)”,
 under this chose “Update only these taxonomies, leave the rest alone”
and type “location”

Use this with “custom fields: _stock_at_xxx” as warehouse number and import works
perfectly.

### Stock Locations | Stock Deductions | Settings and Results

**👉 1. How auto order allocation work with multiple stock locations?**

**👉 2. How location priority work with auto order stock allocation?**

**👉 3. What if all of my locations don’t have the sufficient stock ordered?**
 
If order quantity is within the summation of all stock locations available stock
quantity, it will be simply served. If not, auto allocation will not work so admin
can decide if he want to deliver the order partially or wait for stock comes in.

**👉 4. How location email works?**

**👉 5. Do you want to sell products from only one stock location?**

**👉 6. How to make location selection required on cart page?**

**👉 7. How does it manage the maximum qty. to order according to the stock in a
location?**

**👉 8. How to allow editing location values on orders after being reduced?**
 https://
github.com/fahadmahmood8/stock-locations-for-woocommerce/issues/90

### How Import/Export work with CSV files?

### How to use Cron Job?

### How to use REST API?

### How Google Map and Location Archives work in Premium Version?

### How to lock pre-selected location on frontend?

Turn ON “Enable default location in frontend selection” from WooCommerce > Stock
Locations for WC. This option will allow you to select default location for a product
on Product Edit page. Now turn ON “Lock frontend location to default” and it will
lock frontend location which is selected as default.

### I found a bug, where I can report it?

I prefer you to use the Github issues. You can submit a new one here [GitHub](https://github.com/fahadmahmood8/stock-locations-for-woocommerce/issues/new)

### How to show location stock quantity with a postfix e.g. 20+?

On settings page you can define a number. If location stock value will be less than
the given number, it will display the stock value else will not show the exact number
but a plus sign “+” just after the maximum number given.

## Reviews

![](https://secure.gravatar.com/avatar/4d7eaeba8d218c65f2b88fe305d7bb588c52484ff7e14db3e12a871400bd37f0?
s=60&d=retro&r=g)

### 󠀁[Very quick and very effective](https://wordpress.org/support/topic/very-quick-and-very-effective/)󠁿

 [nikjeremic](https://profiles.wordpress.org/nikjeremic/) January 13, 2025

Thank you Fahad, your plugin works perfectly and you help was very quick and just
what I needed! All recommendations!

![](https://secure.gravatar.com/avatar/fc0274a28f71cca61480b56a6fba11ed667c673a5a09d74b2d9c881abccfdb37?
s=60&d=retro&r=g)

### 󠀁[How to edit price in woocommerce stock location with rest api](https://wordpress.org/support/topic/bagaimana-cara-mengedit-harga-di-stock-location-woocommerce-dengan-rest-api/)󠁿

 [andra2023](https://profiles.wordpress.org/andra2023/) July 27, 2023 1 reply

Very good, but i have a question. how to edit price value in woocommerce stock location?

![](https://secure.gravatar.com/avatar/dd1c1aaa1de651f28043c0ce93a83f85a4f355fdc00a1cbdee3a3e8c1c86d2f6?
s=60&d=retro&r=g)

### 󠀁[Sprinkles Ads into WC](https://wordpress.org/support/topic/sprinkles-ads-into-wc/)󠁿

 [daohio](https://profiles.wordpress.org/daohio/) July 12, 2023 1 reply

It does hide some features in premium, and it adds advertisements for his other 
plugins around the site

![](https://secure.gravatar.com/avatar/59244f136a7863665fa9e8d78725caadcac8be9062c3bfdb7c1fb39301de3447?
s=60&d=retro&r=g)

### 󠀁[Exceptional support and great plugin](https://wordpress.org/support/topic/exceptional-support-and-great-plugin/)󠁿

 [cksonline](https://profiles.wordpress.org/cksonline/) July 1, 2023

Had a couple of issues, contacted the developer. Fahad could not have been more 
helpful and got me up and running in no time. Highly recommend this plugin for multiple
stock locations. Thanks again!

![](https://secure.gravatar.com/avatar/426921c543d02ee137580ee43e7276557d43e550df9a92b330beea41538854fc?
s=60&d=retro&r=g)

### 󠀁[Top-Notch support ( fast & quality coding )](https://wordpress.org/support/topic/top-notch-support-fast-quality-coding/)󠁿

 [cristian2202](https://profiles.wordpress.org/cristian2202/) July 27, 2023

I encountered plugin adaptation issues and reached out to the developer, Fahad. 
His prompt and professional assistance were highly appreciated. Despite the task’s
complexity, he worked diligently, debugging and customizing my website even at 4
AM! Now, everything functions flawlessly, and I am grateful for Fahad’s exceptional
help! I recommend reaching out to him for any issues or new ideas; the man certainly
knows what he’s doing 😉

![](https://secure.gravatar.com/avatar/70dc542516f7c1f16314d5b24c20fb2eb6eb4c92afd6e5aba6a1356c707fa3d1?
s=60&d=retro&r=g)

### 󠀁[Worthy of 10 Stars](https://wordpress.org/support/topic/worthy-of-10-stars-2/)󠁿

 [owlbooks](https://profiles.wordpress.org/owlbooksdk/) March 16, 2023

I first tried this plugin a month ago and was struggling with the stock numbers 
adding up. I tried again after seeing that the developers updated the plugin and
it works absolutely perfect! There is nothing else on the market like this and it
does precisely what we need. Great work and highly recommend! Thank you!

 [ Read all 52 reviews ](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/)

## Contributors & Developers

“Stock Locations for WooCommerce” is open source software. The following people 
have contributed to this plugin.

Contributors

 *   [ Fahad Mahmood ](https://profiles.wordpress.org/fahadmahmood/)
 *   [ alexmigf ](https://profiles.wordpress.org/alexmigf/)
 *   [ Invoicepress ](https://profiles.wordpress.org/invoicepress/)

“Stock Locations for WooCommerce” has been translated into 7 locales. Thank you 
to [the translators](https://translate.wordpress.org/projects/wp-plugins/stock-locations-for-woocommerce/contributors)
for their contributions.

[Translate “Stock Locations for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/stock-locations-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/stock-locations-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/stock-locations-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/stock-locations-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/stock-locations-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 3.1.7

 * Fix: Variable products showing out of stock even when inventory exists – resolved
   stock status handling for variations without manual location stock entry [Thanks
   to Ben Croft][28/05/2026]

#### 3.1.4

 * Fix: Bug with variation stock status querying (PR #171). Variations were getting
   their is_in_stock queried, and reporting incorrectly they were out of stock. [
   Thanks to kennydude / Joe Simpson][30/04/2026]

#### 3.1.1

 * Fix: Corrected stock status calculation when all locations have zero stock to
   prevent false “in stock” state. [Thanks to @armanuniverse][06/04/2026]
 * Fix: Ensured proper handling and saving of _stock_status (instock/outofstock)
   in database.
 * Improvement: Replaced unreliable stock status checks with aggregated per-location
   stock calculation.
 * Improvement: Standardized return values to boolean for accurate WooCommerce compatibility.
 * Props: Thanks to armanuniverse for identifying and sharing the fix.

#### 3.1.0

 * Resolved ‘get_variation_default_attribute’ fatal error and out-of-stock display
   issue caused by Stock Locations plugin update, ensuring variable and simple products
   now show correct stock status. [Thanks to Renzo Westenbroek | Webreturn][12/03/
   2026]

#### 3.0.9

 * Fixed: Including API response and optimized approach to DB writes, backorder 
   related status and a few more improvements suggested in support threads since
   October 2025. [07/03/2026]

#### 3.0.8

 * Fixed: Compatibility issue with Woodmart theme where early returns in slw_wp_head()
   prevented closing of tag, causing invalid HTML and breaking mobile viewport (
   meta viewport ignored, pages rendering in desktop mode on mobile). Refactored
   dynamic CSS output to collect rules first and only inject block when content 
   exists; bumped hook priority to 20 for safer execution after theme styles. [Thanks
   to Spikee] [22/02/2026]

#### 3.0.7

 * Added: JSON payload-based API for bulk updating stock and price per location 
   for products and variations. [Thanks to Mark Boorman][12/01/2026]

#### 3.0.6

 * Added: WooCommerce variation availability now respects location stock for swatch-
   based themes like Woodmart. [Thanks to Renzo Westenbroek][05/01/2026]

#### 3.0.4

 * Tested: WooCommerce variation availability now respects location stock for swatch-
   based themes like Woodmart. [Thanks to Renzo Westenbroek][05/01/2026]

#### 3.0.2

 * Fixed: Only enabled/active stock locations will contribute in total stock value
   but it would still be editable. [Thanks to @josephkallinit][21/10/2025]
 * Fixed: Prevented potential PHP error when `$slw_api_valid_keys` is null during
   API validation. [Thanks to Tushar Tajane][21/10/2025]
 * New: Order notes can be turned off from the settings. [Thanks to Rob Wood][21/
   10/2025]
 * Fixed: Incorrect price range display for variable products when location-based
   stock prices are higher than variation base prices. The location price now overrides
   confusing WooCommerce default range formatting.
 * Improved: Sale price logic now fully respects location-based pricing — ensuring
   both range and sale indicators are hidden when local price is higher. [21/10/
   2025]

#### 3.0.1

 * Added: Conditional CSS injection for WooCommerce Blocks to hide sale and del 
   elements when location price exceeds the base or sale price.
 * Improved: Price hiding logic refactored for better compatibility across all product
   types (simple, variable, grouped). [20/10/2025]

## Meta

 *  Version **3.1.9**
 *  Last updated **4 weeks ago**
 *  Active installations **1,000+**
 *  WordPress version ** 4.9 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.2 or higher **
 *  Languages
 * [Chinese (China)](https://cn.wordpress.org/plugins/stock-locations-for-woocommerce/),
   [Dutch](https://nl.wordpress.org/plugins/stock-locations-for-woocommerce/), [English (US)](https://wordpress.org/plugins/stock-locations-for-woocommerce/),
   [Norwegian (Bokmål)](https://nb.wordpress.org/plugins/stock-locations-for-woocommerce/),
   [Spanish (Colombia)](https://es-co.wordpress.org/plugins/stock-locations-for-woocommerce/),
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/stock-locations-for-woocommerce/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/stock-locations-for-woocommerce/),
   and [Spanish (Venezuela)](https://ve.wordpress.org/plugins/stock-locations-for-woocommerce/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/stock-locations-for-woocommerce)
 * Tags
 * [simple product](https://wordpress.org/plugins/tags/simple-product/)[stock](https://wordpress.org/plugins/tags/stock/)
   [Variable Products](https://wordpress.org/plugins/tags/variable-products/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/stock-locations-for-woocommerce/advanced/)

## Ratings

 4.8 out of 5 stars.

 *  [  49 5-star reviews     ](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/?filter=2)
 *  [  2 1-star reviews     ](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/reviews/)

## Contributors

 *   [ Fahad Mahmood ](https://profiles.wordpress.org/fahadmahmood/)
 *   [ alexmigf ](https://profiles.wordpress.org/alexmigf/)
 *   [ Invoicepress ](https://profiles.wordpress.org/invoicepress/)

## Support

Issues resolved in last two months:

     3 out of 3

 [View support forum](https://wordpress.org/support/plugin/stock-locations-for-woocommerce/)