VM Shipping by Rules

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 VirtueMart

Virtuemart plugin to specify shipping costs with bounds of the order properties. Very complex shipping cost structures (depending on the amount, weight, number of products and/or articles and postal code of the order) can be easily implemented.
  • 25
  • 30
  • plugin
  • vm2.0
  • vm3.0
Price : FREE

Determine shipping costs according to general conditions (bounds on the order properties). Shipping costs can be depending on:

  • 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)

Each country zone can be assigned a different tax rule, and the shipping cost can be given as the amout with or without taxes. In both cases the tax amount and the corresponding net or gross shipping costs will be correctly calculated.

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€.

As another example, consider the following shipping costs of a webshop (which cannot be expressed with the standard VirtueMart shipping plugin):

  <50€ <100€ above 100€
Domestic 2,50€ for up to 3 articles
2,50€ for weight less than 1kg
5€ otherwise
6,50€ FREE
International 8,50€ 8,50€ FREE
This plugin allows this cost structure to be described by the following rules:

For the domestic country/countries:

Name=Domestic small; Articles<=3; Amount<50; Shipping=2.50
Name=Domestic small; Weight<=1; Amount<50; Shipping=2.50
Name=Domestic medium; Amount<50; Shipping=5 Name=Domestic Standard; 50<=Amount<100; Shipping=6.5 Name=Free Shipping above 100€; 100<=Amount; 0

For all other countries (international):

Name=International Shipping; Amount<100; Shipping=8.50
Name=International Free Shipping; Amount>=100; 0

The advanced version allows you to combine the two "Domestic small" lines into one, by using the OR operator.

Documentation (Stable version)

Demo Server

Examples for the Rules

Frequently Asked Questions (FAQ)

Support Forum


Advanced Shipping by Rules Plugin

opentools advancedshippingbyrulesvm logo 200x200This "Shipping by Rules" plugin suffices for most webshops, as it allows arbitrary many shipping cost rules with fixed shipping cost for each rule.

However, in some cases the shipping costs need to be even more flexible and can not be expressed by discrete levels of costs (i.e. fixed amounts) or fixed bounds in the comparisons, but only by arithmetic mathematical expressions. Simple cases are shipping costs of 5% of the order amount, or 10€ per kg. More advanced rules are employed by cargo companies, where the shipping per kg gets cheaper the more you ship.

For this reason, an advanced version of the plugin is available for sale, which incorporates arbitrary basic arithmetic expressions (allowed operators are +, -, *, /, %, ^ and parentheses) of the above variables in all terms (conditions and shipping costs). An example is the following rule, which applies to all orders of at least 2 articles below 100€ and specifies shipping costs as 5€ fixed plus 3% of the order amount plus 1€ per kg plus 0.5€ per additional article:

Name=Complex shipping function; articles>=2; amount<100; shipping=5+amount*0.03+1*weight+0.5*(articles-2)

Another feature of the Advanced Shipping by Rules Plugin is full support for the alphanumeric postal codes used in the UK, Canada and the Netherlands. Those postal codes are split up into their repective parts and the conditions can contain checks for the areas, regions, districts, etc.

For more examples of such advanced shipping cost calculations, see the examples below.


This plugin is licenced unter the GNU GPLv3.