Magento Shipping Extensions » Developing with Magentohttp://www.webshopapps.com/blog
Webshopapps BlogSat, 23 Apr 2016 05:59:51 +0000en-UShourly1Building against Magento 2 – My Thoughts So farhttp://www.webshopapps.com/blog/2015/09/building-against-magento-2-my-thoughts-so-far/
http://www.webshopapps.com/blog/2015/09/building-against-magento-2-my-thoughts-so-far/#commentsSun, 13 Sep 2015 08:49:02 +0000http://www.webshopapps.com/blog/?p=2515Over the past couple of months in between my day job of running WebShopApps/ShipperHQ (which keeps me more than busy) I’ve been writing Magento 2 extensions. For fun? No not exactly, we were asked to write them by Magento for the Merchant Beta, the rest of my team is maxed so I get the short […]

]]>Over the past couple of months in between my day job of running WebShopApps/ShipperHQ (which keeps me more than busy) I’ve been writing Magento 2 extensions. For fun? No not exactly, we were asked to write them by Magento for the Merchant Beta, the rest of my team is maxed so I get the short straw.

I wanted to jot down some of my experiences so far, and my conclusions at this point in time. I realise you will not all agree, in fact far from it. But someone needs to raise these issues. Because many of them are valid I’m sure.

Magento 2 is a total rewrite of all our code

What I’ve found is that pretty much without exception we need to rewrite all our extension code. In the most part I have no issue with this. Its a chance to refresh, do things differently, regroup. But where I do have an issue is where I have code written in the last year and I’m finding that very little can be re-used due to the changes in Magento 2. And worse, if I do take the code and copy into Magento 2 extension I then have hours of painstakingly boring and meticulous work pulling out all the objects into the constructors, creating the factories, adding namespaces, switching around the way many many mechanisms work. The IDE is not helpful, coming from using IntelliJ on Java in the past 2 years I find PHPStorm is just utterly frustrating on every level. And its written by the same company, so clearly many of the isues are actually with the PHP language. Hopefully Magicento can help us!

Magento 2 is changing

It’s clear from looking at the Magento 2 codebase that not all of it has been fully refactored. In between Merchant Beta and a release just 3 weeks later my Magento 2 extn broke because of changes to the core code. The code is inconsistent, e.g. the use and non-use of underscores for variable names is frankly totally frustrating, as if you try to adhere to not using underscores (as seems to be recommended) you then find you are either repeating variable definitions in parent classes or have this rather odd mix of underscore and non-underscore in your own code (which looks awful). I get its in beta. We are being asked for code for ‘free’ against beta. Its frustrating.

There are many other examples around this area, for instance there was a full-on debate the other day raised by myself on whether Observers still are valid or are replaced by Plugins. TBH I felt like I was a leper even questioning the concept, and I was shouted down initially with a very firm argument against me saying that Observers were dead (which in my mind went against core computing principles around the use of interceptors). In fact they aren’t, as became apparent later. What if I hadn’t have questioned this (and if Alan Storm didn’t raise many of the very valid questions around Magento 2)?. In my mind these basic principles of the Magento framework should be fully decided, documented, and ideally adhered to throughout the codebase so we have examples (especially when there is a lack of clear documentation).

The biggest point here is that I don’t believe Magento really appreciate the knock-on effect of constant fiddling with the Magento 2 code. Agile is good, quicksand is not. They are asking us to write extensions on Magento 2. This is not a quick job, its tens of thousands of dollars worth of investment. And then if Magento go change everything we need to rewrite. This is why I personally stopped coding in Magento 2 between Feb and July, it just seemed that it was changing far too much to justify my investment of time.

Documentation is Sparse

There is an extreme lack of documentation to help us. The DevDocs area is non-searchable (yep I know the reasons why) and from my perspective its not adding value. Alan Kent and Alan Storm blogs are what I’m looking at most, apart from that I’m reading core code (hello 2008). I just hoped we would be further along by now, I don’t want to be investing my time in debugging the core or searching google, I just want to get a job done and fast.

Yes, I hear you say, write some docs for it. I have updated some docs. I’d do more but I have my own docs to deal with. I’d love to have hours to spend on writing Magento 2 docs but I have my own business to run. Magento is not my life, its a platform I integrate onto.

Design Pattern Overdose

