Zone Shipping by Weight, 1 price, multi zones + default zone

By | August 19, 2008

Shipping is sometimes very complicated to get correct.  There’s a number of ways that an osCommerce store can be set up to deal with giving shipping quotes, off the top of my head;  per item, flat rate, zones, table based and lots more dealing with specific mail carriers. Sometimes, even though there are lots of shipping modules, none of them are quite right for the specific need.

One of my clients wanted the ability to set up a number of Zones [OK, let’s use the standard Zones module], then he decided he wanted to set up only a few zones, each containing a handful of countries, and then have the other countries (ones that are not in any zone) default to an “all other” zone automatically.  [OK, let’s use the Zones World contribution].

Then he decided that he wanted to ship by weight.  Where each unit of weight would simply be charged at $x.  And that the calculation should be open ended – so if they ordered 1000 units, the shipping charge would be 1000 * $x [OK, that’s going to be problematic].

The Zones World contribution is close, but this uses a table of weight to price ratios – this table is limited to 255 characters (which could be easily changed).  Rather than use this, I gave the idea that we should look at coding up a new solution specifically for his needs.

The solution

What we ended up with was a hybrid of “flat rate”, “zones” and “zones world”.  Basically the shop owner selects a number of zones and adds countries to each zone as usual.  He also inserts 1 price “$x” per zone, and can input a handling fee to be added.  The price is then multiplied by the weight of the order, and the handling fee is added.

An example

GB shipping costs 0.20 per kg, with a 4.95 handling fee.  US shipping costs 0.50 per kg, with a 10.95 handling fee.  These are inserted in the module set-up.

The weight of the order totals 37kgs including tare. So, we can calculate shipping fees as so;

GB: ( 0.20 * 37) + 4.95 == $12.35
US: (0.50* 37) + 10.95 == $29.45

However, the beauty of this module is that it is so easy to set up (no messing with weight/price ratios) that any order can be dealt with properly.  If the order was some thing outrageously high, like 2,300 products weighing 4132 kgs, US shipping would be (0.50 * 4132) + 10.95 == $2076.95.  I believe that this could not be done adequately with any other shipping method!

The upshot

The new shipping module is being tested thoroughly over the next month or so, and if it works as it’s intended, I’ll try to package it up and get it available.

