Title: Shipping by Rules for WooCommerce
Author: Open Tools
Published: <strong>January 12, 2016</strong>
Last modified: February 24, 2018

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/shipping-by-rules-for-woocommerce/assets/icon-256x256.png?rev
=1326719)

# Shipping by Rules for WooCommerce

 By [Open Tools](https://profiles.wordpress.org/opentools/)

[Download](https://downloads.wordpress.org/plugin/shipping-by-rules-for-woocommerce.2.0.6.zip)

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

 [Support](https://wordpress.org/support/plugin/shipping-by-rules-for-woocommerce/)

## Description

Determine shipping costs according to general conditions (bounds on the order properties).
Shipping costs can depend on e.g.:

 * Total amount of the order
 * Total weight of the order
 * Number of articles or different products in the order
 * Volume or minimal and maximal extensions of the products
 * Postal code of the delivery address (the Advanced version also supports alphanumeric
   postal codes from the UK, Canana and Netherlands)
 * Coupon Code (Advanced version only)

The plugin exists in two different versions, this free version, which supports fixed
bounds for all properties, and a paid version, which allows all conditions and shipping
rules to contain arbitrary mathematical expressions (like an OR operator, multiplication,
addition, subtraction, functions like rounding etc.). See the documentation for 
all the differences.

Each rule is described as one line of text with an easy structure (semicolons separate
the parts of the rule). For example:

    ```
    Name=Free Shipping; 100<=Amount; 0
    Name=Domestic Small; Articles<5; Amount<100; Shipping=1.50
    Name=Domestic Standard; Amount<100; Shipping=3.50
    ```

This set of rules describes three shipping costs: Orders of 100€ and more are free,
otherwise orders with less than five articles have shipping costs of 1.5€, all others
3.50€.

#### Limitations and common misconceptions

 * The plugin is not designed to calculte shipping costs on a per-product level (
   e.g. it is not possible that Article A has shipping costs of 3€, Article B 5€
   and if you order both you pay 8€ shipping)
 * The plugin allows only limited support for category-based shipping. You can only
   find out if an article from a particular category is in the order, but NOT how
   many articles from a given category (e.g. it is not possible to have all articles
   from Category X ship for 3€ and all articles from Category Y ship for 5€)
 * The plugin does NOT sum the results of all rules, but uses the FIRST matching
   rule it finds.
 * The plugin does NOT use the lowest result of all rules, but it uses the FIRST
   matching rule it finds. (In particular, if you want to provide free shipping 
   under certain conditions, you usually need to place the rule for free shipping
   FIRST rather than last, because the last rule will only be used if none of the
   other rules matches).

For the full documentation of the Shipping by Rules plugin for WooCommerce see:

http://open-tools.net/documentation/advanced-shipping-by-rules-for-woocommerce.html

## Screenshots

[⌊The shipping method configuration page. Here you can set up multiple shipping 
methods (think carriers) using the Shipping by Rules plugin. Each method can have
an arbitrary number of rulesets and rules. Each method can independently offer a
shipping rate.⌉⌊The shipping method configuration page. Here you can set up multiple
shipping methods (think carriers) using the Shipping by Rules plugin. Each method
can have an arbitrary number of rulesets and rules. Each method can independently
offer a shipping rate.⌉[

The shipping method configuration page. Here you can set up multiple shipping methods(
think carriers) using the Shipping by Rules plugin. Each method can have an arbitrary
number of rulesets and rules. Each method can independently offer a shipping rate.

[⌊The shipping method edit page. Give the shipping method a title that will be shown
in the cart and the invoice. You can add an arbitrary number of rulesets, each applying
to different countries. Each ruleset can have an arbitrary number of rules of the
form 'Name="Name to be displayed to the user"; Amount<14; Weight>5; Shipping=9.9'.
Do not forget to press "Update" to save your changes. The rulesets can be reordered
by simply dragging them.⌉⌊The shipping method edit page. Give the shipping method
a title that will be shown in the cart and the invoice. You can add an arbitrary
number of rulesets, each applying to different countries. Each ruleset can have 
an arbitrary number of rules of the form 'Name="Name to be displayed to the user";
Amount<14; Weight>5; Shipping=9.9'. Do not forget to press "Update" to save your
changes. The rulesets can be reordered by simply dragging them.⌉[

The shipping method edit page. Give the shipping method a title that will be shown
in the cart and the invoice. You can add an arbitrary number of rulesets, each applying
to different countries. Each ruleset can have an arbitrary number of rules of the
form ‘Name=”Name to be displayed to the user”; Amount<14; Weight>5; Shipping=9.9’.
Do not forget to press “Update” to save your changes. The rulesets can be reordered
by simply dragging them.

[⌊An example of two shipping methods offered in the cart. Notice that the displayed
shipping name has the form "Shipping Method name (Optional Rule name)".⌉⌊An example
of two shipping methods offered in the cart. Notice that the displayed shipping 
name has the form "Shipping Method name (Optional Rule name)".⌉[

An example of two shipping methods offered in the cart. Notice that the displayed
shipping name has the form “Shipping Method name (Optional Rule name)”.

[⌊If a matching rule has NoShipping set as shipping costs, its name will be displayed
as a warning message to the user and the method will not offer any shipping.⌉⌊If
a matching rule has NoShipping set as shipping costs, its name will be displayed
as a warning message to the user and the method will not offer any shipping.⌉[

If a matching rule has NoShipping set as shipping costs, its name will be displayed
as a warning message to the user and the method will not offer any shipping.

[⌊The plugin's entry in  WordPress' plugin management page contains direct links
to the configuration page, to the documentation and to the support forum.⌉⌊The plugin's
entry in  WordPress' plugin management page contains direct links to the configuration
page, to the documentation and to the support forum.⌉[

The plugin’s entry in WordPress’ plugin management page contains direct links to
the configuration page, to the documentation and to the support forum.

## Installation

 1. To install the plugin, either:
 2.  a. use WordPress’ plugin manager to find it in the WordPress plugin directory and
        directly install it from the WP plugin manager, or
     b. use WordPress’ plugin manager to upload the plugin’s zip file.
 3. After installation, activate the plugin through the ‘Plugins’ menu in WordPress
 4. Go to WooCommerce’s shipment configuration page, open the “Shipping by Rules” method
    and set up a your rule-based methods there

## FAQ

  Installation Instructions

 1. To install the plugin, either:
 2.  a. use WordPress’ plugin manager to find it in the WordPress plugin directory and
        directly install it from the WP plugin manager, or
     b. use WordPress’ plugin manager to upload the plugin’s zip file.
 3. After installation, activate the plugin through the ‘Plugins’ menu in WordPress
 4. Go to WooCommerce’s shipment configuration page, open the “Shipping by Rules” method
    and set up a your rule-based methods there

  Where can I get further rule examples or help?

Please see our support forum at http://open-tools.net/forum/. It might also be a
good idea to check the support forum of the Shipping by Rules plugin for VirtueMart.
The basic concepts of these plugins are identical, so most solutions for VirtueMart
will also work in the WooCommerce shipping plugin.

## Reviews

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

### 󠀁[Does nothing](https://wordpress.org/support/topic/does-nothing-73/)󠁿

 [janpecnik](https://profiles.wordpress.org/janpecnik/) February 2, 2018 1 reply

Not sure if it is WP or WC version incompatibility (up to date on my side), but 
this plugin doesn't do literally anything on my end. To me it looks just like a 
blind ad to purchase the full version.

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

### 󠀁[Simple yet effective](https://wordpress.org/support/topic/simple-yet-effective-38/)󠁿

 [rodgrolop](https://profiles.wordpress.org/rodgrolop/) November 2, 2017

What was being kind of a hell to setup with built in options of woocommerce became
a matter of 5 minutes with this amazing plugin, 2 lines of intuitive text and all
done! Thanks, of course I will think of buying PRO version for more complex projects
I will have soon

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

### 󠀁[Perfect solution](https://wordpress.org/support/topic/perfect-solution-96/)󠁿

 [steveharris411](https://profiles.wordpress.org/steveharris411/) October 15, 2017

Needed some advanced shipping options and didn't want to fork of big bucks. This
plugin has the power to do pretty much all shipping options after 5-10 mins. Thanks!!

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

### 󠀁[Hard to find such good free WooCommerce plugin](https://wordpress.org/support/topic/hard-to-find-such-good-free-woocommerce-plugin/)󠁿

 [Vadim](https://profiles.wordpress.org/vadikcoma/) September 14, 2017

Thank you very much for this great plugin. Usually all free woocommerce plugins 
looks bad or don't work. Your looks great and works perfectly!

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

### 󠀁[Does exactly what we need](https://wordpress.org/support/topic/does-exactly-what-we-need/)󠁿

 [kchayka](https://profiles.wordpress.org/kchayka/) April 26, 2017

We have a very small product line and needed simple flat-rate weight calculations
to go with it. This plugin does just what we need without mucking around with complex
shipping zones, classes or methods.

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

### 󠀁[Simple but powerful](https://wordpress.org/support/topic/simple-but-powerful-35/)󠁿

 [Anonymous User 15137882](https://profiles.wordpress.org/anonymized-15137882/) 
December 5, 2017

Very good plugin, miles better than the standard fare. Thank you!

 [ Read all 8 reviews ](https://wordpress.org/support/plugin/shipping-by-rules-for-woocommerce/reviews/)

## Contributors & Developers

“Shipping by Rules for WooCommerce” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Open Tools ](https://profiles.wordpress.org/opentools/)

[Translate “Shipping by Rules for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/shipping-by-rules-for-woocommerce)

### Interested in development?

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

## Changelog

#### 2.0.6

 * Add function evaluate_for_shippingclasses

#### 2.0.5

 * Basic support for Dokan Marketplace (vendors lists are properly filled)

#### 2.0.4

 * Compatibility with WC vendors in combination with product variations
 * Fix PHP warnings

#### 2.0.3

 * Fix warning when products have no length/width/height assigned (use 0 as default)
 * Fix tiny incompatibility with PHP 7

#### 2.0.2

 * Support for WooCommerce Product Vendors >=2.0
 * Support UK postcodes if second part is left out by the user altogether

#### 2.0.1

 * No changes (installation package was missing files, so a version increase was
   required)

#### 2.0

 * Transition to WooCommerce’s Shipping Zones. Existing methods (not using zones)
   are preserved and legacy mode is enabled.
 * Update for full compatibility with WooCommerce 3.0
 * Fix non-latin category SLUGs

#### 1.2.8

 * Fix issues with UK_* variables when no address is entered yet

#### 1.2.7

 * Add debug messages to the update system (disabled by default)

#### 1.2.6

 * Add message functionality (Error=…, Warning=…, Message=… rule parts)

#### 1.2.5

 * Add variables username, first_name, last_name, email
 * Add list variable userroles (advanced version only)
 * Fix issue with debug_variables

#### 1.2.4

 * Fix incompatibility with Cash on Delivery (returned id should be prefixed with
   the method ID)
 * Fix opentools_shipping_by_rules_get_cart_values filter using indefined argument

#### 1.2.3

 * Fix update credentials input
 * Fix PHP error when both versions of the plugin are enabled
 * Fix fatal error: Call to a member function isNoShipping() on a non-object…

#### 1.2.2

 * Fix warning about function signature mismatch
 * Fix Coupons variable not being available (advanced version)

#### 1.2.1

 * Fix for warning when a rule contained only spaces

#### 1.2

 * Add support for “WC Vendors” and for “WooThemes Product Vendors” (new variable“
   Vendors”, new function “evaluate_for_vendors”)

#### 1.1.1

 * Fix for PHP 5.3
 * Fix for evaluate_for_XXX functions (advanced version)

#### 1.1

 * Add time variables, Quantity/MaxQuantity/MinQuantity

#### 1.0

 * Initial release

## Meta

 *  Version **2.0.6**
 *  Last updated **9 years ago**
 *  Active installations **500+**
 *  WordPress version ** 4.0 or higher **
 *  Tested up to **4.9.32**
 * Tags
 * [shipment](https://wordpress.org/plugins/tags/shipment/)[shipping](https://wordpress.org/plugins/tags/shipping/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/shipping-by-rules-for-woocommerce/advanced/)

## Ratings

 4.5 out of 5 stars.

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

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

[See all reviews](https://wordpress.org/support/plugin/shipping-by-rules-for-woocommerce/reviews/)

## Contributors

 *   [ Open Tools ](https://profiles.wordpress.org/opentools/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/shipping-by-rules-for-woocommerce/)