It feels like some programmers swallowed some books on design patterns when I look at Magento 2. I get that architecture on such a large system needs to move towards standards and in an ideal world I’m sure we would all love to be using SOLID principles and never write an else statement, it seems to me that the resulting code is:

Bulky, difficult to navigate and frankly overly verbose

Written with unit testing as its primary goal

Inconsistent in its use of computer science techniques

What Magento does is great, and I have the utmost respect for the Ukrainian development team that largely put this together.

I think whats bothering me is that as a company I’m being forced to write in this new way too. And actually whilst I think they have some great ideas I don’t agree with all of them (e.g. lets dependency inject the world even if we will never ever ever mock/change that), and they just added a ton of dev time to my projects.

I should say that I’m familiar with design patterns, have used them recently and in the past. I’ve read GoF many times, and variations of it. Do I live my life by it – no. I’m not trying to be the best programmer in the world, I’m not interested in winning the award for anything. I’m trying to deliver quality timely solutions to my customers within a reasonable budget such that I can pay staff wages and my mortgage. I have nothing to prove academically.

TDD

We all want to do test driven development (in theory). In reality few do. I’ve done pair programming, I’ve done TDD, in various languages, and its very hard to make that the way you function. There are many articles on TDD. Personally I think that unit tests are extremely useful, especially when it comes to refactoring and regression testing code, and I push all my staff to create.

But writing tests when you don’t understand the framework you are using is nigh on impossible, so following TDD when you start writing Magento 2 code IMO is very hard.

TDD is also time consuming. And unfortunately we don’t all have massive budgets or unlimited resources. Its a massive re-pivot to ask a company to follow a TDD approach, especially initially. I have no doubt it will happen, and it will be a good thing, but I’m just not sure automated unit tests will be there from day 1, and by enforcing it you are saying that companies need to have more funds (i.e. its becoming an enterprise product).

As a FYI we use automated unit testing very successfully in ShipperHQ, we also have automated unit tests on several of our Magento 1.x extensions. I’m not against unit testing at all (and I believe in the long run it will improve the quality of extension codebase massively).

Do we need Magento 2?

This is the biggest thing I’ve been struggling with. I know we need Magento 2 in theory, I totally get that we need higher quality, more testable code, and we need to bring the technologies upto date.

But – you know what we are all busy. And I have a team that is trained in Magento 1. Yes there are issues in 1, do I want to throw away a years worth of work at this time – frankly no. And it’s not just a years worth of work, because what I’ve found is that you end up just refreshing everything.

Add to this the fact that everyone is busy. We are all earning money right now and need to keep up with that. Do we have the time to invest in Magento 2? It is not 2008, there are many alternatives (including 1.x), maybe as businesses we decide not to invest in it.

Personally I do think we need Magento 2, well we need a replacement. I’m just not looking forward to the pain of what it is!

Integrating as a Technology Partner

From my experience thus far in Magento 1.x and 2.x our base investment in Magento is at least 100 times what we are investing to plugin into other eCommerce platforms. The ongoing investment for supporting an existing extn is massively more (though hopefully some of this will be alleviated with the introduction of service contracts and clear interfaces when they are completed).

Personally I think technology partners just want to worry about their own area of expertise, whether thats email, ERP, shipping, payment, or whatever. And they just want to plug in to Magento as easily and quickly as possible. With other platforms we don’t have our codebase under anywhere near the level of scrutiny as we are having to go thro with Magento. And it actually just works, nowhere near the level of site issues (in fact there are no site integration issues due to the way platforms such as Bigcommerce/Shopify define their apis).

Conclusion

I love Magento, and all its about. The merchants, the code, the community, the ecosystem. Magento 2 promises us many things, reduced conflicts between extensions, better performance, higher quality, to name but a few.

But I feel like no-one is flagging these very real concerns, and they should be flagged. Because it will affect us all directly or indirectly. If this blog makes one of the Magento developers sit down and write more developer documentation or helps push Magento publish a functional roadmap outside of github then my job here will be done.

If Magento 2 is hard to learn and does result in longer more expensive projects then I’m not actually sure companies will move to it. I think agencies might try one project, find out that it costs them a fortune and revert back to 1.x. I think extension companies will write basic extensions, see what the uptake is before investing significant money in building out more.

