How To Use The OpenCart Weight Based Shipping Module

How To Use The OpenCart Weight Based Shipping Module

In this blog we will be looking at how to set up and work with the weight based shipping module. This module is very useful for companies which have to use private couriers and the weight of the products has a dramatic effect on the final shipping cost. It’s not too tricky to set up and to use so simply follow the following steps.

Getting Your New Weight Based Shipping Ranges

If you haven’t already, sit down and work out what you want the price of shipping to be for your products and at what level does it stop. I will draw up an example list below to use in this blog:

  • Up to 5kg – £10.00
  • 5kg to 15kg – £18.00
  • 15kg to 30kg – £30.00
  • More than 30kg – £45.00

Pretty simple list there and you will probably have your own in mind anyway so now we need to login to the admin area of the OpenCart dashboard and then hover over the “Extensions” tab and then click on the “Shipping” link that drops down.

The OpenCart Weight Based Shipping option will be towards the bottom, if you haven’t already, click the install link on the right hand side to start setting up the weight price ranges (if you already installed it then just click on the “Edit” link on the right hand side).

Setting The Weight Based Shipping Module Options

You will be taken to the options page where you set all the options, the first tab is self-explanatory; just choose the Tax Class, whether it is enabled or not and the Sort Order to choose how far down the options list the Weight Based Shipping shows. Clicking on the left hand tabs running down the side of the box will take you to the options where you set the actual weights and prices.

On the next options box you will see a text area with the title “Rates“. All you need to do is put your prices in the right format and paste them in there. You will need to show your weight ranges as follows:

(Minimum Weight To Trigger Price Change):(New Weight Price),

so, for the prices I have set above I would set the rates as follows:

5:10.00, 15:18.00, 30:30.00, 99999999:45.00

Easy right? You’re probably wondering why I have put in the ridiculously high weight value on the last price. This is because OpenCart does not allow an “anything above this weight” option so we put in a 99999 weight value in order to make sure that they pay the final price bracket if their shopping cart is heavy enough.

Easy peasy right? I will be adding to this blog post with updates on advanced options and editing the core system but right now I’m making sure that it works properly so keep an eye open! As always, feel free to leave me a comment or email me!

Posted By

Categories: OpenCart

About Author


The founder of Cart Advisor, is an eCommerce developer specialising in OpenCart development and content SEO. Based in Lincoln, UK, Jack has worked with hundreds of businesses and runs his own company Destrove which offers OpenCart Development, OpenCart Theme Design and more.


  1. Pascal
    Pascal 10 December, 2012, 16:43

    Hi Jack, thanks for this clear cut example.

    I’ve got one question:
    I’ve found a cheap carrier for transportation for heavy pieces, but one thing is, that it doesn’t accept anything less than 10kg. So below this weight, I need to use another carrier.

    Is it possible to put a ‘minimum weight amount’ in the weight list that helps decide if this carrier can be chosen or not? Something like 10:x,20:25,50:75 etc. or so??

    Thanks for your help!

    Reply this comment
    • Jack W. Davis
      Jack W. Davis Author 13 February, 2013, 11:20

      Hi Pascal,

      I’ll have a look into this and let you know. Do you know the price of another courier which will accept things under 10kg and you could put it in. Say you wanted to use Royal Mail for anything under 10kg, the max price would be £6 (for example) so you could just use that for anything less than 10kg?



  2. Cathy
    Cathy 15 June, 2013, 00:22

    Hi Jack,

    Similar to Pascal question, I would like to set a minimum weight for my shipping.
    I shall explain
    I used to have 2 categories for shipping based on volume, I just set up different weights to each and the client would either get free shipping or pay for it.
    However with recent price changes by Royal Mail I wan’t it to be fairer. I would like items above a certain value to be posted by recorded first class, and items below that value just to be sent as 1st class.

    So at the moment I have 3 categories for shipping which are based on volume, what I did was give a certain weight to each category (so far no problems)
    I can get it to show the right prices for the right categories but I would like it not to show the more expensive options at the same time.

    This is if you order item #1 (which falls into category 2 and I don’t need it to be sent by recorded post) the shipping methods available show all 5options (2nd class;2nd class recorded;1st class;1st class recorded and next day delivery)

    I would like it just to show 2nd class, 1st class and next day delivery. To do that I would need to get the recorded mail to only show above a certain weight.
    so instead of just having “10000:4” I would need “200 to 10000:4” can it be done?


    Reply this comment
    • Jack W. Davis
      Jack W. Davis Author 27 June, 2013, 15:51

      Hi Cathy, I will send you an email. I can certainly help out with that.


    • Aztk
      Aztk 17 November, 2013, 17:03


      For some reason the weight base shipping in OC version 1.5.6 calculates the shipping rate as a percent of the item’s price!

      For example in one geozone I have put 1:1.00.
      If the item is 1kg and the item’s price is 100, the shipping calculated would be 10. (instead of 1)
      If the VAT falling menu in the shipping module is chosen it would add VAT to the shipping also.

      It seems as broken module tome.
      Could you please advise if you’ve observed such behavior and maybe a way to deal with it?


    • JackWillDavis
      JackWillDavis Author 17 November, 2013, 21:10


      I’ve not seen OpenCart display that behaviour before, I’ll have a look at a test site and see if I can replicate it.



  3. Aztk
    Aztk 19 November, 2013, 08:32

    Actually something strange happened:

    I have only one currency and it was of course default and with value 1.0000.
    However, when I checked it, I found the value was now 1.45.
    It is absolutely sure I have not changed the value.
    the whole thing is a mystery…
    Anyway, it works now OK, so thanks once again!

    Reply this comment
  4. Anne
    Anne 27 November, 2013, 06:10

    Hi Jack,

    Is there a way to set up a cost bracket for shipping fees? Say for example, a shipment of 5kg below has a set standard price (so your given formula of 5:10.00, 15:18.00, 30:30.00, here works), but those above 5kg will automatically be charged $1/kg on top of the standard price.

    Would appreciate your response.


    Reply this comment
    • Jack
      Jack Author 15 January, 2014, 11:04

      Hi Anne,

      You would need to modify/create a shipping module to get the effect you want there. If you would like a quote, send me a message and we can look into it.



  5. Cassie
    Cassie 21 January, 2014, 21:03

    Hello Jack –

    I would love to see the answer to Cathy’s inquiry. We have a similar issue. Most of the time, the products we sell are 5kg and less. Occasionally we sell 100kg and over. At this point we would like an additional Weight Based Shipping option to show up – Freight. I have Freight set up as an option, but since I can not set a minimum weight requirement, it will show up as an option for a product weighing 25grams – which is a bit silly. If you could help us, it would be greatly appreciated.

    Reply this comment

Write a Comment

Your e-mail address will not be published.
Required fields are marked*