By Khurram Aziz

How to Set Up Table Rate Shipping in Magento

By Khurram Aziz

If you’re running an online business that sells physical products to customers, having a flexible and scalable shipping policy is essential. So it’s important to make sure your eCommerce software provides an easy way to adjust and implement shipping policies over the different regions you intend to sell to.

Magento, the industry-leading platform for eCommerce, is one of the more expandable and developer-friendly systems for a whole range of business needs–including setting shipment rates.

In this tutorial, we’re going to look at how to set up table rate shipping in Magento, giving you the ability to charge different shipping rates to individual customers based on their location–from the regional all the way down to the postcode level.

Three ways to price shipping

One thing to note, before we start, is that there are three main ways of setting up table rates–price vs. destination, weight vs. destination and number of items vs. destination.

Essentially what this means is that you can set cheaper shipping to certain destinations if the cost of the item is high, or if the weight and number of items is low.

Configuring table rate shipping

You set table rate shipping inside the System menu accessed via Magento’s backend.

While logged in as admin, navigate to System > Configuration and then, in the left menu under Sales, select Shipping Methods.


That should bring up the table rates menu in the window to the right.


The first thing to do is to enable table rates by selecting Yes in the drop-down menu for the Enabled option. This will turn off flat rate shipping and allow you to specify different rates based on your chosen criteria.

The next two options, Title and Method Name, allow you to create different table rate shipping policies that you can then select from. For this tutorial, we’ll leave the names as Standard Shipping and Standard.

The next option determines how you want to calculate the shipping. In our example, we’ll be using price vs. destination, so go ahead and select this in the drop-down options.


Setting your table rates

Now it’s time to start setting the table rates themselves. Save the current configuration and then, in the top left Current Configuration Scope menu, select Main Website.


This will apply the current shipping policy to your main website.

The table rates menu to the right will now look something like this:


In particular, you’ll notice a new Export CSV and Import option. Magento requires a CSV file, so you’ll need to manually create the shipping rates you want in a spreadsheet, then import them into your website.

You’ll create the CSV from a template file. To download the template, click Export CSV. Here’s what the file looks like:


The first column in the file selects the country where the specific shipping rate will apply. The second column allows you to set the region within that country for the rate and the third column selects specific postcodes. For this example, we’ll leave these two columns with an * value, which means we’ll charge everyone in the U.K. the same shipping rate.

The Order Subtotal (and above) and Shipping Price columns are where you determine the price for each shipping rate. These values will represent whatever currency you’ve set up for your webstore. In the above example the values represent the price in pounds sterling.

The price, or Order Subtotal (and above) column, essentially means that any customer spending £0 or above will be charged the corresponding shipping rate. In this case, the base shipping is £60, as shown in the last column. Conversely, any customer spending £50 or above, will be charged £50 for shipping, and so on.

You will manually set all these shipping rates depending on your own policy. Once this is completed, save the file and then import it back into Magento in the table rates section.

