Saturday, 12 January 2013

Magento Go UK postcode matching

I was recently asked to look into a problem a client had with delivery rates on the Magento Go service. Magento Go for those who don't know, is a slimmed down version of a large and enterprise level open source e-commerce system, and is hosted/maintained/supported by Magento themselves.

This particular problem with delivery rates was an issue with postcode recognition, in particular, UK postcodes (although I suspect that the issue might happen with any field used in the same way). In addition to the postcodes not being recognised, the country field wasn't either.

After doing some quick research into this, I found that the country field requires a 3 character code, however, this didn't solve the postcode issue.

It seems as if postcode fields are matched exactly, much the same way way that the country code is matched. You can use an asterisk (*) as a wild card character to match any address data submitted by the customer in a specific field or column, but there doesn't seem to be support for any combination of the two. In other words, you would have to enter every postcode that exists in the delivery rates in order that it would match exactly.

  • GBR in the country column of the table rates CSV matches the United Kingdom/Great Britain.
  • * in the country column of the table rates CSV matches any country.
  • AB31 in the zip/postcode column of the table rates CSV does not match against a standard postcode.

Searching the Magento support forums pulls up numerous posts where online shop admins have had exactly the same issue, and these posts are not just recent either.

There seems to currently be about three solutions to help solve this, none of them particular great.

  1. Don't use delivery addresses in calculation of delivery cost at all.
  2. Use something other than postcode for delivery rate calculation, such as county.
  3. Use a custom 3rd party extension that allows proper use of postcode delivery rate data.

Option 3 seemed to be the better of the bunch and the client added an extension called Matrix Rate to their Magento website (you need to be logged in to add it if you're adding to a Magento hosted shop).

There are many things about the Magento system that are extremely customisable, this sadly doesn't seem to be one if them and it seems a shame that Magento don't have this issue as a priority for fixing.

Here is my suggestion to Magento's development team. You should be able to add a combination of text and wild card characters to form matchable patterns
eg. "AB31 *" should match any postcode prefixed by AB31 (and a space).
This method doesn't even need to be restricted to use on a postcode field. It could provide increased flexibility for other fields of delivery rate information, or even completely different CSV files within the administration interface.

No comments:

Post a Comment