19 thoughts on “Zone Shipping by Weight, 1 price, multi zones + default zone

  1. Scott

    This sounds exactly like the solution that I am looking for. I have lost sales because I couldn’t offer a shipping rate for international orders due to the lack of a per weight shipping module.

    What I am looking for is a way to offer U.S. residents free shipping and charge per pound internationally so that I can keep the sales.

  2. Gary Post author

    Scott – this particular clients needs evolved into something very weird. If you would like to sponsor a recode into something that’s more usable, please email me. My email ay is up there ^

  3. Steve

    Here’s the problem:
    Imagine your shipping costs are based on weight, using the shipping cost module whereby you add a few zones. Let’s say yo have 4 zones and each zone has a differnt shipping cost per scales of weight.

    Now you have a product in your webshop that weighs let’s say 100 grams. This product comes in red blue and green color. Obviously the customer can choose the quantity in the drop down menu (let’s say he can choose up to 10)

    Ok the customer chooses 2 x this product in the color red. This should then be 2 x 100 grams = 200 grams.
    Then he orders 5 more in Green, so this is 5 x 100 grams.
    Now the total of everything is obviously 700 grams.
    BUT: during check out the total weight will automatically be calculated as 100 grams


  4. Gary Post author

    Steve – assuming you have your red/green/blue set up as attributes of the product – these attributes have no weight, hence the charge is 1 lot of shipping per attribute.

    You need to add a contribution which adds weight on a per attribute basis. There is one available as I recall using it years ago on a website which sells unframed and framed pictures – obviously a frame adds a lot of weight and must be charged for.

  5. Steve

    Actually the problem is as follows;
    the product has a fixed weight (20 grams) – thus you add that figure in catalog in the weight box
    the attribute you add for this product is QUANTITY
    customer chooses QUANTITY 10 for the pulldown menu
    during check out the shipping cost will not be calculated according to 10 x 20 grams = 200 grams
    shipping cost will be calculated on the basis of 20 grams
    That is the problem… and as far as I can tell that is a bug in the zones module whereby it clearly states that shipping cost is calculate don the basis of weight. But if it does not calculate your 10 x this product=200 grams then the module is wrong and therefore useless. Even if you don’t add teh Quantity attribute to it and a customer therefore needs to click back to the catalog 10 times to order this product in quantity, i twill still show up during check out as 20 shipping weight calculated on the basis of 20 grams…

  6. Gary Post author

    Oh well, perhaps you will need to pay some money to get the solution you need.

  7. Colin

    Hi Gary,

    Is this module completed and available now?

    Many thanks,

  8. Gary Post author

    Hi Colin – the module evolved into something of a beast that the client wanted to more closely match what he was trying to charge. So it’s no good for public use as it stands.

    I can easily cut up the code and create a usable contribution, but I really need someone to sponsor my time to do it.

    Note that the problem Steve talks about in his posts is nothing to do with my original post (as only my customer has that code).

  9. Dexter


    Im having a similar problem..whats the cost of getting this solution.

    best regards

  10. Gary Post author

    Dexter – it’s not a lot of work to rip out the codebase and start it over. You are looking at $50 or so to sponsor the development and release.

  11. Len Chieffo

    Frustrated and need help…….. We are in the process of having our website completed, however we are finding our shipping options to be complicated, we will be using the drop ship method done by our suppliers. What would be our best shipping solution. I thank you for any help on this issue.

    Thank You.

    Len Chieffo

  12. Gary Post author

    Len – shipping modules are straightforward, so long as you have the theory worked out of what you want to achieve. Suggest to sit down and work out how you want to charge postage, then see if there ir a pre made solution. If not, get someone to code it for you…

  13. Len Chieffo

    Thank you for your quick response, here is our situation, We hired a professional web design company to do every thing for us, they installed oscommerce, and you would think that from our specifications they would know just what to do, well that does not seem to be the case, it is turning into a three ring circus and to make it worse they have been paid in full. I am the customer and I the one sourcing the info. Our format is an online store and we are using more than one drop shipper to forward our products to our customers, my dilema is what type of shipping process we should use since we are not actually doing the shipping.

    Thank You

  14. Gary Post author

    Most web design companies have no clue how osCommerce works “under the hood”. For next time, make sure to get an osCommerce expert on board first to give you advice on design.

    For your shipping, you just need to pass along to the customer the cost that you are charged by the drop shipper.

    So, you need to ascertain the cost for the order to the customers destination – the dropshipper is who you need to speak to. Or you can guesstimate the shipping cost. Some orders you lose a bit, some orders you’ll gain a bit.

  15. Rick Harden

    Order 30 basketballs, can only put 24 in one box have to put 6 in another, how does that effect shipping. Is there a way with osCommerce to ship by weight as an option? So that the company can simply ship by the weight of each basketball like so:

    30 x basketball @ 15.6 oz each = Total basketball weight is 29.52 Lbs.
    $cost per lb. x 29.52 = $total shipping cost

    Is there an option like this available with osCommerce?

    Thank you for any help you can give me…

  16. Gary Post author

    Rick – shipping by weight is standard in osCommerce.

  17. Dave Harris

    This is probably not quite the right place for this but…

    For good or bad, I took the advice on the osC website at face value – the bit that says that V3,0A5 is what you should use for new installations. I’ve spent some months customising it and really, really don’t want to have to go back to V2 at this point. However, I’ve got the shipping module blues so: have you had any experience with V3 shipping modules? I specifically need UK shipping. Now there’s a pair of V2 modules for this and I’m staring the task of converting them in the face. If it comes down to that, so be it. Anyway, any comments/advice/module templates? :))

  18. Gary Post author

    Dave – hi. Where does it say to use 3a5 ? If that’s the case then it needs changing.

    No developer is actively working on v3 modules as far as I know, as it is well known that it is Alpha so a lot of things are likely to change before release.

    It should not be too hard to take a 2.x module and port it to 3. Just a case of looking at the existing 3 modules for guidance.

    If you want a developer on it, expect to pay a relatively high amount.

Leave a Reply

Your email address will not be published.