Advanced Shipping

This article does not address Standard shipping or the use of Calculators.

Shipping - Where? - What? - How? - Examples

Where and What Do I Define?

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.

The Tables

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:

  1. fixed charge per order
  2. based on a shipper's rates calculator
  3. based on the quantity of products in the order, the item count
  4. based on the value of the order
  5. based on the units values you (would have to) define for each product

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.

Shipping Tables

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 20cost 5the band
The next 10cost 4the band
The next 10cost 3the band
The next 10cost 2the band
The restcost 1the 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'

Units

There are several ways to specify UNITS with a product. Suppose we wish to pass the weight and it is 3.5

  1. If using a hyperlink include &units="3.5"
  2. On a single product form <input type="hidden" name="units" value="3.5" />
  3. On a multiple product form <input type="hidden" name="unitsN" value="3.5" /> where N is the product's numeric suffix.
  4. If using productpr (or productprN) the first three fields are description:price:units

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.

Index to Topics

  1. Free Shipping
    1. Free Shipping
    2. Free Shipping - for orders over a certain value
    3. Free Shipping - only for some products
  2. Flat Fee per Order
    1. Flat Fee per Order - but some items have free shipping
    2. Flat Fee per Order - free shipping for order values over a threshold
    3. Flat Fee per Order - free shipping for item quantity over a threshold
  3. Fixed cost (same) per item
    1. Fixed cost per item - minimum charge
    2. Fixed cost per item - maximum charge
    3. Fixed cost per item - except some free items
    4. Fixed cost per item - free shipping for order value over threshold
    5. Fixed cost per item - free shipping for item quantity over a threshold
  4. Charging by number of items
    1. Charging by number of items - some free items
    2. Charging by number of items- cost increases at thresholds
      1. Charging by number of items - minimum charge
      2. Charging by number of items - minimum charge but some items have free shipping
      3. Charging by number of items - maximum charge
      4. Charging by number of items - free shipping for order values over a threshold
      5. Charging by number of items - free shipping for item quantity over a threshold
    3. Charging by number of items - cost increases with each extra item
      1. Charging by number of items - minimum charge
      2. Charging by number of items - minimum charge but some items have free shipping
      3. Charging by number of items - maximum charge
      4. Charging by number of items - free shipping for order values over a threshold
      5. Charging by number of items - free shipping for item quantity over a threshold
  5. Charging by total order value
    1. Charging by total order value - some free items
    2. Charging by total order value - cost increases at thresholds
      1. Charging by total order value - minimum charge
      2. Charging by total order value - maximum charge
      3. Charging by total order value - free shipping for order value over threshold
      4. Charging by total order value - free shipping for order quantity over threshold
    3. Charging by total order value - cost increases with each extra item
      1. Charging by total order value - minimum charge
      2. Charging by total order value - maximum charge
      3. Charging by total order value - free shipping for order value over threshold
  6. Charging by total weight or other product value
    1. Charging by total weight or other product value - some free items
    2. Charging by total weight or other product value - cost increases at thresholds
      1. Charging by total weight or other product value - minimum charge
      2. Charging by total weight or other product value - maximum charge
      3. Charging by total weight or other product value - free shipping over order value threshold
    3. Charging by total weight or other product value - cost increases with each extra item
      1. Charging by total weight or other product value - minimum charge
      2. Charging by total weight or other product value - maximum charge
      3. Charging by total weight or other product value - free shipping over order value threshold

Shipping - How?

  1. Any Free Shipping
    1. Free Shipping - for orders over a certain value

      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.

    2. Free Shipping - only for specific products

      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.

  2. Flat Fee per Order

    Check the fixed charge radio button and enter the amount in the box. Unlike standard shipping, this is specified separately for each table.

    1. Flat Fee per Order - but some items have free shipping

      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.

    2. Flat Fee per Order - free shipping for order values over a threshold

      Specify the threshold in the 'Shipping is free over' box.


    3. Flat Fee per Order - free shipping for item quantity over threshold

      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.


  3. Fixed cost (same) per item

    Select 'based on the total quantity'. One line table

    The first 9999 units are charged x each. 'x' is your charge per item.

    1. Fixed cost per item - minimum charge

      As above but put your minimum in the 'min charge' box.


    2. Fixed cost per item - maximum charge

      As above but put your maximum in the 'max charge' box.


    3. Fixed cost per item - except some free items

      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.

    4. Fixed cost per item - free shipping over amount

      As 'fixed cost per item' and add the threshold to the 'free shipping over box'.

    5. Fixed cost per Item - free shipping for item quantity over threshold

      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

  4. Charging by number of items

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

    1. Charging by number of items - some free items

      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.

    2. Charging by number of items - cost increases at thresholds

      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.

      1. Charging by number of items - minimum charge

        Put the minimum charge in the appropriate Boundary box.

      2. Charging by number of items - minimum charge but some items have free shipping

        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.

      3. Charging by number of items - maximum charge

        Specify the maximum boundary field.

      4. Charging by number of items - free shipping over order value threshold

        Insert value in free shipping over box.

      5. Charging by number of items - free shipping over quantity threshold

        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
    3. Charging by number of items - cost increases with each extra item

      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.

      1. Charging by number of items - minimum charge

        Put the minimum in the appropriate boundary box.

      2. Charging by number of items - minimum charge but some items have free shipping

        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.

      3. Charging by number of items - maximum charge

        Select 'based on the quantity' and put the maximum in the appropriate bounary box.

      4. Charging by number of items - free shipping over order value threshold

        Insert value in free shipping over box.

      5. Charging by number of items - free shipping over quantity threshold

        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
  5. Charging by total order value

    Select the 'Based on order value' radio button, unless some products have free shipping.

    1. Charging by total order value - some free items

      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.

    2. Charging by total order value - cost increases at thresholds

      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.

      1. Charging by total order value - minimum charge

        Specify the minimum in the appropriate boundary box.

      2. Charging by total order value - maximum charge

        Specify the maximum in the appropriate boundary box.

      3. Charging by total order value - free shipping over order value threshold

        Specify the threshold in the box provided.

      4. Charging by total order value - free shipping over order quantity threshold

        Can't be done. Probably wouldn't want to!

    3. Charging by total order value - cost increases with each extra item

      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.

      1. Charging by total order value - minimum charge

        Enter the minimum in the appropriate boundary box.

      2. Charging by total order value - maximum charge

        Enter the minimum in the appropriate boundary box.

      3. Charging by total order value - free shipping over order value threshold

        Enter the threshold in the box provided.

  6. Charging by total weight or other product value

    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.

    1. Charging by total weight or other product value - some free items

      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.

    2. Charging by total weight or other product value - cost increases at thresholds

      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.

      1. Charging by total weight or other product value - minimum charge

        Specify the value in the box provided.

      2. Charging by total weight or other product value - maximum charge

        Specify the value in the box provided.

      3. Charging by total weight or other product value - free shipping above order value threshold

        Enter the threshold in the box provided.

    3. Charging by total weight or other product value - cost increases with each extra item

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

      1. Charging by total weight or other product value - minimum charge

        Specify the value in the box provided.

      2. Charging by total weight or other product value - maximum charge

        Specify the value in the box provided.

      3. Charging by total weight or other product value - free shipping above order value threshold

        Specify the value in the box provided.