How to Set Up Table Rate Shipping in Magento


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.