Why there will NEVER be 4th Generation of Multi-Channel Software (Ever)

The only direction for the 3rd generation of multi-channel eCommerce software to go is to take ownership. To write, to own the software that will directly integrate your business into the marketplaces, this is exactly the piece that you never want and I’ll explain why.


A Mirror Image

It’s just like what we have right now with the 2nd generation, a multitude of multi-channel software providers, all with varying levels of integration and complexities. A “one-size-fits-all” approach and as I’ve already admitted, this approach isn’t the right approach anymore.

Let’s imagine for a few moments if you owned one of the software companies. You would have to deal with never-ending updates from the marketplaces, couriers integrations, bug-fixes, feature requests from your ever expanding user-base, the list just goes on and on and on and on… It’s software that is never finished and the thing is, it never can be finished.

So to step into the responsibilities of managing multiple marketplaces, the direct API integrations is not a world you want to be in as a business owner.

It’s expensive, it’s complicated, it’s ever-changing and unless you’ve got the experience, clear requirements and have a skilled development team on hand, you’ll be strangled by the overheads needed to be able to keep abreast of the highly-dynamic environment we use to operate businesses in and restricted by the one thing that keeps any business going, the ability to innovate and adapt.


In conversation for the past eight months with the “cool people”, (that’s business owners just like you), “innovation”, “being able to innovate” has come up again & again.

I know you’re not happy.

The 3rd Generation allows you to innovate, it breaks you free of the massive overheads and allows you to focus on your business exclusively and when you need to add in extra functionality, then it’s optional. Think of it as a salad bowl, you can pick & choose and it’s exclusive to your own requirements.

The 3rd Generation isn’t bogged down with the really complicated parts, that’s the 4th stage of the life-cycle, the taking ownership of the integrations yourself and for 99.9999999% of you reading this, you’ll never want to be involved with this, ever.

January 1st

January the 1st, for most of you will be the same story, you will have just had the busiest season online ever.

You’ll have seen the best and worst of your multi-channel software when you needed it most. You’ll also be sat there with probably the largest bill you have ever had if you’re using one of the multi-channel software providers that take a cut of your sales.

And on January 1st 2014, we’ll be sat there with another way, the next generation and that’s our deadline.

Part 3, where we bare-all is Coming Soon

Think of this article as a delicious appetizer between now and then, but also think of it, that with this open commitment to you, we better deliver what we’re talking about…

We don’t pretend to have all the answers, sadly we never will, but an option where you’re not tied down is already out there, we just need to show you how.

And the thing is, we know we can :)

Matt & Dave

PS. If you’ve not yet signed up to be notified the moment UnderstandingE is launched yet, you can here UnderstandingE.com/NOW

Part 2 – Hands Up I Was Wrong – But What About?

In this second part of the History of Multi-Channel Software, we’re starting a journey, a journey to find the utopia and a journey that we’re going to share openly, wins, failures, the lot.

The utopia for multi-channel software that can fit the needs of any business regardless of size, type, location or revenue both today and tomorrow.

And to do this effectively, I need to admit I was wrong.


A Re-Cap

In part 1 of the History of Multi-Channel Software we covered how we have ended up where we are today with the collection of software providers that offer pretty much the same options, all wrapped up into different interfaces for multi-channel businesses to use.

I also shared with you the vision for the future which I’ve put below, the “utopia”, the goal that we’re aiming for and the commitment that I believe together we can achieve. I also admitted that I don’t have all the answers and never will but are willing to share this journey as we go and we invited you to join in.

The Vision of the Future

“A hybrid of both free and paid for open source software where multi-channel business owners can pick & choose the tools that suit their business, both now and in the future

I Used To Think…

I used to think that multi-channel software had to:

  • Fit the needs of every business perfectly
  • Have every single feature, bell & whistle going
  • Advanced to the point of being over complicated
  • Do everything, anyone could ever want
  • Be one system that encompassed everything

And the thing is… Hands up, I was wrong, so very wrong.

The Glimmer of Hope

Crude by today’s standards, I had built my own eBay order management tool back in the early 2000’s using excel, outlook, an addon for Outlook and some VBA (Visual Basic for Applications).

I was parsing the notifications for “end of auction” and “end of transaction” emails from eBay using a plugin for Outlook (which amazingly you can still buy it today, see here), loading them into an excel spreadsheet and then using VBA to process them, adding in notification flags for a pick/pack/despatch process with mail merges to create invoices , then email mail merges to email customers their order received, packed and then despatched notices.

I’m probably being a little mean to what I built back then by calling it “crude”, it took me from using a paper tracking system to a semi-automated system, which then led the business to a stage where it could afford more advanced software such MarketWorks or ChannelAdvisor (the only two options we had back then) at around £15-20K a month turnover and then we added in MarketWorks, we ni-on quadrupled the business in 3 months.

I have always wondered “what if the business could have afforded the best software available earlier on?”.

As I sat there in the cyber-cafe looking at eSellerPro for the first time, I genuinely felt that “this was it”. What had frustrated me as a business owner myself and through having seen hundreds of business at Marketworks, seeing them struggle with a slowly developed product with the possibility that those frustrations could be answered and what you use today in eSellerPro is part of the answer I saw back then (after a ~3 years stint that is).

The Stark Reality

I believed one product could fit the needs of every scenario thrown at it and that is where I was wrong.

  • No software product will fit the needs of every business perfectly, ever
  • Software doesn’t need every cool idea in it for it to be viable and meet the needs of the vast majority of businesses
  • Who needs complicated when straight-forwards will work just as well?
  • Why does software need to do everything for everyone, when the core essentials are all that are needed?

The reality is that:

No single software product will ever meet the needs of every single business perfectly

And Wrong Again? Maybe Not….

I know many of you will cringe at the idea of ChannelAdvisor, having a core system and with bolt on modules, using specialists in their own areas, it’s a “hybrid system”.

Frankly speaking, you’re most likely scoffing at the idea because it doesn’t help that the base system is so expensive it rules it out as being a viable solution for +99% of all multi-channel businesses.

The thing is, I believe we were all wrong about this “hybrid” approach and I’ll explain why.

Take the massive cost out of this hybrid approach, so let’s say we take £600 monthly minimum fees and floor them by 95% to just £30 (yes that is thirty quid or $47 USD, or less but that’s a topic for another day) and suddenly it’s a lot more attractive don’t you agree?

Hold on to that thought for a few moments…

Breaking it Apart

Let’s boil everything down to the three key parts of a multi-channel software product.

An inventory management system, an order management system and listing abilities to marketplaces. This goes for any of the 2nd generation providers regardless of origin.

Inventory Management
The inventory management system would need to be able to with both simple and complex products (variations), kits, virtual products, stock control, imports, exports and customisable fields that you can match to eBay & Amazon item specifics.

Order Management
Then the order management system which would need to aggregate orders from multiple channels, websites, multiple eBay accounts, multiple Amazon accounts (if you’re being naughty lol), have order stages, customisable despatch options, links into couriers and back to the marketplaces for order updates. Email notifications, while they’re not an essential they are a nice to have and are of notable value for any order management system.

Listing Abilities
Being able to match up to existing listings on the marketplaces, create new listings and keep prices, descriptions and stock levels updated. And be kept upto date with the updates that these marketplaces like to do every few months.

