How to get different shipping rates on your OpenCart shop.

If you ship your products globally you may find you need to provide different prices for different countries. A common set up in the UK is; a flat rate shipping fee to when shipping to addresses in the UK and then a higher rate for Europe and then an even higher price for the rest of the world – international shipping.

There isn’t a quick way of doing this on OpenCart but it can be done.

Firstly log in to the admin area of your site, go to System (found on the dashboard) > Localisation > Geo Zones. Then insert the name of the one you want, for example Europe and then hit save.

Then we need to go back to the dashboard. From here go to Extensions > Shipping. Install and Edit the bottom option which is Weight-Based Shipping. 

In the column down the left hand side, select the Europe shipping (– or whatever you just previously inserted in Zones). In the Rates box put in a very heavy weight (high number) against the price of European shipping for example 1000000:2.50 (2.50 indicating the £2.50 you want to charge for shipping). Then enable it and click save.

Next, go to Systems > Localisation > Geo Zones. Edit European shipping and then you have to manually input all the European countries that you ship to. Then, make sure you save it.

Now when someone buys one of your products, OpenCart will automatically calculate the right price for shipping to that country that they want the product shipped to.

If you know of an easier way to add multiple countries please let us know by leaving a comment below.

Want to share? Tweet it!


  • use this extension:
  • We are following direct despatch method - This means, suppliers are suppose to despatch the products directly to the retail customer.

    Suppliers are in different Geozones and Customers are in different geozones

    I am looking for a solution:
    If the customer and supplier are in the same shipping zone / Geo zone, then no courier charges are levied. But if they are from different shipping / geo zones then appropriate courier charges to be levied

    Is it possible to have a solution to this issue

  • Hi, I don't know anything that specifically would do that within OpenCart by default, but one of these extensions might help?

    I think products have a "location" field? So you need something to check the location field (location of supplier) and compare it to the shipping address at the point of checkout.
  • Hi,

    This module ( allows users to set shipping cost for each product according to their product quantity. You can create as many product based rate as you need. Admin can enter shipping cost for each product in administrative panel. You can set the shipping price according to the product quantity. It will display shipping price for each different product.

    It's a one-step shipping price entry on the product creation form in admin panel. Change in one field and you are all set for shipping on quantity wise per product.

    You can control your settings for each zone values.
    Other modules from the same auther:

    Best Regards
    Tahsin Hasan
  • Hi

    I was Facing This issue for a long time and the Modules that i found were no good... thanks for this insight article that resolved my Problem with the inbuilt features of the Opencart.