8 min read

(For more resources related to this topic, see here.)

Getting ready

To view and edit our shipping methods we must first navigate to System | Configuration | Shipping Methods. Remember, our Current Configuration Scope field is important as shipping methods can be set on a per website scope basis.

There are many shipping methods available by default, but the main generic methods are Flat Rate, Table Rates, and Free Shipping.

By default, Magento comes with the Flat Rate method enabled. We are going to start off by disabling this shipping method.

Be careful when disabling shipping methods; if we leave our Magento installation without any active shipping methods then no orders can be placed—the customer would be presented with this error in the checkout:

Sorry, no quotes are available for this order at this time.

Likewise through the administration panel manual orders will also receive the error.

How to do it…

  1. To disable our Flat Rate method we need to navigate to its configuration options in System | Configuration | Shipping Methods | Flat Rate and choose Enabled as No, and click on Save. The following screenshot highlights our current configuration scope and disabled Flat Rate method:

  2. Next we need to configure our Table Rates method, so we need to now click on the Table Rates tab and set Enabled to Yes , within Title enter National Delivery and within Method Name enter Shipping.

  3. Finally, for the Condition option select Weight vs. Destination (all the other information can be left as default as it will not affect our pricing for this scenario).

  4. To upload our spreadsheet for our new Table Rates method we need to first change our scope (shipping rates imported via a .csv file are always entered at a website view level). To do this we need to select Main Website (this wording can differ depending on System | Manage Stores Settings) from our Current Configuration Scope field. The following screenshot shows the change in input fields when our configuration scope has changed:

  5. Click on the Export CSV button and we should start downloading a blank .csv file (or if there are rates already, it will give us our active rates).

  6. Next we will populate our spreadsheet with the following information (shown in the screenshot) so that we can ship to anywhere in the USA:

  7. After finishing our spreadsheet we can now import it, so (with our Current Configuration Scope field set to our Website view) click on the Choose File/Browse button and upload it. Once the browser has uploaded the file we can click on Save.

  8. Next we are going to configure our Free Shipping method to run alongside our Table Rates method, so to start with we need to switch back to our Default Config scope and then click on the Free Shipping tab

  9. Within this tab we will set Enabled to Yes and Minimum Order Amount to 50. We can leave the other options as default.

How it works…

The following is a brief explanation of each of our main shipping methods.

Flat Rate

The Flat Rate method allows us to specify a fixed shipping charge to be applied either per item or per order.

The Flat Rate method also allows us to specify a handling fee—a percentage or fixed amount surcharge of the flat rate fee.

With this method we can also specify which countries we wish to make this shipping method applicable for (dependent solely on the customers’ shipping address details).

Unlike the Table Rates method, you cannot specify multiple flat rates for any given region of a country nor can you specify flat rates individually per country.

Table Rates

The Table Rates method uses a spreadsheet of data to increase the flexibility of our shipping charges by allowing us to apply different prices to our orders depending on the criteria we specify in the spreadsheet.

Along with the liberty to specify which countries this method is applicable for and giving us the option to apply a handling fee, the Table Rates method also allows us to choose from a variety of shopping cart conditions.

The choice that we select from these conditions affects the data that we can import via the spreadsheet. Inside this spreadsheet we can specify hundreds of rows of countries along with their specific states or Zip/Postal Codes. Each row has a condition such as weight (and above) and also a specific price.

If a shopping cart matches the criteria entered on any of the rows, the shipping price will be taken from that row and set to the cart.

In our example we have used Weight vs. Destination; there are two other alternative conditions which come with a default Magento installation that could be used to calculate the shipping:

  • Price vs. Destination: This Table Rates condition takes into account the Order Subtotal (and above) amount in whichever currency is currently set for the store

  • # of Items vs. Destination: This Table Rates condition calculates the shipping cost based on the # of Items (and above) within the customer’s basket

Free Shipping

The Free Shipping method is one of the simplest and most commonly used of all the methods that come with a default Magento installation.

One of the best ways to increase the conversion rate through your Magento store is to offer your customers Free Shipping. Magento allows you to do this by using its Free Shipping method.

Selecting the countries that this method is applicable for and inputting a minimum order amount as the criteria will enable this method in the checkout for any matching shopping cart. Unfortunately, you cannot specify regions of a country within this method (although you can still offer a free shipping solution through table rates and promotional rules).

Our configuration

As mentioned previously, the Table Rates method provides us with three types of conditions. In our example we created a table rate spreadsheet that relies on the weight information of our products to work out the shipping price.

Magento’s default Free Shipping method is one of the most popular and useful shipping methods and its most important configuration option is Minimum Order Amount. Setting this value to 50 will tell Magento that any shopping cart with a subtotal greater than $50 should provide the Free Shipping method for the customer to use; we can see this demonstrated in the following screenshot:

The enabled option is a standard feature among nearly all shipping method extensions. Whenever we wish to enable or disable a shipping method, all we need to do is set it to Yes for enabled and No to disable it.

Once we have configured our Table Rates extension, Magento will use the values inputted by our customer and try to match them against our imported data. In our case if a customer has ordered a product weighing 2.5 kg and they live anywhere in the USA, they will be presented with our $6.99 price. However, a drawback of our example is if they live outside of the USA, our shipping method will not be available.

The .csv file for our Weight vs. Destination spreadsheet is slightly different to the spreadsheet used for the other Table Rates conditions. It is therefore important to make sure that if we change our condition, we export a fresh spreadsheet with the correct column information.

One very important point to note when editing our shipping spreadsheets is the format of the file—programs such as Microsoft Excel sometimes save in an incompatible format.

It is recommended to use the free, downloadable Open Office suite to edit any of Magento’s spreadsheets as they save the file in a compatible format.

We can download Open Office here: www.openoffice.org

If there is no alternative but to use Microsoft Excel then we must ensure we save as CSV for Windows or alternatively CSV (Comma Delimited).

A few key points when editing the Table Rates spreadsheet:

  • The * (Asterisk) is a wildcard—similar to saying ANY

  • Weight (and above) is really a FROM weight and will set the price UNTIL the next row value that is higher than itself (for the matching Country, Region/State, and Zip/ Postal Code)—the downside of this is that you cannot set a maximum weight limit

  • The Country column takes three-letter codes—ISO 3166-1 alpha-3 codes

  • The Zip/Postal Code column takes either a full USA ZIP code or a full postal code

  • The Region/State column takes all two-letter state codes from the USA or any other codes that are available in the drop-down select menus for regions on the checkout pages of Magento

One final note is that we can run as many shipping methods as we like at the same time—just like we did with our Free Shipping method and our Table Rates method.

There’s more…

For more information on setting up the many shipping methods that are available within Magento please see the following link:


We can also enable and disable shipping methods on a per website view basis, so for example we could disable a shipping method for our French store.

Disabling Free Shipping for French website

If we wanted to disable our Free Shipping method for just our French store, we could change our Current Configuration Scope field to our French website view and then perform the following steps:

  1. Navigate to System | Configuration | Shipping Methods and click on the Free Shipping tab.

  2. Uncheck Use Default next to the Enabled option and set Enabled to No, and then click on Save Config.

We can see that Magento normally defaults all of our settings to the Default Config scope; by unchecking the Use Default checkbox we can edit our method for our chosen store view.


This article explored the differences between the Flat Rate, Table Rates, and Free Shipping methods, as well as taught us how to disable a shipping method and configure your Table Rates.

Resources for Article :

Further resources on this subject:

Subscribe to the weekly Packt Hub newsletter

* indicates required


Please enter your comment!
Please enter your name here