What I see is that Magento 2 today is destined to be an Enterprise solution. For definite anyone with a Magento site < 1million in revenue (and a decent profit) should really be looking at other solutions for their needs. You are going to see design agencies disappear, extn agencies disappear. And you will see new ones enter. But I’d be very surprised if the agency prices on Magento 2 implementations don’t rise dramatically. A big reason within this is that Magento developer salaries will rise further, because many will struggle with it.

What I’d like is for Magento to tell us where Magento 2 is pitched. And be clear about that. So that thousands of agencies/developers/merchants dont invest in this and then find that all their hard earned cash is sucked up in a money pit with no return.

And actually I’d love to be proved wrong on all of the above. Because personally the thought of this community become a small cliche of elite programmers and gold solution agencies just doesn’t appeal.

]]>http://www.webshopapps.com/blog/2012/10/magento-api-get-product-details/feed/0Magento Extensions Follow Uphttp://www.webshopapps.com/blog/2012/09/magento-extensions-follow-up/
http://www.webshopapps.com/blog/2012/09/magento-extensions-follow-up/#commentsFri, 28 Sep 2012 22:13:00 +0000http://www.webshopapps.com/blog/?p=851What’s it all about? A little over 3 weeks ago I posted a blog about Magento extensions, and how I felt that there was not enough regulation around the marketplace, or enough information for merchants, web design agencies to make informed decisions. A few things happened after: The community responded. Mainly around twitter, but also […]

A little over 3 weeks ago I posted a blog about Magento extensions, and how I felt that there was not enough regulation around the marketplace, or enough information for merchants, web design agencies to make informed decisions.

A few things happened after:

The community responded. Mainly around twitter, but also in the blog comments, people elsewhere had opinions on this topic. We showed we cared, and we understood

Magento responded. Why? Well only they can answer, and maybe not everyone will believe, but my opinion is that they know there is a need to improve and they appreciate they don’t have all the answers

We had a Google+ Hangout, views were aired, people could get in the room, a few couldn’t

Thanks to everyone who got involved, who emailed, and who showed their concern and their passion for Magento. I was pretty surprised tbh.

What happened in the hangout?

So what now, what were the conclusions, where can we go from here?

Quite a few things were raised in the Google+ Hangout. The main areas seemed to me to be:

Magento Connect – we can all see that this needs improvement so that merchants have more information

Reviews & Ratings – clearly on Magento Connect its not working. How can we move this forwards?

Training – We need more magento developers, more self-help blogs, more support for companies trying to expand their knowledge & staff

Improving Accountability – How can we identify the bad extensions/companies, but also help these where required so their can improve

Code Reviews – can we ‘socially’ do code reviews?

Where are we now?

A few of the tangibles I’ve seen coming out of this are:

@IvanChepurnyi created a documentation draft on Github for a possible extension code review site

I spoke with Magento/X.commerce whilst at Shop.org. Quite a few things were discussed, this is not a topic you can open and close in an hour meeting.

I believe from those discussions that Magento understand that they need to provide some boundaries from which the marketplace can hopefully mature responsibly, but I also think rightly they do not wish to constrain it too much. As that is, after all, the beauty of ‘Open Source’ and a community, it needs freedom.

Where do we go from here?

I realise I’m glossing over quite a bit of detail. Why? Because this isn’t about me or my thoughts, it is about us as a community. If its just one voice it’s no voice.

From a purely personal perspective I think we do need a central area we can talk, collaborate, throw ideas, pass information back to Magento, maybe kick start things ourselves where we have shared interest or shared benefits.

Do you want to join me?

My vow is that I will go on the site within the next week and put down some of the ideas I’ve fed back to Magento (and some that I haven’t). If no-one else decides to join in, then well its just a waste of a few hours, and I’ll continue on my merry way

And my concerns? Well I think we had this as a comment on the blog, we all mean well but we are all busy. We need to make time for this, and maybe sometimes we have delays, work gets in the way, we just want to sleep. But I hope people can see that this is our future. We need to help improve the Magento Eco-System, because it is in all our interests to do so.

