This article does not address Standard shipping or the use of Calculators.
For Mal's cart, Advanced shipping is mainly defined from the Admin page.
In some cases you also need to define a 'units' value for each product, which for example, might be the weight. The noship value does not apply to Advanced shipping.
Login to your cart and click on the Cart setup tab. Hover over 'shipping' on the left, then over 'Advanced shipping' and click on Globalsettings. Click on the Advanced shipping radio button. Use the Shipping Tables link when specifying most of the Advanced Shipping definitions.
Also on the admin page are links to define parameters for calculators, and some optional setup relating your zones to lists of countries or of US and Canadian states.
There are zones and options. A zone has a name you supply, and one or more options for which you fill in values. You might decide that one zone will be the Continental US, another Canada, and you would give those names to the zones and that's the first choice the customer makes.
The options within your US zone might be between different service types, or carriers. So you might set up an option for local delivery, one for regular mail, another for express. You then complete the information for that option. Initially there is room for four rows in a table but more rows will appear if you save those you have filled.
You may want a fixed shipping charge for each order, or to base your charges on the order value or weight, or on some other criterion. Advanced shipping also allows you to specify maximum or minimum charges, and that shipping should be free above a certain order value.
The charging bases offered are:
For convenience in describing tables, I'll regard the item count at the total units value of (3), and the order value as the total units value of (4). In (5) you explicitly define the units value.
If you are specifying your own charges (i.e. not linking to a calculator for rates such as FEDEX) you will be defining one or more rows in a table on these lines
The first 10 is charged 5 the band |
The next 20 is charged 6 the band |
The next 20 is charged 6 the band |
.... |
The rest is charged 6 the band |
The table says that the first 1-10 units of the total units, be it item count, order value, or defined units, will be charged 5 for shipping. That's 5 in whatever currency you are using.
If total units exceeds 10, then up to 20 more (total 30) will increase the charge by 6 making 11. And so on. Finally there is 'The rest'. The maximum charge is therefore the sum of the calculations for each applicable row, and this depends on the size of the units total.
We've defined a shipping charge that increases in steps, as the number of units increases.
Here's another table with a difference. Instead of 'the band' we have 'each', so the charge value is now a multiplier. Instead of charging the same amount for any number within a band, we multiply the actual number of units in the band for this order by the multiplier entered.
The first 10 is charged 5 each |
The next 20 is charged 6 each |
The next 20 is charged 6 each |
.... |
The rest is charged 6 each |
If there are 1 to 10 units they will be charged 5 each. So if the total is 6 units the shipping charge will be 6*5 = 30. 10 units would cost 10*5 = 50. If there were 12 units the second row calculation is added. 10*5 + 2+6 = 62. Unlike the previous table, this one has no maximum charge. 'The rest' has a multiplier instead of an amount. So the shipping charge is not in steps but slopes - it increases continually as the units value increases.
It is possible to have some rows with amounts 'the band', and some with multipliers, 'each'. A simple example of this before we move on would be if you wish to charge 8 for order values below 50, plus 10% of any excess over 50. An order value of 100 would incur a shipping charge of 8 + 50*0.1 = 13.
This is a combination of a step and then a slope, increasing by 10% of any extra units.The first 50 is charged 8 the band |
The rest is charged 0.1 each |
I've been using integers for simplicity but units values and charges can have decimals, and charges may be negative.
On the Advanced shipping page you define one or more zones, each having one or more options. For each option you specify the charging basis, for example, based on order value, and a Rate Table.
A zone is really just a group of one or more options. If you provide multiple possibilities the customer first selects a zone, for example, local shipping, and then is shown the cost of each option you provide under that zone, for example, collect, or first class.
Within an option you can say that Shipping is free, is a flat rate per order, is based on the cost of the order (sum of price), or the number of items (sum of qty), or maybe the weight, or some product specific value. If UPS, USPS, and/or FEDEX calculators (not described here) are used, any may be specified with the option of a handling charge. The same applies for Australia Post.
You can also say that shipping is free over a certain value, and specify a minimum and/or maximum charge.
Shipping calculations are based on UNITS. If your charges are based on weight, or some other product related factor, you must specify a UNITS value in each product definition. (Described later). If charges are based on order value, or quantity (number of items), the calculations are similar, but the UNITS value used in the calculations will be the price or quantity you pass to the cart.
If the charge varies according to order value, quantity, or weight, you may need to specify several numbers. For this you name a 'zone' and within it one or more options.
For each option you specify the charging basis, some of the items listed above, and a Rate Table. This consists of multiple rows (only four appear initially but when you save those more will appear).
'x' is a number of units. 'y' is a cash amount if 'the band' is specified for the row, and a multiplier if 'each' is specified.
When compared to Standard shipping, 'each' corresponds to options 2, 4, and 6, while 'the band' corresponds to options 3, 5, and 7.Because the charges may vary by shipping destination or carrier service, or some other reason, you can specify multiple zones, each with one or more options. For example, you might have a National Zone and an Overseas zone, the latter's options being airmail and sea mail. If you define more than one zone, then before the customer can pay he must select one zone from a drop down list in the cart, based on the name/text that you supply to describe each zone. He would then be shown the shipping charges corresponding to the options in that zone.
Before we look at solutions for different situations, let's look at an option table.
The first 20 | cost 5 | the band |
The next 10 | cost 4 | the band |
The next 10 | cost 3 | the band |
The next 10 | cost 2 | the band |
The rest | cost 1 | the band |
The first number corresponds to units, the meaning of which depends on the charging basis already specified for the option. If the 'quantity of the products' radio button was selected, units will be the total number of items in the order. If it was the 'value of the order' then units will be the total order value. Otherwise it is the total sum of the units values you specify for the products.
If 'the band' is specified, the second number is a cash amount; if 'each' then it is a multiplier.
In the example, any number of units up to 20 (whether it be quantity, value, or perhaps weight) has a shipping cost of $5. Up to 10 more units will cost another $4. And so on. So 50 units will cost 5+4+3+2 = $14, and any greater amount will cost $14+1. That is the maximum charge.
If we change 'the band' in all rows to 'each', the calculation differs. Any number of units up to 20 would be multiplied by 5 to get the shipping charge. If units were pounds, 10lbs would cost $50, 20lbs would cost $100. 21lbs would cost 20*$5 + 1*$4 = $104. There is no maximum. 50lbs would cost $190 (20*5 +10*4 +10*3 +10*2), and every extra 1lb would add $1. No maximum.
In one option it is possible to have some rows specifying 'the band' and other specifying 'each'
There are several ways to specify UNITS with a product. Suppose we wish to pass the weight and it is 3.5
The sample table used integers but decimals may be included, and the COST/charge values may be positive or negative. The UNITS cannot be negative.
The following descriptions do not cover the calculator interface.
Put the value in the 'Shipping is free for orders over' box. Unlike standard shipping, this is specified separately for each option.
If the option gives free shipping for all orders (e.g. local pickup) then put 0.01 in the box.
The noship field is not available under Advanced shipping. You must choose 'based on the total sum of units'. Free shipping is achieved by making the units value 0 for those products.
If for other products the charge is to be based on the order value, specify their units values equal to their price. When you give free shipping products a units value of 0 they will not affect the shipping calculation.
If for other products the charge is to be based on the item quantity, specify 1 as their units value. When you give free shipping products a units value of 0 they will not affect the shipping calculation.
Check the fixed charge radio button and enter the amount in the box. Unlike standard shipping, this is specified separately for each table.
You may want this if some items are downloadable.
It means selecting the 'based on the total sum of units' radio button and giving each product a units
value of, say, 1
with 'free' products having a value of 0.
Use a one line table.
The first 1 is charged at y the band - where 'y' is your flat fee. |
If all of the products have free shipping the units total will be 0 so no charge.
Specify the threshold in the 'Shipping is free over' box.
It means selecting the 'based on the total sum of units' radio button and giving each product a units value of 1 with 'free' products having a value of 0. Use a two line table.
The first x is charged at y the band - where 'x' is the quantity threshold and 'y' is your flat fee |
The next 1 is charged at -y the band. |
If there are more than x items, the first row charges y and the second deducts y.
Select 'based on the total quantity'. One line table
The first 9999 units are charged x each. 'x' is your charge per item. |
As above but put your minimum in the 'min charge' box.
As above but put your maximum in the 'max charge' box.
Select based on total units. Same one line table. Set units values of 0 for free items, units=1 for the rest. This is equivalent to using item quantity and ignoring some items.
As 'fixed cost per item' and add the threshold to the 'free shipping over box'.
Select 'based on quantity'. If the cost per item is 2, waived for orders of over 20 items ..
The first 20 is charged at 2 each |
The next 1 is charged at -40 |
Select the radio button 'based on the total quantity of products in the order', unless some items have free shipping.
If the price changes with each extra item, define your table using 'each'. If it changes in steps, define the table using 'the band'.
Change to the 'based on total units' radio button. Give each product a units value of 1, except the free products which should have a value of 0.
Define your tables using 'the band'.
The first 4 is charged 2 the band |
The next 10 is charged 1.80 the band |
The next 10 is charged 1.60 the band |
etc. |
Shipping for 1, 2, 3, or 4, items is the same amount. 2. Then there is the first step. Up to 10 more cost another 1.80.
Put the minimum charge in the appropriate Boundary box.
If items ordered have free shipping, they must be omitted from the quantity. Select the 'based on total units' radio button. Set units to 0 for 'free shipping' products and to 1 for the rest.
Specify the maximum boundary field.
Insert value in free shipping over box.
Select 'based on total units'. Have a final line that subtracts an amount equal to the total of previous lines. The example has a threshold of 14.
The first 4 units are charged 2 the band |
The next 10 units are charged 1.80 the band |
The next 1 units are charged -3.80 the band |
Now we use 'each' instead of 'the band'.
The first 4 units are charged 0.5 each |
The next 10 units are charged 0.18 each |
The next 10 units are charged 0.16 each |
Now the charge changes continuously as the units total changes, instead of increasing in steps. The shipping charge for 1 unit would be 0.5; for 2 it's 1.
6 units would cost 4*0.5 + 2*0.18 = 2.36.
Put the minimum in the appropriate boundary box.
Here we must select 'based on the units total'. Free shipping products must have units set to 0, and the rest have units set to 1.
Select 'based on the quantity' and put the maximum in the appropriate bounary box.
Insert value in free shipping over box.
Select 'Based on quantity'. The final row should subtract the amount charged by previous rows, and the units in those rows should add up to the threshold. The example has free shipping for orders over 14 total items.
The first 4 units are charged 0.5 the band | |
The next 10 units are charged 0.18 the band | |
The next 1 units are charged -0.68 the band |
Select the 'Based on order value' radio button, unless some products have free shipping.
Set units for free products to 0 and base shipping on the total units passed to the cart. For all other products we set units to the actual price.
Specify 'the band' on each row. The shipping charge is the sum of the charges in the relevant lines.
The first 10 units are charged 6.85 the band |
The next 10 units are charged 1.50 the band |
Shipping for 1 to 10 units is the same amount. 6.85. Then there is the first step. Up to 10 more cost another 1.50.
Specify the minimum in the appropriate boundary box.
Specify the maximum in the appropriate boundary box.
Specify the threshold in the box provided.
Can't be done. Probably wouldn't want to!
Specify 'each' on each row. A simple 5% needs
The rest units are charged 0.05 each |
If the percentage varies with the amount, the table might be
The first 10 units are charged 0.7 each |
The next 10 units are charged 0.15 each |
The rest units are charged 0.09 each |
An order value of 6 would have a shipping cost of 4.20 (6*0.70). 15 will cost 7.75 (10*0.7+5*0.15). 50 will cost 11.20. There is no limit. Every additional 1 of order value adds 0.09 to shipping.
Enter the minimum in the appropriate boundary box.
Enter the minimum in the appropriate boundary box.
Enter the threshold in the box provided.
Check the total units radio button. When using weight, it is sometimes better to use pounds and decimals rather than to specify integral ounces. This is because we are limited to two decimal places in the COST column.
If some items have free shipping, their units value will be 0. Values for other items may be 1 (if using quantity), price (if using order value), or something else such as weight.
Specify 'the band' in each row. The shipping charge is the sum of the charges in the relevant lines.
The first 0.25 units are charged 3.85 the band |
The next 0.25 units are charged 1.00 the band |
The next 0.25 units are charged 0.50 the band |
The next 0.25 units are charged 0.50 the band |
This table expects a maximum order weight of one pound, or kilo, or whatever.
Specify the value in the box provided.
Specify the value in the box provided.
Enter the threshold in the box provided.
Specify 'each' on each row'.
The first 16 units are charged 0.25 each |
The next 80 units are charged 0.15 each |
The next 80 units are charged 0.10 each |
Perhaps the units are ounces. The first pound will cost 4 (16*0.25). Up to 5lbs more will cost 0.15 per ounce. 5lbs costs 13.60 (16*0.25 + 64*0.15).
Specify the value in the box provided.
Specify the value in the box provided.
Specify the value in the box provided.