Shipping By Rules for WooCommerce

IMPORTANT ANNOUNCEMENT: Plugin development ceased, all plugins made available freely (GPL)

With great sadness we have to announce that we are ceasing development of all our VirtueMart, WooCommerce and Joomla plugins. Effective immediately, all our plugins -- even those that were paid downloads -- are made available for free from our homepage (GPL license still applies), but we cannot and will not provide any support anymore.

It has been a great pleasure to be part of the thriving development communities of VirtueMart as well as WooCommerce. However, during the last year it became painstakingly clear that in addition to a full-time job, a young family and several other time-consuming hobbies at professional level (like being a professional singer) the plugin development and the support that it requires is not sustainable and is taking its toll. It has been an honor, but it is now time to say good bye!

Shipping by Rules Plugin for WooCommerce

Describe (even complex) shipping costs with simple general rules on the order properties (amount, postcode, weight, #products and/or articles etc.).
WooCommerce Versions
  • woocommerce
2.4, 2.5, 2.6, 3.x
Price : FREE
Free Download
Shipping by Rules for WooCommerce, Version 2.0.6 Shipping by Rules for WooCommerce, Version 2.0.6
Filename: opentools-woocommerce-shipping-by-rules_v2.0.6.zip
MIME-Type: application/zip
File size: 91919 Bytes

Determine even very complex shipping costs according to general conditions. 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 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 a simple 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; Weight<3; shipping=6
Name=Domestic Standard; Amount<100; Shipping=15

This set of rules describes three shipping costs: Orders of 100€ and more are free, otherwise if the order weighs less than 3kg and has less than 5 articles, the shipping is 6€, all other orders cost 15€.

The advanced version of the plugin also allows shipping costs like 5% of the order amount, or 10€ per kg, or 2€ per additional article. More advanced rules are employed by cargo companies, where the shipping per kg gets cheaper the more you ship.

For more (and more real-life) examples of advanced shipping cost calculations, see the examples in the documentation.

Limitations and common misconceptions 

  • The plugin does not easily allow 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 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).


Demo Server

Examples for the Rules

Support Forum


This plugin is licenced unter the GNU GPLv3.