Lastly, I think we really need to be careful we don’t create a ‘club’. I see from my own experiences that there is a need to help developers ranging from those that joined yesterday to those that have been around for 5 years. We cannot discriminate, we cannot afford arrogance or favouritism. We all need to ask ourselves whether we can improve, and I think we would all say yes to that.

]]>http://www.webshopapps.com/blog/2012/09/magento-extensions-follow-up/feed/4Some of my beautiful customershttp://www.webshopapps.com/blog/2012/09/some-of-my-beautiful-customers/
http://www.webshopapps.com/blog/2012/09/some-of-my-beautiful-customers/#commentsSun, 09 Sep 2012 02:09:46 +0000http://www.webshopapps.com/blog/?p=842Today a customer nearly made me cry. I’m not an emotional person, and never has a customer made me feel that way. Why? Because he gave me advice. Not many people give me advice, so I appreciated it more than he would ever realise. This led me to think about my customers, and the interesting […]

]]>Today a customer nearly made me cry. I’m not an emotional person, and never has a customer made me feel that way. Why? Because he gave me advice. Not many people give me advice, so I appreciated it more than he would ever realise.

This led me to think about my customers, and the interesting characters I have met over the years. Here I give you an insight into some of them.

– There was the guy that wanted me to write a shipping extension which used buses in Africa. Basically the price of the package varied based on the bus stop it was picked up at and the one it got off at. He didnt take up my offer

– Another chap from an island off Africa (I cant recall its name) who told me he was opening the first e-commerce shop there, and in Magento. He showed me pictures of his baby

– The chap from Brooklyn I met at Imagine 2011, we were both fed up of networking and talking shop so he told me about his young family and I told him about mine. He later become a customer

– The really annoying woman who pestered me forever and nearly closed my business because she kept stretching my extensions til they would work from here to the moon. I ended up writing her a completely custom one. She became one of my best friends

– The guy from San Diego who was an ‘entrepreneur’ and thought we could do great things together until I gave him the quote

– The many men from Dallas, Houston way who charm me with their drawling voices and great character

– The ‘older’ merchants, I spoke to one last week, a guy who had built his shop ‘offline’ and was now joining the world of e-commerce. He invited me to his house to meet his family and showed me a great restaurant we should visit

– The man on chat who lived with lots of dogs, all alone. He kept coming in for support, I think he liked me

– The woman with the whirlpools, she was scary

– The coffee guy, you know who you are. Interesting, articulate, helpful and honest. Someone I aspire to be like

– The chap who first asked me to fix tablerates, and left me with the problem for the weekend. Then it was solved and Matrixrate was born

– Dave, the guy that kept hasselling me whilst I was in a hut in Yellowstone in 2009 with my family, I ended up writing an extension that I’ve never had to reproduce since, god it was complicated

– The man who said he wouldnt pay $40 for an extension, then proceeded to go on getafreelancer.com and ask people to build it for less. He came back 6 weeks later

]]>http://www.webshopapps.com/blog/2012/09/some-of-my-beautiful-customers/feed/2Extension Meeting Schedulehttp://www.webshopapps.com/blog/2012/09/extension-meeting-schedule/
http://www.webshopapps.com/blog/2012/09/extension-meeting-schedule/#commentsWed, 05 Sep 2012 06:42:43 +0000http://www.webshopapps.com/blog/?p=835Agenda The goal of this meeting is to get on the table the major concerns around extensions, and get a list of ideas around how we could act as a community to improve this space. Overview – 5 mins Major concerns – what’s the problem with extensions today? – 15 mins Ideas for improvement –15 […]

The goal of this meeting is to get on the table the major concerns around extensions, and get a list of ideas around how we could act as a community to improve this space.

Overview – 5 mins

Major concerns – what’s the problem with extensions today? – 15 mins

Ideas for improvement –15 mins

Wrap up summary and reality check – 10 mins

Plan of actions – 5 mins

Location

I’ve spoken a few people and the consensus seems to be that Skype will fall over with more than a few participants. So for today’s meeting at 10am PST today let’s use a Google+ Hangout and the twitter channel #extnreview.

You can watch the conversation and join in via Google+ or twitter if you would like to join in. The Hangout will be ‘on Air’ which I’m reliably informed means anyone can watch.

