Adding international shipping to Magento requires some preparation, but by opening your online business to a much larger audience, the potential rewards are obvious.
#1 Choose a courier and find out their shipping costs
Here’s an example of a shipping tariff chart, that you’ll need to work out your costs. Your international shipping courier will also have restrictions, such as countries that take longer to ship to, or that it doesn’t ship to at all.
Shipping costs per zone
Your rate may also be tailored to your company, based on prospective sales, as some payment gateways do.
Shipping zones
They’ll also provide you with a list of the countries within these zones, shipping times and where they don’t ship to.
#2 Use a Magento Table Rates Generator
Elgentos.nl’s Magento Table Rates Generator is a useful tool to create the foundations of your tablerates.csv file that can be imported into your Magento store. By selecting and downloading your selected country codes, it will add the ISO 3166-1 alpha-3, three letter country codes and other columns needed for Magento shipping matrix table.
#3 Create a shipping template file
I then saved the file as an Excel spreadsheet (.xlsx) so I could add additional columns to help create the full tablerates.csv file.
Columns such as country name and zone aren’t needed for the final Magento tablerates.csv import file, but using them as part of a spreadsheet template makes future changes easier.
A-B of my shipping template file
Country name in full | Country | Region/State | City | Zip/Postal Code From | Zip/Postal Code To | Order Subtotal From | Order Subtotal To | Shipping Price | Delivery Type | Zone |
---|---|---|---|---|---|---|---|---|---|---|
Albania | ALB | * | 0 | 99999 | 57 | International Air Mail (2-7 Days) | H | |||
Algeria | DZA | * | 0 | 99999 | 80 | International Air Mail (2-7 Days) | M | |||
American Samoa | ASM | * | 0 | 99999 | 80 | International Air Mail (2-7 Days) | M | |||
Andorra | AND | * | 0 | 99999 | 16 | International Air Mail (2-7 Days) | F | |||
Angola | AGO | * | 0 | 99999 | 80 | International Air Mail (2-7 Days) | M | |||
Anguilla | AIA | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L | |||
Antigua and Barbuda | ATG | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L | |||
Argentina | ARG | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L | |||
Armenia | ARM | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L | |||
Aruba | ABW | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L | |||
Australia | AUS | * | 0 | 99999 | 25 | International Air Mail (2-7 Days) | J | |||
Austria | AUT | * | 0 | 99999 | 16 | International Air Mail (2-7 Days) | F | |||
Azerbaijan | AZE | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L | |||
Bahamas | BHS | * | 0 | 99999 | 51 | International Air Mail (2-7 Days) | L |
#4 Finalise your country list
Using your earlier courier country table, you need to make sure that your country lists match. There are likely to be countries in the download list that your courier country doesn’t ship to and countries in your courier list that might be absent or named differently. Adding the country column makes it easier to cross reference your tables, as three letter country codes can be confusing i.e. DZA is Algeria.
#5 Finalise your courier zones
Your courier zones table can then be used to assign a zone (a letter or number) to the zone column. By sorting by this column, you can then fill in the delivery type e.g. International Air Mail (2-7 Days).
A delivery cost can then be filled in for each zone in the Shipping Price column. I’d advise rounding these values up and grouping similar zones costs together e.g. zone E = £27.33, zone F = £29.16, could both be rounded up to £29.99.
The zones can then be renamed / reordered so it’s easier for customers to understand.
As VAT isn’t included as part of international shipping costs, all shipping prices were added as the final cost.
#6 Add postcode and subtotal limits
Zip/Postal Code From & To, Order Subtotal From & To values can now be added to add further complexity to your shipping matrix file. Your spreadsheet will be slightly different if you use order weight as part of your shipping calculations.
Free shipping can also now be added.
#7 Magento CMS changes
You should now be ready to upload you finished .csv file. Below are the column heading that you need, so remove your full country name and zone columns.
- Country
- Region/State
- City
- Zip/Postal Code From
- Zip/Postal Code To
- Order Subtotal From
- Order Subtotal To
- Shipping Price
- Delivery Type
Upload your .csv file
Log into your Magento admin and navigate to the following;
System > Configuration > Shipping Methods > Table rates
Change your Current configuration scope (dropdown – top left of screen), most likely to Main Website. This should enable the Export Import fields under the table rates section.
Click on the browse button under Import and upload your shipping file.
List allowed countries
System> Configuration > General Country Options
Now select only the countries that are in you shipped to country list.
Tax changes
My shipping costs are now listed as is, so VAT or any other tax is not added afterwards. I changed this by going to the below.
System> Config > Sales > Tax > Shipping Prices > Excluding Tax
I also stated on the site that any export duties are not included in total cost.
#8 Update your T&C / Shipping page
To better explain the different shipping costs to customers, I expanded the frontend shipping page to include a UK and International shipping section. Costs were then displayed in a series of tables;
- Countries A-Z
- Zones A- E
- Countries not shipped to
Reindex your site and refresh you cache and your new shipping costs should be ready to go. I hope you’ve found this Magento International shipping costs article useful, if so let me know in the comments below.