VM2 Shipping by Rules

Shipping by Rules Plugin for VirtueMart 2

Virtuemart 2 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.
plg_vmshipping_rules_shipping_icon
plg_vmshipping_rules_shipping_config
plg_vmshipping_rules_shipping_cart
plg_vmshipping_rules_shipping_cart1
plg_vmshipping_rules_shipping_cart2
  • 25
  • vm2.0
Free Download
VM2 Shipping by Rules, Version 4.1 VM2 Shipping by Rules, Version 4.1
Filename: plg_opentools_vm2_rules_shipping_v4.1.zip
MIME-Type: application/x-zip-compressed
File size: 21747 Bytes


Update Notifications
Description

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)

Examples for the Rules

Demo Server

Frequently Asked Questions (FAQ)

Support Forum


Advanced Shipping by Rules Plugin

This "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.

License

This plugin is licenced unter the GNU GPLv3.