If you have any problems please add me on skype – webshopapps and talk to me there.

]]>http://www.webshopapps.com/blog/2012/09/extension-meeting-schedule/feed/0Magento Extensions in the Spotlighthttp://www.webshopapps.com/blog/2012/09/magento-extensions-in-the-spotlight/
http://www.webshopapps.com/blog/2012/09/magento-extensions-in-the-spotlight/#commentsTue, 04 Sep 2012 00:27:57 +0000http://www.webshopapps.com/blog/?p=767Back in 2010 I spoke to Magento about, amongst other things, how we could get standards around Magento extensions so that merchants and web designers/agencies could make educated decisions on which extensions and companies are good/bad/trustworthy. Magento staff have moved on, we now have 5000 extensions and the issue remains, in fact I think its […]

]]>Back in 2010 I spoke to Magento about, amongst other things, how we could get standards around Magento extensions so that merchants and web designers/agencies could make educated decisions on which extensions and companies are good/bad/trustworthy.

Magento staff have moved on, we now have 5000 extensions and the issue remains, in fact I think its got worse.

What are the Problems?

Let’s start by saying there are many many great extensions out there and some great extension companies as well. If there weren’t Magento would not be as successful as it is today and I wouldn’t have a business as the trust in extns would be lost.

But, based on my experiences with WebShopApps customers, there are issues with quite a few Magento extensions aswell. The most common issues seem to be:

No support and/or documentation

Extension stops being maintained

Support turnaround time is slow (>2 working days per email)

Support packages integral to extension sale (no support without)

Codebase is poor, resulting in many bugs and problems with extension conflicts

Are these issues that are specific to Magento? I very much doubt that, I expect this is a problem with all e-commerce platforms, maybe an even bigger problem as there is less transparency on some. Its certainly an issue you see with the Apple iPhone Apps, so its not unique and it’s hard to solve.

What about Magento Connect?

You could argue reasonably that Magento Connect is the portal for reviewing extensions and companies. After all it has a review capability and extensions are ‘checked’ by Magento staff. But its open to many forms of abuse and fixing. I won’t detail them here as it will maybe encourage more, but let’s just say the figures and reviews aren’t always what they seem.

It’s a well known fact that you have to work 10 times as hard to get someone to leave you a good review as getting a bad review – customers who are happy or of that disposition where they dont complain also often don’t go out of their way to give praise either, they just want to get on with their day-2-day work and who can blame them?

What has Magento Done?

Magento has introduced many initiatives to help improve Magento Extensions. Their efforts include:

Developer Certification

Free training materials for developers to self-learn

Trusted Extensions

Greater checks on Magento Connect applications

Community Managers being involved at grass root level

Industry Partner Programs

But Magento are busy, having eBay around must take up a fair bit of their time nowadays(!) and they are coping with massive growth, it is impossible for them to be all things to all people. Maybe we have a responsibility to assist here?

What Can WebShopApps Do?

Back in August WebShopApps launched the AppShop which has been extremely well received. The aim here is to market the top 50-70 paid extensions, with a focus on companies/developers that have a high level of customer service and good quality supported extensions.

But this doesn’t really go far enough, really what is required is a central place where people can easily get detailed information about extensions and the extension companies.

Can WE Change Things?

So it’s easy to complain, to blame magento, or to blame extension companies. But can WE change things together and improve the situation here? Can we ‘raise the bar’ and push extension companies to improve their offerings? Can we give objective unbiased information to extension buyers?

I actually think this is possible. The reason I think this is because I think the Magento Community is one of the best tech communities in the world, and I know we really care about this. How do I know – well see the twitter comments from last Saturday – it exploded when this conversation started there.

The vast majority of us want to evolve, we want to improve and we want to make Magento great. This isn’t about self-promotion, or marketing, its about being the best engineer we can, about how we can introduce process and standards to improve the e-commerce space for today and tomorrow.

How do I get Involved?

So how can you help? Well we need to pool ideas and come up with a plan. Maybe we have an extension review panel, maybe we have an extension provider directory, I’m not sure. It’s not my decision, it needs to be a joint effort for it to truly succeed. I don’t see myself as running the show here, I helped the Magento Meetup London back on it’s feet and now I’m no longer required as an organiser – that’s what I hope will happen here because this isn’t about me or WebShopApps.

I’ve organised a skype meeting for 10AM PST on Wednesday 5th Sept. Contact me via email or twiter to get involved, or simply add me on skype (id is WebShopApps) and send me a message. I am in the process of getting a Google+ circle together.

If you want to get involved make your voice heard, leave a comment here, tell us your ideas, it sounds corny but I do believe we can make a difference here. Thanks to all on twitter for your contributions so far, its been fantastic and inspiring.