These 3 are the key components for any multi-channel software product. I am missing one other part on purpose though, support. Because this component it is so special, I need to be address it specifically at a later date.

The Current Approaches

As we saw in part 1 the vast array of options, there is no one right way of approaching each of these components and when we look at the different providers out there, they have all come from different angles and ended up with varying levels of success for each of the 3 components.

Let’s pick on two other providers as an example. StoreFeeder, StoreFeeder came from a fulfilment background so as you would expect the despatch process in StoreFeeder is amazing. I love how you can batch process orders easily and I’ve not seen anything to touch it at the price point they offer. ChannelGrabber, they needed simplicity, so ease of use is unparalleled.

Each and every multi-channel software has come from a different direction and ended up with something that can (or is being) labeled as “Multi-Channel Software” and they can all be boiled down to these 3 components.

Again, hold onto that thought for a few moments too…

So a Time for a Different Approach

Keeping the key components in mind, 3 questions for you to seriously consider.

#1 What if we took the ChannelAdvisor, hybrid approach. One core system that has inventory management, order management and listing abilities and bolstered it with industry expertise?

#2 What if we took away the costly overheads and we leveraged a platform that was open-source and getting back to that £30/$47 I mentioned earlier, what if it would run on shared web-hosting, which is available anywhere, globally, inexpensively?

#3 What if we then said because it’s open-source, you can extend it further and gave you the power to innovate?

What if the listing abilities were available for free to eBay and Amazon was ridiculously inexpensive?

And Then Consider

Originally I thought this hybrid approach wasn’t the correct path to follow. It’s expensive with the current providers but on the flip side allows us to bring in industry expertise in each area, when you need it, if you need it.

So what happens if we floor that massive overhead, leverage the already existing technologies that are proven globally, bring in expertise when needed, if needed at all and open the doors to be able to innovate through open source? The potential is huge?

Interesting theory right?

Like we said in Part 1, we know that this new approach works, it’s not a theory for us or you anymore.

All that is needed is a journey to be started, for knowledge to be shared and for each of us to work together.

We have the the vision of a world where you can use a hybrid of both free and paid for open source software where you can as a where multi-channel business owner you can pick & choose the tools that suit your business, both now and in the future.

Find out more at UnderstandingE.com/NOW

And in part 3, we reveal all :)

The History of Multi-Channel Software – Part 1

Multi-channel software, love it or hate it, if you’re selling online and using the online marketplaces such as eBay or Amazon, you need it and it makes a massive difference to you being able to run a successful online business or having to wade through the endless repetitive tasks each day manually.

This is part 1 of a 3 part series on that covers the history of multi-channel software and is the beginning of a journey that will change the future of multi-channel software.

If you were wondering, this is directly related to main reason why I have been so quiet lately and together (thats us & you) will be changing the world of multi-channel eCommerce software forever and dipping our toes into the world of 3rd Generation multi-channel software.

However before we can get to the really cool stuff, we need to start our journey from somewhere and the best place to do that is to reflect on where we have come from and where we are today and this is what this article, part 1 and accompanying video is all about.


Part 1 – The History of Multi-Channel Software

Myself & Dave have put a video together to explain the history of multi-channel software below.

You can subscribe to the UnderstandingE YouTube channel here: youtube.com/user/understandinge

Proprietary, 1st & 2nd Generation Software

From it’s beginning where proprietary tools like Turbo-Lister (eBay) and Seller Desktop (Amazon) were created by the marketplaces themselves, then through the demands of businesses to expand further and add-in several missing features tools like InkFrog (1999), Auctiva, AMan Pro (for Amazon) and ChannelAdvisor who appeared on the scene in 2001. The 1st generation of software born and was there to help businesses be more productive with these channels.

Then the 2nd generation came around in the latter part of the naughties (around 2008/2009) where “Auction Management Software” turned properly into “Multi-Channel software” and was needed by businesses as they really started to leverage both eBay & Amazon and other online sales channels. We suspect this was because the Amazon marketplace really started to take off around then and the requirements changed for online businesses, they were selling in more than just one location, they had eBay, they had Amazon, their offline trade and the website platforms out there were getting better & better.

A Change in Requirements

This change in the landscape of business requirements spawned multiple 2nd generation providers that include ChannelAdvisor, who jumped from 1st generation (as they added in Amazon support), MarketWorks, ChannelGrabber, Linnworks, eSellerPro, SellerExpress and numerous other software companies who have come in later such as Brightpearl & StoreFeeder that have woken up to the apparent lucrative world of multi-channel software and whom we see today.

Some companies haven’t made the jump from the 1st generation at all, InkFrog, Auctiva & AMan Pro haven’t really strayed from their original selling platforms and that’s “ok” if that’s all you need for your business.

In the cases of eSellerPro and 247TopSeller, these were created by the failings of the original two providers that serviced the United Kingdom, ChannelAdvisor & Marketworks to adapt to the UK (and Europe for that matter) fast enough.

eSellerPro started as a shipping solution and with an integration to Sage from MarketWorks that then evolved into the tool we see today (see here for the unofficial history), as for 247 TopSeller well this was born in the same 2-3 months time window of eSellerPro because neither of the existing options (CA & MW) would meet the requirements of UK wholesaler.

Cost, Cost, Cost

The current options for business owners like yourself that use multiple sales channels (including the marketplaces) all fall into one of the two camps when it comes to pricing, fixed price and a percentage of sale.

Generally the “smaller” providers offer fixed price software where you pay a set amount each month to them for them to help you manage one or more marketplaces, these are generally medium cost and viable options. The more expensive options appear from the larger providers such as eSellerPro and ChannelAdvisor, where you’ll have a committed minimum monthly bill in the region of £500-600 and if a percentage of sales (around 1-2%) exceeds this value, then you pay more. That’s why you’ll find numerous businesses paying in excess of £1,000 a month for multi-channel software.

It doesn’t matter which path you have followed up to today, all the current 2nd generation multi-channel software products offer good-ish value for money.

As a whole, they all do the same tasks with similar features when we look at them from a high-enough level (in some cases it has to be really high with a slight squint). When we get down to the minute detail, there are major differences which explains the differences in the amounts that different providers charge and it’s these smaller details that generally depict which business uses which software provider because their business needs these small, less “transparent” options.

3rd Generation

It took a mistake by one of the 2nd generation providers to force this path to be explored and when we joined the pieces of the puzzle together we ended up with something that is greater than the original parts combined. What has been missing up until now is for us all to work out that this is actually viable and what we found, personally I was very surprised by.

The 3rd generation is a completely new take on multi-channel eCommerce software and while I say completely new, this has been around for the best part of 3 years already. We’ll cover more on this in part’s 2 & 3.

We don’t have all the answers, frankly we never will, however we know this path works. It’s highly flexible, ridiculously inexpensive and leverages the might of both open source and the backing of a massive corporate umbrella. For the past 7 months, I have followed it myself and there are examples of businesses turning over millions each month using this method.

The Vision of the Future

“A hybrid of both free and paid for open source software where multi-channel business owners can pick & choose the tools that suit their business, both now and in the future

We’re going to leave you with the vision of the future of multi-channel eCommerce software and we’re starting a journey today and we both invite you to join in at UnderstandingE.com/NOW.

