HummingbirdUK main logo

Coding solutions to business problems

About us

We use code to create solutions to business challenges, bottle-necks and headaches.

If you think your business has a problem that can be solved through code, we are happy to chat things through without any obligation.

Get in touch

Serious shipping for serious shippers

Home / Blog / Serious shipping for serious shippers

Written by Giles Bennett

Having just put the finishing touches to one of the most complicated shipping spreadsheets that we've ever implemented into a client's Magento site, this post outlines a few of the pitfalls - and one of the necessities - to be aware of when putting shipping rules in place.

Premium Matrix Rates

For pretty much any shipping solution, the first place we turn to is the excellent Premium Matrix Rates by WebshopApps (£50.00, but worth every penny).

A step up from their free Matrix Rates shipping method, itself an enhancement of Magento's standard Table Rates shipping method, Premium Matrix Rates allows for the spreadsheet to return multiple lines with (in theory) no limit to the number of options returned for matching destinations.

It also allows deliveries to be calculated on combinations of one or more of weight, value of order and number of items in the order which gives incredible flexibility.

Postcode filtering

Particularly an issue with UK based couriers, it's important to be able to filter out destinations to which either (a) delivery is more expensive, (b) may take longer than usual, or (c) may not be available at all. For example, most couriers have a relatively standard list of postcodes which they call the Highlands and Islands. Destinations covered by those postcodes will generally attract a surcharge, and frequently won't have a next day service - if a service is possible at all.

As a vendor, you don't want to either (a) ship at a loss, (b) promise a customer a delivery speed which you can't provide or (c) promise to deliver somewhere you can't actually deliver to. By separating out those destinations using postcode filtering, you can either charge more for them to compensate for the higher cost, exclude those destinations from particular delivery methods, or use a different description for the delivery method ('2 day delivery' rather than 'Next day delivery', for example) which manages the customer's expectations accordingly.

Other problem areas

Shipping to the Channel Islands is frequently even more of a problem with Magento - whilst Guernsey and Jersey are available countries in the dropdown list, along with the United Kingdom, in our experience there seems to be a split between customers in those locations, with some choosing the United Kingdom as the destination country, and some choosing the more specific country in the dropdown. The problem is compounded by (a) the fact that the tax treatment is different for the Channel Islands - recipients don't pay UK VAT - and (b) shipping methods other than Royal Mail will almost certainly be considerably more expensive to the Channel Islands.

Since the Channel Islands and Isle of Man have UK postcodes, however, then they too can be filtered out. This does necessitate two lines for each Channel Islands rule, though - one where the customer chooses the United Kingdom as the country but provides a Channel Islands postcode, and one where the customer chooses Guernsey or Jersey as the country.

For no VAT to be charged when the customer chooses the United Kingdom as their country but then provides a Channel Islands postcode requires the correct setup of your VAT rules, which is a different matter altogether.

Multiple rates

Magento's standard table rates will match on the first most appropriate shipping rate which it reaches which matches the address put in by the client. If you want to offer a choice of delivery rates, however (say 'next day', 'two day' and 'three day', or 'First class' and 'Second class'), then that's not much use.

Premium Matrix Rates will return as many results from the table as are applicable, in an order which you determine. This helps considerably in showing customers a range of choices ranked however you wish - speed, price, and so on.


This client had no theoretical maximum on the weight of an order that they could ship - each additional 30kg or part thereof would attract a further charge. Whereas other methods would need you to code each band (30 - 60kg, 60 - 90kg, etc.) up to your maximum, the algorithm feature in Premium Matrix Rate allowed us to simply set a base price for the shipment (say £5) and then a charge per 30kg or part thereof, reducing 20 or more lines in the spreadsheet down to 1.

Multiple countries

When looking at shipping to Europe, in this instance, the 30 or so countries broke down into four different price bands. As we'd already (thanks to the algorithm feature) been able to simplify these into four single lines in the spreadsheet, we could then tell the system that each of those lines applied to multiple countries, again resulting in a significant reduction in labour against having to duplicate and maintain multiple lines.

The end result...?

A spreadsheet around 33 lines long, simply laid out, covering every shipping option to every country for every delivery that the client offered in one simple document. Easy to understand, and, more importantly, easy enough for the client to see how it worked and how to tweak it so that they could be self-reliant in the future. When imported and processed, it equated to some 1000 lines on a normal table rate spreadsheet.

Got shipping headaches

If you've got any headaches in your shipping - areas that are causing you problems, areas where you think you're losing money - or you just want someone to see what can be done to take the hassle out of it, then feel free to get in touch!

Author : Giles Bennett

About the author

Giles Bennett built his first website in 1996, and is old enough to miss Netscape Navigator. Initially a lawyer, he jumped ship to IT in 2008, and after 5 years as a freelancer, he founded HummingbirdUK in 2013. He can be reached by email at