Magento inc – we would love to get your involvement, your support and your ideas. I see this as very much a collaboration, us working with Magento to improve it, I hope that’s understood. If we are doing something that you have on your roadmap and you can see issues then let us know, I’m sure we all have better things to do if thats the case.

]]>http://www.webshopapps.com/blog/2012/09/magento-extensions-in-the-spotlight/feed/13Why are WebShopApps Gold Partners?http://www.webshopapps.com/blog/2012/04/why-are-webshopapps-gold-partners/
http://www.webshopapps.com/blog/2012/04/why-are-webshopapps-gold-partners/#commentsSat, 14 Apr 2012 23:07:29 +0000http://www.webshopapps.com/blog/?p=678There has been some discussion on the worth of the Magento Partner Programmes so I thought I’d explain why WebShopApps did it. WebShopApps became Gold Industry Partners with Magento September 2011, and for us it’s been well worth the investment. We had never done any marketing prior to joining this programme, and part of me […]

]]>There has been some discussion on the worth of the Magento Partner Programmes so I thought I’d explain why WebShopApps did it.

WebShopApps became Gold Industry Partners with Magento September 2011, and for us it’s been well worth the investment. We had never done any marketing prior to joining this programme, and part of me at the time felt maybe it would be a waste of money as we were already successful and ‘doing our thing’.

Where has the accreditation helped us most:

Customers large and small trust us more – they can see we are reputable and that we have been successful enough to get to this level

Other industry partners are more willing to talk to us – before we become a partner we found it quite hard to talk to Shipping companies. Now we can refer to our status and it opens doors

We have a point of contact in Magento – I believe this is invaluable

Access to the Enterprise Platform – we can now conduct thorough testing on all versions of this platform as part of our license

The blog by Sonassi refers to the fact anyone can become a partner. Well yes this is true.

But you will find that people in this business are intelligent. They understand the ones that have bought the badge through having big company backing or venture capital. They will understand the real businesses like WebShopApps, Blue Acorn, Classy Llama and Unleaded Software who have worked long and hard to build a business based on great customer service, great products, and sound software engineering practises. Our customers are clever, they read all the signals, not just one.

Anyone can claim to be anything, people with backing can buy anything, but slowly the cracks show.

We embrace the partnership program. Would I join if I was just starting out? No – build your business and build your customers, then once you have traction and want to expand your reach definitely look at joining to get that stamp of approval. You won’t regret it IMO.

I should also add I believe this is just the dawn of these programmes, they will continue to improve over time, I think Magento does a great deal of listening to the partners and tries to take on board our feedback – they know its not perfect, and sometimes the machine turns more slowly than our fast paced businesses would like. But hey its a start and I thank them for the opportunity.

]]>http://www.webshopapps.com/blog/2012/04/why-are-webshopapps-gold-partners/feed/2VAT in the EU using Magentohttp://www.webshopapps.com/blog/2011/10/vat-in-the-eu-using-magento/
http://www.webshopapps.com/blog/2011/10/vat-in-the-eu-using-magento/#commentsMon, 24 Oct 2011 01:55:48 +0000http://www.webshopapps.com/blog/?p=411VAT – what’s the deal? WebShopApps is based in the UK and we sell extensions all over the world, so like many eCommerce businesses, we have had to get our head around VAT rules. Our understanding is that: VAT is charged at your local VAT rate to all non-VAT registered customers based in the EU […]

If you already have your tax rules setup for the EU (1 & 3 above), you can skip the next section and jump down to ‘what about VAT registered business customers?’

How has WebShopApps set up VAT in Magento?

First we have created product classes in Sales>Tax >Product Tax Class – we simply use Taxable Goods but you may need to have VAT standard, VAT reduced rate and Zero rated if you have products at different tax rates

We then set up tax rates in Sales>Tax> Manage Tax Zones and Rates. We have one entry for every EU country with a rate of 20% and a rate for Jersey and the Channel islands of 0% (based on postcodes). We’ve exported our EU Tax Rates csv file, which you can import under Sales>Tax>Import/Export tax rates to save some time. EDIT: These rates are for B2B where tax prices are exclusive. If you are doing retail or you are using tax inclusive pricing, you will need to assign Guernsey and Jersey to their own country codes GY and JE. Thanks to Robbie Donaldson for the tip.