PS. You can find part 2 here, where I admit I was wrong. But what about?

Magento Powers 26% of the Top eCommerce Websites

It would be easy to guess that a large number of eCommerce sites are using Magento, but what I didn’t realise is that Magento powers 26% of the top 1 million sites ranked on Alexa.

And… where it gets really interesting, is this number increased 12% in only a four months!


Magento Domination February 2013

In the chart below taken from the February 2013 eCommerce survey, Tom Robertshaw identified that Magento accounted for 9063 websites out of the total 34,864 eCommerce sites ranked in the top million sites, coming in at a cool 26.08% domination, outstripping all other eCommerce website platforms by miles.

Magento Usage Statistics Feb 2013

Looking at the chart above, Magento is the clear winner in this, but it’s curious to see that we have Virtuemart, Prestashop, Zen Cart, osCommerce and OpenCart pretty much level-pegging for usage across these sites and the once “stable of eCommerce sites”, X-Cart is literally nowhere to be seen at all nowadays.

12% Jump in Magento Sites Ranked

Seeing Magento topping the list wasn’t really a surprise as we all know how versatile it is, however when we look back at Tom’s earlier survey in October 2012, we see in a window of just 4 months, Magento jump from 8063 sites to 9063 in February or a cool 12% increase of Magento sites appearing in the top million sites.


The curious thing is, this insight was reported in February and we’re 6 months further on in September, which makes you wonder has Magento has topped the 10,000 sites mark yet?

Let me know what you think in the comments box below.

Sneak Preview: The Reason Why We Have Been So Quiet Lately :)

Have you ever had an idea that gives you chills down your spine?

We believe that we’re going to change your world forever and for the better too.

Hit play on the video below:

It’s not 1st generation, nor 2nd generation, it’s 3rd generation with a completely fresh look on the world of [something amazing].

She’s not ready yet, but she’s coming soon, infact one month from today and we will change your world forever.

Be notified the moment she’s live here UnderstandingE.com/NOW

One Simple Website Mistake Could be Costing You Customers (and Sales)

This one mistake could be costing you website customers & sales and it’s soooo easily checked for and fixed.

In the example I’ll be discussing in a moment, most likely lots (and lots) of good money was paid for a quality website design, support, a full green bar SSL certificate (that’s the best part of £800 a year) and a bunch of Magento extensions to boot, but something so simple is easily overlooked and if the “big boys” can overlook this then the same mistake can be made by us and that’s why I’m sharing this with you.


The Live Example

The best way to show you this is by an example and this morning while looking at the eBay daily deals, I spotted this jacket from Regatta, ever curious to see what they were using for backend software, I opened up one of their images at http://feedback.dare2b.com/altViews/RC_RC/large/MW257_Alt_view_1.jpg and we’re looking ok so far right?

When we strip out the image path keeping the subdomain inplace http://feedback.dare2b.com/ and they’ve done almost the right thing (htaccess or PHP redirect is better) and set a meta redirect on the holding page which then should forward the user onto the main website at http://dare2b.com/ and there, that’s the mistake.

The non www domain dare2b.com is a dead site.

Dead Website As No DNS Settings

Imagine what your customers will think when they see a page like this

Open a new tab in your web browser and type in both the www and non-www versions of your domain name and check that they both work.

If your website displays when you go to both “www.your-domain.com” AND “your-domain.com” then happy days and if your website redirects itself back to one of the version only, send your boss this email and say “Matt O says I’m cool“, if not read on.

In this specific example when the DNS was setup for the domain name “dare2b.com” a CNAME record was added which points to a subdomain of “amazonaws.com” (the DNS settings are shown here http://who.is/dns/dare2b.com) where the mistake lies in that the catch all /wildcard DNS record for the domain name dare2b.com go to a different server to the one where the eCommerce site is actually hosted and it’s not answering web requests so we get a dead page, which is bad.

DNS Mumbo-Jumbo: If I’ve lost you here with talk of “DNS”, think of DNS being a postcode for the internet which helps your browser find the right address to make a delivery to & from.

When you type in “lastdropofink.co.uk” in your browser, your browser goes off and finds the unfriendly IP address using a human-friendly name lastdropofink.co.uk  or “postcode”. I’m sure you’ll agree that “lastdropofink.co.uk” is a lot more easier to remember than “”.

These “DNS settings” are set by the website domain owner with their domain registrar, companies like Godaddy, One & One or Heart Internet for example.

Keeping it Simple

In the example above for “dare2b.com” this is not a straight forwards fix. The reason being is we know that the domain “feedback.dare2b.com” responds to requests and so does “www.dare2b.com” but “dare2b.com” does not, combine this with their DNS settings and no record for the subdomain “feedback this means that their web server is not configured to answer requests that are sent to “dare2b.com”.

That can get deep really quickly so instead if you website is not responding to both www and non-www requests, the simplest way of handling this is to ask your domain registrar what setting you should enter for your DNS settings so that your website responds to both www and non-www requests and if they can’t help, then ask your web-hosting company.

Tip: If like me you’ve forgotten who you registered the domain with, go to http://who.is/, enter your domain name and look for the “Registrar” entry, this will tell you which site it was registered with and which login details to fig out.

Redirecting WWW to Non-WWW (and Vice-Versa)

I’m not going to cover the ins-and-outs of this here as it’s already been very well documented. The easiest way is with a htaccess file and below are two links that show you how to direct both ways as you desired:

Which version you use doesn’t really matter, what does matter is that the user ends up at the same site for both entries and you don’t have duplicate sites responding on both www and non-www domain names.

Special Note for Magento Users

Magento is quite particular in the domain names it responds to and if your site is using Magento as is the dare2b.com website is in our example, then decide which way you are going to go (www or non-www), ensure that the DNS settings are working (this can take a few [up to 72!] hours to kick in) and then make sure that you set you Magento design settings accordingly.

If you don’t and change the DNS settings or add a htaccess rule that says otherwise your site will get caught in a redirect loop and won’t appear at all.

To remedy this, follow the steps below:

  1. Go to Admin > System > Configuration > General > Web
  2. For both the “Base URL”s in the “Unsecure” and “Secure” blocks set the domain name accordingly
  3. Press “Save”
  4. Now check the website is responding correctly

Using the dare2b.com example is in the screenshot below:


Make sure you set the domain name correctly in Magento

In Conclusion

Even the big boys make mistakes and working around this is relatively straightforward,  you just ask your registrar or web hosting company what you should enter, in most cases if you ask, they’ll even change the settings for you too.

I personally prefer the non-www domains, that’s why this site is the non-www version, but if you were to type in “www.lastdropofink.co.uk” in your browser, you end up back here at “lastdropofink.co.uk” and if this was an eCommerce product based site, then I’d not be losing customers and ultimately sales :)

Which version do you prefer? www or non-www? Let me know in the comments box below.

How to Turn on PayPal IPN When Using Magento & PayPal

What I’ve been really surprised by over the past few weeks is the number of sites that don’t actually have this turned on and it’s just not limited to self-builds even the really expensive Magento builds are missing this out this as a step.

Turning on the PayPal Instant Payment Notification (IPN for short) is an excellent idea as means that when a customer pays for an item using PayPal then the payment information will be updated on the Magento order details in the administration panel.

