WordPress.org

Plugin Directory

WareRoute – Multi-Warehouse Stock by Country for WooCommerce

WareRoute – Multi-Warehouse Stock by Country for WooCommerce

Description

Shipping from more than one place? A US warehouse and a China warehouse, or an EU stockist and a UK one? WooCommerce has a single stock number per product, so a shopper in Germany can be told something is in stock when the only units are sitting in New York.

WareRoute gives every product and variation one stock number per warehouse and maps countries to warehouses. Each shopper sees, and can buy, only what their warehouse actually has.

What it does

  • Stock per warehouse on simple products and every variation, right in the Inventory tab.
  • Country routing – assign countries to each warehouse; everyone else goes to the default warehouse. Uses the shopper’s shipping country, so it follows WooCommerce’s own customer location (including geolocation, if enabled).
  • Correct stock everywhere – stock status, “in stock” checks, purchasability and the variation data all reflect the shopper’s warehouse.
  • Orders tagged and deducted – every order is tagged with its fulfilment warehouse (shown as a badge in the order list) and stock is taken from that warehouse when payment completes.
  • Address changes handled – if you change an order’s shipping country after stock was taken, the units are returned to the old warehouse and taken from the new one.
  • Manual orders – when adding products to an order in the admin, the product search shows the stock of the warehouse that order ships from.
  • WooCommerce stock stays in sync – the product’s normal stock number is kept as the total across warehouses, so reports and other plugins keep working.
  • Back-in-stock signups – a simple email form appears on product pages when the item (or the selected variation) is out of stock in the shopper’s warehouse. Or place it with the [tswr_back_in_stock] shortcode.
  • Back-in-stock list – see who’s waiting per variation and warehouse, how much stock is back, and email everyone once stock passes the threshold you set.
  • Page cache aware – sets a vary cookie for LiteSpeed Cache so cached pages never show one region’s stock to another.
  • Unlimited warehouses.
  • HPOS compatible.

WareRoute Pro

WareRoute is complete on its own. WareRoute Pro is a separate add-on that adds:

  • Pre-orders per warehouse – when a shopper’s warehouse is empty and backorders are allowed, they can still buy. The order goes to a dedicated Pre-order status (no “processing” email), every line is tagged, and a report shows exactly how many units each warehouse owes, grouped by product attributes.

Add-ons

  • Klaviyo – adds back-in-stock signups to a Klaviyo list.

For developers

The storefront script fires tswr:variation_instock, tswr:variation_outofstock, tswr:variation_preorder and tswr:variation_reset on document, and each variation carries tswr_warehouse and tswr_warehouse_qty. Filters include tswr_warehouses, tswr_warehouse_for_country, tswr_settings_tabs and tswr_back_in_stock_subscribed (action).

Screenshots

Installation

  1. Install and activate the plugin (WooCommerce must be active).
  2. Go to WooCommerce WareRoute and set up your warehouses: give each a name and the countries it serves, and pick a default.
  3. Edit a product (or each variation) and fill in the stock for each warehouse in the Inventory tab.

Leave a warehouse’s stock blank on a product to fall back to WooCommerce’s normal stock for that product.

FAQ

What happens to countries I don’t assign?

They’re served by the default warehouse.

How is the shopper’s country decided?

From the shipping country on the WooCommerce customer session. Before a shopper enters an address, that’s whatever WooCommerce’s “Default customer location” setting gives (geolocation, shop base country, or none).

Can I put the back-in-stock form somewhere else?

Yes. Untick “Show an email signup form on product pages” under WooCommerce WareRoute Back in stock, and place [tswr_back_in_stock] wherever you want it (inside a product template; add product_id="123" elsewhere).

Does it work with page caching?

Yes, with LiteSpeed Cache out of the box (a vary cookie keeps one cached copy per warehouse). Other full-page caches need to vary on the tswr_geo cookie.

Does WareRoute store personal data?

Only for back-in-stock signups: the email address a shopper enters, with the product and warehouse. You can delete entries from the Stock Notifications screen. Country detection uses WooCommerce’s own customer data and geolocation, and the plugin sends nothing to external services. (The optional Klaviyo add-on sends signup emails to Klaviyo.)

What happens to my data if I delete the plugin?

Settings are removed; stock numbers, order tags and the back-in-stock list are kept. To remove everything, add define( 'TSWR_REMOVE_ALL_DATA', true ); to wp-config.php before deleting.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“WareRoute – Multi-Warehouse Stock by Country for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.3.0

  • Initial public release.