Next we created a tax rule in Sales> Tax>Manage Tax Rules that applies to our product tax class (created in step 1), our standard customer groups and includes all of the tax rates (created in step 2)

In our catalog we then select the Product tax class on our goods

Now we will be charging the correct amount of VAT to customers in EU countries and no VAT to customers outside of the EU.

What about VAT registered business customers?

Effectively, you have a group of customer that shouldn’t be taxed, no matter what they buy. So you need to set that at the customer tax class level.

Create a new customer tax class under Sales>Tax>Customer Tax Classes, ours is called EU Business Customers

Don’t apply any tax rules to this group, as they aren’t charged any tax

Create a new Customer Group under Customers>Manage Customer Groups, again ours is called EU Business Customers, and assign your tax class in step 1 to it

If you haven’t already, add the VAT number field to your checkout under System>Configuration> Customers>Customer Configuration> Name and Address Option > Show Tax/VAT number

Now when a customer checkouts and enters a VAT number you can verify it using the VIES service and if it’s valid, add them to the customer group you created in step 3, oh, and don’t forget to refund the VAT they got charged on their first order.
If, like us, you have hundreds of customers and many new ones each day, this manual processing quickly becomes a headache.

How can we help?

Check a customer’s VAT number during registration, at the checkout or from the admin panel for admin orders. This is done through the VIES web service, run by the EU.

Automatically add them to the correct customer group, so they only need to be validated once (for registered customers)

Remove the VAT from their order

It has lots of other features and configuration options so you can control, for example, what happens when the web service is down and whether to verify the syntax first. It’s a great little extension and comes with our full recommendation because we use it ourselves!

]]>http://www.webshopapps.com/blog/2011/10/vat-in-the-eu-using-magento/feed/10The future of Magento in the new X.com worldhttp://www.webshopapps.com/blog/2011/10/the-future-of-magento-in-the-new-x-com-world/
http://www.webshopapps.com/blog/2011/10/the-future-of-magento-in-the-new-x-com-world/#commentsTue, 18 Oct 2011 11:19:58 +0000http://www.webshopapps.com/blog/?p=509Remember that blog I wrote a while back raising some of the concerns when eBay acquired Magento? Time to revisit. I certainly wasn’t the only one asking ‘are they Apple or Microsoft’? X.Commerce Innovate 2011 has been and gone. So what’s changed in Magento World? Here are my own thoughts: Magento […]

]]> Remember that blog I wrote a while back raising some of the concerns when eBay acquired Magento? Time to revisit.

I certainly wasn’t the only one asking ‘are they Apple or Microsoft’?

X.Commerce Innovate 2011 has been and gone. So what’s changed in Magento World? Here are my own thoughts:

Magento isn’t going anywhere fast. This is a big part of X.com

Community, community, community. It’s a fact, we have more connections to merchants than X.com can make directly. So by supporting developers/design agencies they are in turn supporting merchants. Hallelujah!

The App Store will only get bigger and hopefully smarter. This will relieve developers to do what they do best – develop

X.com realise that developers may be able to do things better than them. Wow, this is a real Apple moment. Amazing!

Magento Go is being re-shuffled to support extensions. WebShopApps are the amongst the first to release a Trusted Extension

There will be more opportunities opening up to both merchants and developers. It’s exciting times for all

The overriding sense I got from Innovate 2011 was that Magento/X.com haven’t become arrogant, they are not complacent, and they know that hard work is ahead. You can also see this amongst the design agencies large and small, the extension developers and the individual designers. I could almost spot Magento people walking around as they seemed so friendly and down-to-earth.
And, in my opinion this is one of the truly great things about Magento. It brings together people from all walks of life, this isn’t just for techies or just for corporate bods. You can be niche, you can big or small, and you can make a difference.

The common factor amongst everyone at the #preinnovate tweetup was the sheer passion for Magento, and that we all truly love our jobs. That’s a great feeling, and we are privileged to be a part of this journey.