It only takes a few moments to enable and I’ll show you how to enable IPN for your Magento site below. This will mean that when you receive an order via PayPal Express for example, you can actually see the transaction details in Magento and if you’re using eSellerPro and have the eSellerPro Connector enabled for sales order processing, your order & payment details will match up automatically.


How to Enable PayPal IPN

Setting this up won’t take more than a few moments and here are 6 simple steps to do this:

#1 Login to PayPal

#2 Hover on “Profile” and select “My Selling Preferences”

PayPal IPN for Magento Step 1

#3 Halfway down the page, click on “Update” next to “Instant payment notifications”

Paypal IPN for Magento Step 2

#4 You’ll now be presented with a  page similar to this, press “Choose IPN Settings”

Paypal IPN for Magento Step 3

#5 Now enter the following details:

  • Notification URL – This is simply http://your-magento-store.com/paypal/ipn/ replacing “your-magento-store.com” with your website address. <= This is the part that normally trips everyone up as they’re not sure what to enter here.
  • IPN messages – Set this to “Receive IPN messages (Enabled)”

PayPal IPN for Magento Step 4

#6 Press Save

That’s it job done.

To test whether IPN is working or not is dead simple, just make a test transaction through your website (you will need a secondary PayPal account for this) and a few minutes later, check on the order in your Magento admin panel has been updated with the PayPal transaction details.

To help you, I have put to images below, the image on the left has no IPN details, the image on the right does.

Paypal IPN Not Working Paypal IPN Has Worked
PayPal - Magento IPN Not Working PayPal - Magento IPN Has Worked

If you’re seeing the extra information similar to the right image, congratulations PayPal Instant Payment Notifications are working for you, yay!

Did your Magento Design Company go the extra Mile?

Anyone can make a pretty website, however, did your design company go the extra mile and suggest you set up Paypal IPN for your site? Or has this caught you out too? Let me know in the comments box below.

How to Enable Order Comments for Magento

If you’re using Magento, then it’s highly likely that you’re using PayPal and other payment methods on your site, the challenge is that by default customers can leave comments at PayPal etc… after the transaction, but those comments are not brought back into Magento and onto your order.

In this article I’ll show you how to add an extension that allows you to accept order comments, turn of comments at PayPal and what to do edit if this extension doesn’t work out of the box for you.

PayPal Express Magento Configuration

Annoying eh? So what can we do?

We’re left with two options, the easy option and the hard option.

Let’s start with the hard option first.

For this option we would need to extend the PayPal extension so it collects the message left by a buyer on the final stage, this is going to need a developer and it’s not something I have done personally, so I don’t have any code for you to do this. This would mean we have a bespoke version of the PayPal extension and also if we want order comments from other payment methods it would mean we’d have to do bespoke work for each of them, not easy to maintain, so we need a easier option, which I’ll show you next.

Now for the easy option

What we’re going to do is disable the ability for buyers to leave comments at PayPal and set up order notes in Magento, then add a free extension that allows order comments from buyers in the checkout.

Note #1: If you’re using another payment method that has a comments section that a buyer can add notes in and these notes don’t come back into Magento after the payment is made, then ask the payment provider for the steps needed to be followed to disable that option.

Note #2: If you’re selling on eBay, this will not affect your eBay transactions.

Disabling PayPal order comments

First let’s disable the ability for buyers to leave comments on PayPal website payments, to do this follow either the steps below or the direct link is here:

  1. Login to PayPal
  2. Along the top click on “Profile”
  3. On the “My Profile” page, select the bottom left option called “My selling preference”
  4. In the second section down, click the “update” link to the right of “Block Payments”
  5. For the option called “Display “Add Instructions to Seller” text input field:” set this to “No”
  6. Press Save

Tip:  While you are on this page, there are several other options that you should consider reviewing, such as the ability to block currencies that you do not hold, stop duplicate payments and also the name that appears on your buyers card statements too.

The image below highlights this option:

PayPal Express Disable Customer instructions to seller

Now what if we want customers to leave us notes on orders?

Well that’s easy, there is a FREE extension that does this for us :)

It appears that Magento doesn’t have the option to accept customer comments or order notes for a whole order, we have gift options (in System > Configuration > Sales > Gift Options)  which is way more complicated, but basic order notes, nope…

So the easiest way of having this is to use a free extension and I’ll show you how to add this extension in the steps below:

  1. Go to this page on Magento Connect:
  2. Sign in if needed and press the “Install Now” button
  3. Agree to the terms and copy the Magento Connect 2.0 URL
  4. Go to your Magento administration panel
    Special Note: If your Magento is compiled, disable this before continuing. If you have no idea what I just said, ignore this :)
  5. Along the top select “System > Magento Connect > Magento Connect Manager”
  6. You’re likely to be asked to sign in again on this page
  7. Under “Install New Extensions” paste in the URL we just copied from the Magento Connect site:Magento add extenion url
  8. Now press install and in the section that appears, press proceed.magento connect proceed
  9. Leave the extension to install and once you see the message “Cache cleared successfully” we know the extension has been installed as shown below:Magento cache cleared successfully
  10. Go back to the Magento admin panel and log out and login again (good practice after you install any extension)
  11. Now create a test order and on the final stage of your checkout called “Order Review” you should have a order comment box like this:


Magento order comments in the checkout

If the order comment is not showing in your checkout flow

If we’re not seeing this order comment box at the final stage of the checkout flow before you press the “Place Order” button, then we need to update one of the layout xml files. Sounds scary, but it’s dead easy and the steps are below:

  1. We need to edit one of your theme files called “checkout.xml”.
  2. Open up your favourite FTP program and login, now go to this path:/app/design/frontend/default/<your theme>/layoutReplacing ‘<your theme>’ with the theme that you are using on the site and look for the file called “checkout.xml” and open it.

    Note: If you do not see a “checkout.xml” in this directory, copy the default “checkout.xml” file from the “/app/design/frontend/base/default/layout” directory and put it into your theme directory.

  3. Open up this file and search for “onepage_review_info”Tip: Pressing Ctrl+F in any good text editor will show you the find tool
  4. We should see a block similar to the screen shot below and add in the highlighted line below:

    <block type=”checkout/agreements” name=”checkout.onepage.agreements” as=”agreements” template=”checkout/onepage/agreements.phtml”/>Add line to checkout xml file for order comments

In Summary

I’ve tested this with the current latest version of Magento which is and it works fine and without the need to edit the checkout.xml file. If you’ve followed the instructions above, you now allow customers to leave comments in your checkout process and have no hacked payment extensions. Sweet!

Did you find this article helpful?
If so leave a comment below or press one of the sharing buttons to the left :)



The Story Behind the eSellerPro & Magento Integration

I’d like to share with you the story behind the connector that integrates eSellerPro and Magento together, where it came from and where it is today.

It’s been quite a journey and it’s not 100% complete, the fact is it will never be and after throwing countless hours at it, but what is available today is pretty darn fast and as for configurable, well we’ll see how configurable it is as we dig in.


Looking Back

Looking back to the first time around to integrating Magento to eSellerPro it was a nightmare and dog-slow.

