Create complex shipping costs
Determine complex shipping costs according to general conditions containing even mathematical expressions. 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, minimal and total extensions of the products
- Postal code of the delivery address (full support also for alphanumeric postal codes used in the UK and Canada)
- Coupon Code
In addition to standard fixed shipping costs, some possible use cases are:
- Shipping costs of 5€ per kg
- Shipping costs of 1% of the invoice amount
- Free shipping if a particular coupon code is entered
- 3€ for the first article, each additional article 1€
- 5€ per kg for the first 10kg, 3€ per kg for everything above 10kg
- Higher shipping rate if the maximum length of the articles exceeds a certain value
- Different shipping costs to Hawaii and Alaska than to the rest of the USA
- A certain shipping cost if the average product weight is above/below a certain value
This "Advanced Shipping by Rules" plugin incorporates arbitrary basic arithmetic expressions (allowed operators are +, -, *, /, %, ^ and parentheses) and boolean operators (OR and AND) of the order properties in all conditions and shipping costs.
Each country zone can be assigned a different tax rule, and the shipping cost can be given as the amount with or without taxes. In both cases the tax amount and the corresponding net or gross shipping costs will be correctly calculated.
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; 100Name=Domestic Small; ArticlesName=Domestic Standard; Amount
This set of rules describes three shipping costs: Orders of 100€ and more are free, otherwise if the order weighs less than 3kg or contains only one article, the shipping is 6€, all other orders cost 1.5€ per kg.
By adding a check for the coupon code in the rule, one can even create coupons that set a particular shipping cost. E.g.
Name=Free Shipping with Coupon; Coupon=="FREE_SHIPPING"; Shipping=0