Having personally worked both in large companies and startups my advice to eBay is definitely to listen to the philosophy of a startup, do not hemorrhage money and become an unwieldy machine. Do not sit on your perch looking down at the masses. Follow the example of Magento, get involved, stay agile, muck in, understand, learn and evolve. Then together we will be successful.

]]>http://www.webshopapps.com/blog/2011/10/the-future-of-magento-in-the-new-x-com-world/feed/2Magento, X.Commerce & the Communityhttp://www.webshopapps.com/blog/2011/06/magento-xcommerce-community/
http://www.webshopapps.com/blog/2011/06/magento-xcommerce-community/#commentsThu, 16 Jun 2011 22:12:43 +0000http://www.webshopapps.com/blog/?p=238Okay, so I’m sticking my neck out here, I don’t blog as much as I would like (2 young children & running WebShopApps.com kind of stops a lot of things), and although I rant verbally I try not to write it down too often. But I’m sort of hoping I can get across what I […]

]]>Okay, so I’m sticking my neck out here, I don’t blog as much as I would like (2 young children & running WebShopApps.com kind of stops a lot of things), and although I rant verbally I try not to write it down too often. But I’m sort of hoping I can get across what I believe people are worried about around Magento, X.Commerce, Go platform and all the current change going on.

It’s easy to rant about Magento. Buggy code, no support, no roadmap, don’t care about developers…But ultimately for quite a number of us in the e-commerce space Magento has given us a new lease of life, we may have formed a whole new company on the back of dipping the toe in the water back in 2008, and now even be a major player in the space. We may be a freelancer hacking away at home earning a very good living from that one magento extension we sell for $20. Or we may be a blogger providing information for ‘free’ and in return earning an income from consultancy. Magento has given many of us opportunities, and before we rant we must acknowledge that and thank them.

The concerns? Well the lastest news about X.Commerce does re-iterate the feeling that our destiny is not controlled by us. Magento is fluid, it’s changing, new owners, regular new releases, Magento Go, Saas, Ebay, XCommerce, X.com. How do we manage to keep up with this?

What will Magento be in 1 year from now? I’m not sure anyone knows the true answer to that question, not even Yoav, Roy or the guys at XCommerce. For those of us whose foundation is Magento this obviously brings questions and concern:

How should we invest?

Do we send our staff to magento university to get trained in Magento 1.x or will those skills be out of date in 6 months?

Do we invest in extension development for a platform that may shrink in the future?

How do we get our extensions on Magento Go – can we even get our extensions on there when the only interface seems to be Javascript and a REST API?

Do we spend $$$s on developing xyz and hope we can integrate?

Or do we just roll over and say ‘hey that was a good time but now I’m ready to move onto something more secure?

My feeling is that Magento haven’t really laid down their identity. The ideal which I believe most people want is for Magento to be a framework for e-commerce. Which doesn’t have major change happening every month. We want there to be clear guidelines on what Magento will develop in terms of functionality and what they will leave alone. We don’t want them one day to be developing a framework, the next to be developing an extension. We don’t want to see them acting as e-commerce solution providers, that’s what their Enterprise Partners do. We want to know what ‘open source’ really means for Magento.

If Magento don’t set these clear boundaries on what they are I believe it creates an extremely flaky foundation for the community, and as such results in less investment in Magento, people become wary and look at other business opportunities.

Magento’s perspective on this? I’m guessing that they would say they are just building in ‘core’ functionality that is either needed to make the platform gain traction (e.g. Payment Gateways on Magento Go), or because there is so much demand that missing these out would cause issues. Or, Magento Go just isnt ready for developers yet. My answer to this is, like test-driven development, you should be doing community-driven development, don’t develop code then worry about how the community can feed in after.

I recently posted on inchoo’s blog that we had to embrace, support the changes and move forwards. I still say that, we have no option but to do this if we want to grow and have a prosperous future. No matter how we look at it we are all on the Magento train. You either get off at the next stop, or you hold on and try ensure you are keeping up.

In my little ideal world this is what I would like to see:

Magento become a true framework for ecommerce that supports web designers & developers

Re-assure us by giving us access to technical docs on how the Magento Go platform will support design & development

Stop ‘bulking’ magento with new functionality that can/has been developed by 3rd party developers

Spend effort on making the framework support multiple extension installations without risk of conflict (make it more like how iPhone Apps work)

Setup a working group that consists of members of the community and magento staff, so that communications are improved and we have channels of people we can approach as ‘magento’ outsiders

Magento keep saying that they support Open Source, I think what people really want to see is proof of that in the new Magento Go/X.Commerce space. Then maybe we will be re-assured.

And for WebShopapps? Well, we will be staying on the train (we are needed for the parcel post!), hope they don’t push us off after this blog