Working with the Magento core is relatively straight-forward once you’ve worked out where to look and have spend countless hours digging around what was created worked, but it was slow, maybe taking 17-20 seconds to build a configurable product, this time around we’re talking seconds to create a new or update product record (well 2.6 seconds on average).

The Reason Why

The reason why the connector was built in the first place was because one of the businesses I work with wanted Magento for their website, well even that has a story attached to it. I believed OpenCart was the better approach for them and the owner wanted Magento, so we had a duel of functionality & features, Magento won hands down for them and integrating it was the last challenge.

Keeping eSellerPro as the back-end tool for managing product data, categories, stock levels, reordering and order management was a complete no-brainer. We’re not looking to replace it, what the core of eSellerPro does is amazing (remember I worked there for 3 years, we built way-way-beyond cool stuff and the competing products don’t stand a chance for at least another year while the gain ground), we just wanted the best website technology possible and Magento fits that bill very well.

Matt, just integrate it properly

After us both getting frustrated after being told that Magento was “being” integrated fully into eSellerPro and no time-frame and with version Magento version 1.5 is already supported, but it not support inventory creation, I was just told “Matt, just integrate it properly“, so that’s what I’ve done.

Version 1.5?

Since then I’m working with 3 businesses that are using Magento 1.5 (as recommended to by eSellerPro), the thing is, it wasn’t until version where PayPal Website Payments Pro was properly integrated into Magento, it had it as an option but that only worked if you were in the USA and prior to this version it just didn’t work.

We’re at version today and while the majority of the features are the same or similar, Magento has been through two huge updates since 1.5 which was released almost 2 years ago (it’s so old it’s not even mentioned in their release notes). We’ve had version 1.6 released that had several structural updates made to it in August 2011 and the most recent version 1.7 which was with the 1.7 community edition being released in April 2012 and two minor updates since to bring us up to where we are today.

Note: If you’re looking for a reason on why you should upgrade from 1.5, take a look at this page which is the release notes for Magento version 1.7 and start scrolling. Yes that is 10 feet of page scrolling for fixes in version 1.7 alone!

Anyway, back to being told “Matt, just integrate it properly“, out came the weapon of choice, Notepad++ a text editor. I don’t think of myself as a developer or a coder, I just want to solve the challenges that the people I work with and if that means I have to get in and get dirty with coding, I will do. Since last October,I’ve not stopped working on the integration to Magento in one form or another.

The First Version

The first cut worked, we had orders being collected, orders being marked as shipped or being cancelled, stock and price updates coming through and the first revision of inventory loading working and I even had configurable products working too (that’s “variations” if you’ve not heard the term “configurable products” before).

I’ve done it” I said,
a pause of a few seconds went by…
done what exactly Matt?“,
integrated Magento for you, would you like to see it working?

It wasn’t pretty, but it worked and we could do everything that eSellerPro said they could do in 1.5, but crucially we could create products and update them too. We started to talk more and it turned out what I had written in the first version was perfectly adequate for one part of his business, “that’s amazing Matt, but my business partner who also sells out of our account too, he changes his eBay item specifics all the time, how does it cope with that?

Well, I had skirted around a couple of areas to get this working in under 3 weeks and one of those areas was around attributes or custom fields as you’ll know them by if you’re a user of eSellerPro. They had to be pre-created in Magento for them to be added to from custom fields or other fields from the product data feed from eSellerPro.

Leave it with me, I know what needs to be done. Is two weeks ok?” I said, it was agreed and I dug in.

The Second Version

During those two weeks, Christmas came & went and while taking two days off, the rest was spent on working on the connector. I had also considered that other businesses may want to use it as well, so a good chunk of this time was spent on making it versatile for it to be able to used by multiple businesses with multiple Magento sites.

It actually took me another 3 weeks to get it to the stage where it was intelligent to work out what the state of play was with the data and Magento site it’s connected too and it was able to work out what needed to be done and what had already been done (I’m being a little vague with this to ensure that I have some form of competitive advantage by the time you finish reading this).

Also during this time, I had one of those “Matt’s strange days”, it was a Friday and by the end of the day I had spoken to two other business owners on unrelated topics and they both had pretty much demanded that I also integrate their sites as well. My work over Christmas had paid off as I knew that I could do anything they threw at me and the connector with another 100 hours thrown at it would work amazingly for them.

So where are we today with the Magento connector?

I originally started with 4 user settings, right now as I skim down the config file a rough count is 320 separate options and that’s not including the arrays that are used to tackle the bespoke options that have come along and I’ve made versatile so that they can be used on other installations.

To give you some idea of what these settings do, here is an insight to a handful of them:

  • Decide if categories should be created and if so what statuses they should have as well, whether they should be included in the menu, active when created or set as an anchor category
  • What to do if there are no categories sent with a product
  • How and when to handle product variations
  • Whether we should be generating meta descriptions, keywords and titles and whether these should account for the data not coming from the standard fields in eSellerPro, but from custom fields or outside sources
  • How and when to create attributes and what to do in special circumstances
  • Whether related, upsell or cross-sell products should be created as part of the process
  • To include image labels (alt tags) with images or not and what to use as their labels
  • How to handle custom URL’s for products
  • What to do with tiered and grouped pricing
  • How to manage different variation types and what to do with them while being loaded to Magento
  • Which of the yes/no options for products in eSellerPro and where these options should be mapped to

And we’re not even scratching the surface. I’ve built in extensible arrays that can handle almost anything we throw at it and in short, it’s now at the stage where I can do almost anything we want.

Several key Magento extensions have been catered for now through the connector, my personal favourite is one that allows us to make images swap on colour choices on product detail pages which I’ll be documenting later this week (choose a colour on this item, neat eh?), data feed extensions for feeding out product data to Google Product ads, affiliate networks and also to provide stock & price control updates for external 3rd party just-in-time customers.


There have been a couple of delays in the sites going live. Yes we’ve had bugs to iron out and bucket load of features that have been added in along with bespoke requests to handle, but what I’ve found is that while what I’ve written is perfectly capable handling the complexities of the data for getting data in and out of Magento quickly, the servers sat behind the sites have not been. If we combine in the learning curve for the business owners too with Magento and bringing their data up to scratch so that they can handle the functionality and features they really want, it’s been a little too long, hence why I’m working to a questionnaire I’ve put together that covers 41 topics to make them easier each time.

I had no illusions that this was going to be an easy task, multiple Magento versions and the thing is that no one server is like the other. We’ve burnt through 3 hosting providers already with the existing users of the connector, Magento really is a beast and unless we’re throwing quad cores and a minimum of 6Gb of ram at it, then it’s not going to be fast.

both myself and the connector have needed to be flexible

Thankfully I’ve managed moderately high traffic sites before, my UNIX skills are pretty good and the understanding of what needs to be done, can sometimes surpass the businesses own developers. I’m a curious person, it’s just the way I’m wired and I always ask.  This has been a life safer more than once and it’s always nice to be just told & trusted with “Matt here’s the root access details, just make it work” and crucially being able to make it work without screwing up everything in sight.

We ground one server to the floor loading 40,000 products in, we knew it was going to happen it was only a shared server. We didn’t expect the issues we had with running PHP has Fast CGI on the new dedicated server though, that took 5 hours to track down and solve, the last time I checked, the 40,000 products had been re-loaded and an extra 10,000 had be loaded on top.

