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.

    • Ashish @Magento Themes

      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

  • 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?

  • Carloscar Tovar de León

    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)

Because We Like You
Free Ebooks!

Grab SitePoint's top 10 web dev and design ebooks, completely free!

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