Your shipping rates are now set and will appear on the front-end as the customer goes through checkout.

  • Luke Bonaccorsi

    Magento is one of the worst e-commerce systems ever. I have no idea how it’s so popular. Please don’t suggest it to others.

    • Which other eCommerce platform which is as stable and popular as Magento you suggest?

      • mroncetwice


        • Martin Geldart

          WooCommerce is for WordPress.

    • VertexWolf

      Wow, you have absolutely no idea what you’re talking about.

    • Ben Line

      Magento is great. You clearly have no idea what It can do.

      Magento is number 1!!

    • Alfonso Romero

      Nothing personal, but probably you dont know what are you talking about.
      If you have a store with several hundred products, yes, it’s fine. But if you want to make something but more complex, there is no way woth woocomerce, and believe me, I know what I am talking.

    • Robin Neal

      Magento can certainly do a lot, but it’s still a bitch and a half to work with, usually containing tons of features you won’t even touch. Most of the time, I think I’d rather just go bespoke development to add those features myself when they’re actually needed. Working in Magento has certainly been one of the lowest points of my career.

    • Pierre


    • Gabriel Haase

      really misinformed people can say that !! go study before bullshitting about what you do not know or are afraid to know

    • In my opinion, Magento has a steep learning curve and is developer-centric. I can see why some would consider Magento bloated while others (coming from a system like demandware) may see Magento as lacking.

      However, Magento is extremely powerful and extendable and has a massive community. It really shines in it’s extension and layout systems as well as it’s fallback methods. It is also designed to handle a high volume of products and sales. For all of it’s shortcomings there are solutions in the form of extensions.

      However, if you are not a developer yourself, I would recommend hiring an in-house Magento developer or having one you can contract work out to. In addition, if you do not have thousands of products and high-volume traffic/sales, maybe WooCommerce is more suitable. If you cannot afford to hire a developer yet, maybe Shopify is a better solution. It’s all about knowing your tools and their particular advantages.

      Don’t shit on a product and by extension it’s community just because you don’t/can’t/refuse to understand it’s worth.

      • Luke Bonaccorsi

        Thanks for replying to my 3 year old comment and implying I know nothing and explaining how I must be an idiot.

        I said what I said because at the time it was right. When I last used Magento it was a steaming pile of shit because the developers didn’t care about the user experience (it was slow as fuck) and didn’t care about the developer experience (it made no fucking sense).

        I’ve not used it since I quit the job I had to use and maintain it at. It may well have changed. I don’t care.

        • I’m going on 5 years using Magento and the developer experience has not changed much (not considering Magento 2). So your comment being 3 years old really doesn’t matter in that sense.

          I replied to your comment not for you, but for others that may be influenced by your opinions. I just wanted to highlight Magento’s benefits for those who might not be aware.

          The only negative comment I made was in my last sentence, everything else was neutral information. However, your defensive position makes it clear that you could not be convinced of the merits of the system. You must have tense conversations like this often.

          On a side note, it is slow but that’s what full page caching systems are for.

  • liv2camp

    I can’t find a tutorial for weight vs destination for Magento could you please do one for that

  • mroncetwice

    here’s an outdated-but-still-useful web app for setting up a nice base CSV:

  • Khalid

    Asslam Alaykum,
    Mr.Khurram, can you please let me know where can i find table rate file location, i mean i have uploaded shipping table rates from magento admin but when i try access that file from ftp i didn’t get.

    Please help to find out the file location


  • Cheska Holden

    hi, thanks for this – really useful! However, is there a way to condition # of items vs. weight?

  • Cheska Holden

    eg. I’d like to set shipping rules based on the weight of items in the checkout, and deduct a % if 2 or more items are in the cart.

  • Abhimanyu Mohan

    If the table rates are enabled ? then should I disable the free shipping feature in magento ?

  • Matheus Sundays

    I tried to upload import it back into Magento, but all the time show me this erro:

    Please correct Table Rates File Format.

    How can i fix this?

    • Ben Line


      Have you got the file saved as a .CSV ?.

  • nidostyle

    What about when you need to set prices based on within city and prices for some major cities and all other cities?????????????? ( I am talking all cities withing same country)

  • Phil

    Is there a file size limit for uploading a Magento shipping table?

  • Hello, thank you for this useful tutorial. I was wondering if is possible to use simple formulas in the csv file. For example, if I want the shipping cost to be the same as the product price, how can I put it in the table?

  • Ranjit Nadar

    can you help me calculate table rate * per item (eg: if shipping rate $10 quantity 10 total shipping charege need to be 10$ * 10 = $100)

  • Parth Jani

    East or West MAGENTO is the BEST

  • Leeza Zola

    How to set up free standard shipping and charge the customer for priority or overnight shipping? The .cvs file you are talking about does not give me this option. Please advise. I am new to Magento.

Get the latest in Front-end, once a week, for free.