Flexible is most apt word here, both myself and the connector have needed to be “flexible”. Flexible with the tech that the Magento site is being hosted on, the extensions that are being used and to dig in deep and solve the challenges that have had seasoned professionals stumped. Being an “all-rounder” and knowing eSellerPro inside out has helped to no end, oh and throwing as many hours as it has needed has really helped break the back of the most difficult of challenges.

Sites Going Live

I’m looking forward to sharing some of the stories with you on the move to Magento from the site owners themselves. Most have been through more than one site previously and are looking forward to moving to a super flexible platform, but keeping their sanity by using eSellerPro for all the back-office tasks.

The first site went live over a week ago, we’re already working on their second site and that will be replacing another eSellerPro website with Magento as the front end, but crucially keeping eSellerPro as product data store, stock control and order management tool. I’m expecting at least 3 more to go live in the next two weeks as well.

I have a 3 custom requests that I’m working on currently, but the one that I know you’re label as “oh my god that’s cool” if you’ve got any SEO background.

I’m working on an image renaming option. So that the less-than-SEO-friendly image names that are loaded into eSellerPro are renamed and processed to have delicious naming conventions that make it easy for Google to recognise and also easier for customers too. Cool eh?

In Summary

I didn’t expect for the integration to have gone so deep from the first conversation and being asked to “just integrate it properly“.  Wherever possible features and functionality are tied deeply back into eSellerPro, it’s the right approach as you can handle all the inventory data with ease, stock control & pricing and processing orders are far better off being processed in eSellerPro, but for the website side, Magento just rocks.

Recently I covered both Why You Should Not Use Magento and also Why You Should Use Magento and I can sum these up into one line, if you give it the resources it needs and you want the flexibility of an external website where you can do anything you want, then Magento is worth looking at as an additional or replacement site.

Now that the connector is robust enough, you can have it linked back to eSellerPro and have the best of both worlds. Would you like to know more?


Why You Should Not Use Magento

Following on from my earlier post on ‘Why You Should Use Magento‘, now for Magento’s negative side.

This is part 2 of a two part series on Magento, in this first part we look at why you should not use Magento for your eCommerce website platform.

Magento is a beast, if its not the depth of the user interface, its hundreds of settings to get used to or just the sheer scale of it. To give you some idea there are 28,000 files for the default installation of Magento (compared to just ~2527  in OpenCart 1.5.5) and that’s not including any media or theme files that you’ll be adding to it as well.

I’ll be completely honest with you, two years ago it took me two or three attempts to get to grips with it, that’s slightly concerning as I would like to think I pick up things fast, very fast. I finally gave in when a client demanded that they needed me to know it, several hours later and many pints of coffee, I felt quite at home.

There is a lot of hype around Magento, for the large part of it, its worthy, but Magento has several other aspects that you need to be aware of:

Development & Design Costs

Because Magento has taken off, developers & designers are charging a premium for the development of custom extensions & themes.

You need to be really careful of this if you need design or coding alterations. I would strongly suggest you document any changes you wish to be made before approaching anyone and get at least three quotes from reputable companies. This will stop you looking inexperienced and open yourself to be over charged.

Expect to pay up to 40% more for the same functionality when compared to platforms.

There has been a very mixed feedback with freelancers, I personally suggest you look at the most downloaded extensions in Magento Connect for each of the categories and locate a company that has completed a similar extension and approach them directly with the specifications.

Magento is quite easy to extend against, but generally it requires a lot more work than other website platforms and expect to pay up to 40% more for the same functionality when compared to platforms.

Update for 2014:
Over the past year I’ve seen quotes from £500 to £20,000 for Magento website designs. The differences are wild and what you get for your money is also wildly different.

If you’re on a budget or would rather spend your website build budget on marketing (which will make you money instead of having to spend it before you can earn it), take a look at the Ultimo Magento website theme, it’s been downloaded over 6,000 times and any bugs in it were ironed out yonks ago. It might not be exactly what you’re looking for, but the disparity between $95 and even the lowest of quotes £500 is huge!

Export/Importing Abilities

This was a shocker, the import and export abilities are astonishing poor. And I mean REALLLLLLLY bad.

I’m used to software products that are highly configurable when it comes to data exports and Magento lacks in every department.

I recently had to hack the core code to get some images in via CSV, it felt soooo bad and its just wrong. There are no category exports and inventory exports are primitive to say the least. There are several import tools for Magento, they vary in their flexibility and cost.

If you’re migrating from another platform, spend a serious amount of time seeing if you can port your data across. This could make or break your decision to use Magento, so trawl the extensions directory Magento calls “Magento Connect” for extensions to migrate from another platform, most of the common platforms have special importers available for them, several examples can be found here for OSCommerce.

Update for 2014:
I got around to documenting and creating the video guides for Magmi as part of the UnderstandingE project, you can find all the video guides here.

Magmi is like the swiss army knife of import tools for Magento, you can pretty do much anything you need to and there are a wealth of plugins available. Those dirty core hacks of Magento are no longer needed, oh and it’s free too.

Indexing in Multiple Website/Store Setups

This is an issue if you are SEF rewrites enabled. Magento wants to have ALL the SEF URL’s (Search Engine Friendly) in a table for each store view for each website for each product for each category.

For single or a small number of stores with a low inventory count this isn’t a big problem. But for big sites of several thousand records (or more) with multiple store views/sites then this becomes a processing issue.

If this is you, then you’ll need to take a look at look at the recommendations on the kit to run Magento and optimisation suggestions; Plus you’l need to take a look at this blog post on a method on how to run the different indexing processes separately because they’ll just never complete on their own.

To give you some idea, one of the sites I recently worked last year, took a minimum of 2 hours and 5 minutes to index. The processes are run in the early hours of the morning, but it does mean new products do not show until they have been ‘indexed’.

Update for 2014:
The quality of web hosting has got better over the past few years and you can get inexpensive, decent Magento focused shared web hosting for £16-30 a month see here (aff link and I use them myself).

While this won’t suit super big sites, you don’t have to overpay or suffer if you’re a smaller business and have lots of inventory. Also SSD disks have come down rapidly in price and seeing as they’re ~10 times faster than traditional disks, there is no real reason for you not to be on SSD disks, especially if MySQL is running off the same server too.

No Bulk Update Tool

This was another shocker, there is no ‘bulk update’ tool. These are taken for granted in other software products I have come across and feel this is a big hole in the Magento platform.

Such tools allow a user to update one or more attributes on many inventory records. The save untold amounts of time, effort, oh and frustration.I did find a plugin that was mildly helpful its called “Related Products Manager” which I covered a few days ago and also its free which helps, but is no substitute.

Server Requirements

Magneto is far from ‘light’ in resource demands. This I hinted at with the indexing requirements I mentioned above. You’ll be lucky to run this on a shared hosting account, it almost demands an entire server to itself and for bigger installations, several with a load balancer to boot.

Expect to be paying good money for the hosting side for Magento, if you skimp here then it’ll bite you in the bum very quickly.

If this does not put you off, then renting or collocating a dedicated server is absolutely suggested for your site. Collocation starts at about £40 + VAT and you supply the kit or a rented dedicated server can be found for around the £85 + VAT mark that should last you a while.

There are also dedicated Magento hosting providers out there, I am unable to comment on them all, one company that suggested that their VPS was “Magento Ready”, when we loaded 14,000 products to it, it was far from capable and moved to a dedicated server with 16Gb of ram and 8 cores instead. Slight overkill, but never had a problem after that “upgrade” :)

TCO – Total Cost of Ownership.

Aptly after the server requirements point, unless you have a technical member of staff or development team, you’ll be better off outsourcing this to a 3rd party and when it comes down to total cost, you may ultimately be better off choosing a hosted solution for Magento or another platform less “resource hungry”.

Update for 2014:
If you’re having to keep to the realms of shared web hosting, then this does come with several benefits, such as regular backups.

Always check with your web hosting provider how often they are made and whether they are off site (desirable) or on site. Trust me there is nothing like the cold sweat of not having a backup to hand and while not to be completely relied upon, this can come in very handy.

It’s Too Good.

Yep this is a negative!

Magento is to deep and offers too much customisation.

Sometimes its better off to get someone else to do a task for you and unless you’re a web designer or a PHP/MySQL developer, you’re better off giving it to someone else.

Stick with the basic functionality and you can’t go wrong.

Working with Magento

Rather than rubbing up against Magento (or anything else for that matter), working with it is always a easier route and here are some suggested resources to read the white paper includes some really good base optimisations for Apache, MySQL & PHP:

  1. Magento for developers (this is an 8 part series by Magento)
  2. A 60 page Designers guide for Magento (provided by Magento)
  3. A 290 page guide for users (also provided by Magento, need to enter some basic details)
  4. System Requirements
  5. White Paper: Methods and Best Practices for High Performance eCommerce with the Magento Enterprise Edition
  6. Book: Mastering Magento (steep at £30, but was helpful as it was similar to the user guide, but easier to understand)
  7. Update for 2014: And UnderstandingE.com, this site has over 100 video guides in Plain English, written & published by myself.

I don’t want to knock Magento, I really, really like Magento, but at times its has been extremely frustrating working with it.

The forums are not the most active places (they suffer from a lot of spam too) and some bugs I have found (well, some, ok most caused) have been a nightmare to resolve to no one really knows what on earth is going on. If I had not been technically competent with a good understanding of PHP/MySQL and what should be happening, then I would have given up on it ages ago.

In Summary

If you’re looking for a simple shopping cart that looks pretty, works well and supports multiple sites (yes other products can do this besides Magento), you may want to look at a personal favourite of mine, OpenCart, but be fully aware that’s not without it’s limitations, especially around multi-variations and stock keeping and no one platform is “perfect”, they never are.

Magento is a beast and from personally experience two years ago, I naively thought it would be quick to learn, how wrong was I… But chuck the resources it needs at it, along with time and you can do wonderful things with Magento.

Why You Should Use Magento

Magento has really taken off in the past few years, especially now eBay own it. But behind the buzz there are some things that really grind my gears and others that make me flutter with excitement.

I wanted to begin by highlighting the pro’s and con’s of Magento, but they were too numerous to list together and in tomorrow’s post I’ll be looking at “Why you should not use Magento” to give this article a more rounded feel to it.

For anyone who has not looked at Magento yet, I think you should do.

It’s a very feature rich platform and sets the standards for others to follow extremely high. Magento can be extended beyond its wide feature set. I’ll be adding a post soon on my top 10 must-have-extensions.

Below is a summary of why I think that Magneto could be the right choice for you:

Multiple Website & Store Support.

This means you can promote your inventory across different domains (this is known as a ‘Website’), then using ‘stores’ create stores that could be differing versions, designs or even languages. When it comes to inventory, you can disable items on different stores, but generally it is assumed that the majority of your inventory base will be used on all the store views.

Widgets & Static Blocks

When you get into playing with Magento, I just love how easily it can be configured, when it comes to widgets, there are some really useful options included by default and you can control these at many levels, product, category etc levels.

Static blocks come in really handy. An example of this is shipping details that are used on a product detail page, within a few lines of code you can add your own static block to your template and then control the content remotely through the Magento CMS section (CMS stands for content management system).

Magento is a configuration-based MVC system.

I have seen people moan about this, but Magento code alignment is in an easy to follow structure called Model View Controller. This in lay-mans terms means it’s really easy to extend or override/adapt Magento’s functions.

A Wide Assortment of Extensions.

Extending Magento is very easily done using the MVC system noted above. The Magento team have an online directory called ‘Magento Connect’ that contains hundreds of extensions, both free and paid for.

Take a look at the extensions directory that Magento call “Magento Connect“, there are hundreds of them, each extending the existing functionality further with some of the best extensions, such as the Fishpig extension to seamlessly integrate WordPress into Magento which is free, bonus!

Loads of Features & Functions Included from the Box

Magento is a feature packed and makes other platforms blush.

Here are a few neat features in absolutely no order:

  • Order reports dashboard,
  • Multi level user control,
  • API Access with configurable levels,
  • Extensible attributes,
  • Several different product types, including variations and digital downloads,
  • A very slick one page checkout process (or several if set),
  • All major payment gateways supported,
  • Multiple image support including a zoom slider,
  • A decent front end for users,
  • Newsletters,
  • Polls,
  • Product tagging,
  • Customer reviews,
    Multiple currencies (with a link for these to be updated via a cron job),
  • Out and in of stock notices,
  • RSS feeds for almost everything, including order status and updates, completely configurable down to website to store view and so on.
  • I’m stopping here, you really need to see the demo or install it yourself.

I did find a decent Magento features list if you’re after a full breakdown of the features and functionality in Magento and I’m sure more has been added since that article was written.

Semi-Decent Content Management System.

The CMS in Magento is pretty good, you’ll go far before needing any extras for this. The variables  button is handy. The only negative is that I do not like the editor, but in true Magento fashion, you can turn this off in the system settings and it also doesn’t trash complex HTML like WordPress does.

Order Process

The order process was a bit weird to get used to, to begin with, but it does make sense and you can process orders in-mass. Documents can be customised and outgoing emails can be altered as desired for each store. There is something like 37 emails that can be edited, but there are just 16 core ones that you would want to edit.

Almost Everything has a ‘Setting’.

No joke, there is a system setting for pretty much everything in Magento.

You can control at a global level and set defaults, then override at a website or even store level.

Note: This is what allows you to change themes & languages between stores/websites and still keep your sanity.


Magento has been designed so that it can be when needed to be run over many servers. This bit can go way over one’s head, but see here for more info.

Stable  & Updated.

Since PayPal was finally sorted out in one of the earlier versions ( to be precise), today we’re at version 1.7. You’ll be hard-pressed to find any bugs and it’s being developed, so as new features, fixes and functions are added, they are released.

Free ‘Community Edition’.

Yep that’s right there is a fully feature FREE version.

However beware it’s not the easiest of systems to install and its requirements are not light. The Magento platform will not run particularly well on a shared host, it needs its own resources. TCO (Total Cost of Ownership) does need to be looked at if you are seriously considering Magento.

Plenty of Themes.

Unlike bespoke systems, Magento is open source and there are many sites that offer themes for Magento, similarly there are plenty of companies that can give you a bespoke look and feel.

Admin Panel

Within a few minutes of browsing the front and back-end admin section of Magento, you’ll understand the scale.

It is quite a lot to take in, it took me several nights to get through everything from end to end, I take things in fast, it’s been noted many times that it takes a decent amount of time to get used to the system and the knowledge base can be 50/50 at being helpful, but it has got better over the past 2 years or so.

YouTube was a superb resource when learning the back-end of Magento

There are many videos on all aspects of the system. See here on Youtube for a start in the right direction.

That’s enough of me typing, go check-out Magento yourself. Here are links to the Community edition back and front ends: http://www.magentocommerce.com/demo (the Community Edition is at the bottom right).


In Summary

Magento sets the feature and stability bar extremely high, very few products can even try to compare to what you can get for free out of the box with Magento.

Its not without its faults and the learning curve is steep.

I’ll be covering some of Magento’s negative points tomorrow in an article called “Why you should not use Magento” (but even then I’ll be sharing some extremely helpful resources with you, so you can master Magento).

Have you used Magento or are you using Magento for your website?

What do you make of it?

Let me know in the comments box below.


Showing Available Configurable Options on the List or Grid View in Magento

Do you sell sized products in Magento or have products with colour options and would like to show the available product options on the gallery or list views like the image above?

If so read on, I have some code for you.


Products with Options

The same as variations on eBay or Amazon, when you’ve got products that are the same, but come in different colours, sizes or both, then both eBay and Amazon allow you to make variation listings. You can do the same in Magento with configurable products, but unlike eBay and Amazon where you’re restricted on what you can do, but with your own website you can do whatever you like.

From a customer’s point of view there are probably only looking for a specific colour of dress or if I’m shopping for shoes, I’m a size 10, I don’t really care about any other sizes and for me as the customer having to trawl through umpteen products on a website is plain annoying.

So what can we do about this? Read on.

Showing customers available options in Magento

We can add some simple copy and paste code to our Magento website, that will show which options are available, so when your customer is looking at your category list pages, where you have multiple products being shown, you can clearly show them which sizes or colours are still in stock.

An example of what we’ll be doing is below:

show available sizes in Magento

As we can see from the image above, the available shoe sizes are being shown on each product. If we think back to me being a size 10, I can immediately rule out the products that are not available in my size and just click on the ones that are (not that Women’s shoes are my kind of thing I hasten to add!).

To do this, first I’m going to share the code snippet with you and then explain what it does and how you can extend it further or alter it to your needs.
$sizes = array();
$colours = array();
$allProducts = $_product->getTypeInstance(true)->getUsedProducts(null, $_product);
foreach ($allProducts as $subproduct) {
if ($subproduct->isSaleable() && floor($subproduct->getStockItem()->getQty()) > 0 ) {
$sizes[] = $subproduct->getAttributeText(‘config_sizes’);
$colours[] = $subproduct->getAttributeText(‘config_colours’);
if(count($sizes)>0) {
<div class=”desc std config_sizes”>
Sizes: <? echo implode(“, “, $sizes); ?>
if(count($colours)>0) {
<div class=”desc std config_colours”>
Colours: <? echo implode(“, “, $colours); ?>
This code was originally posted on http://stackoverflow.com/, but lacked the option to show only the options that had stock on them. Adding “&& floor($subproduct->getStockItem()->getQty()) > 0” on line 7 filtered the items without stock on them out.

Code run down:

  • Lines 1 & 2 set up the arrays we’ll be using to show the available options
  • Line 4 makes sure we have a configurable product
  • Lines 5 & 6 grabs all the simple products and starts to go through each of them
  • Line 7 is the cool line, as that line only adds in products that should be added
  • Lines 8 & 9 add values for specific attributes to each array (more on these later)
  • Then lines 12 to 19 and 20 to 27 spill the options out to the website

Tip: If your website is only ever going to have sizes as options, then you can remove lines 3, 9 and 20 to 27 for the colour options or the opposite lines for the sizes if you’re only using colours on your site.

The two fields you must be aware of are in lines 8 & 9.

These are the attribute names for the configurable products. In this case, they are called “config_sizes” & “config_colours” and must match exactly to the attribute code names that are being used for you size and colour options in Magento.

You can find out what yours are called by going to the Magento admin section, Catalog > Attributes > Manage Attributes and then clicking into your configurable attribute(s) and the code name is in the first box.

Pretty cool so far right? Now let’s this to your site.

Adding this code to your site

In the code snippet above, we must update our configurable options on lines 8 & 9 otherwise this won’t work for us.

Also I’m going to assume that you have worked with Magento themes before and understand the structure of theming in Magento and that you should never, ever change the default theme and you’ll make a copy of the list.phtml file to your website theme directory if needed and also a backup of the current file just in case.

Note: If themes are new to you in Magento, then take a read of this article that explains how they work before continuing.

For the sake of example, I am going to assume that your Magento theme directory is called “my-theme”. What we’re looking for is the file called “list.phtml” located in:


If this file is not present, then copy this file from this directory to your theme folder:


Once you have opened the “list.phtml” take note that this file has TWO views in it, both the grid view and the list view and we’ll need to pop this code in twice and then check both views (assuming you have both views enable on your Magento site)

What we’re looking for is the line that looks like this:

echo $_helper->productAttribute($_product, $_product->getName() , ‘name’);

Being careful of other tags that need to be closed first, after this section, we can add in the code snippet above and press save.

Now nip back to your site and view one of your category list pages where you know you have products that have configurable options on them and see if it’s now displaying them. If you see the options and they look right, then you’re left with one more task for the other view and we’ll cover that next.

If the options did not display:
You may need to just empty the Magento cache for them to appear and if it’s still not appearing, then either we have the attribute name(s) we added above entered incorrectly, the page doesn’t have any configurable products with options that are available, we’re looking at a list view which we haven’t done yet (next section) or the theme may be just hiding this section, so check the pages source code to see if you can see the options there.

Now for the List view
Assuming the above went well for you (which it should do as I have tested this on Magento versions 1.7 & 1.6), we have only done half the job which was for the grid view which is at the top of the list.phtml file. If you scroll down this file and look for the section that reads like this:

<?php // Grid Mode ?>

Now look again for the code:

echo $_helper->productAttribute($_product, $_product->getName() , ‘name’);

And add the same snippet above where appropriate.

I’ve included css classes on both the size and colour options called “config_sizes” and “config_colours”, you can of course change these to whatever you like, but do keep classes on them as it will make styling them a lot simpler.

In Conclusion

This code snippet allows you to show the available options on your site for both grid & list views.

Showing the available options on the grid or list pages in Magento is just good practice. I know from a personal point of view, I’m normally just looking for one size and from my Wife’s point of view, she just wants one colour and size is a secondary consideration.

show available sizes in Magento

Yes, with pages that have lots of products on this is going to add some extra processing time to the page to load and also you’ll need to style these new options too. If you’re really worried about speed on the grid/list pages, then cutting down the number of items being shown is the biggest win (and also good practice too) and if you’re still concerned, use PHP’s microtime() function to see how long this takes to execute and example 1 on this page will help you loads.

If you get stuck with the above guide, ask your web designer or if you are the web designer or just the store owner wanting to add this, pop a comment at the bottom and I’ll help out if I can.