How to configure Magento for sales tax in Canada

To those unfamiliar with the Canadian sales tax system, an introduction leaves most the sense that it is both complicated and cumbersome to fully comprehend. At least, that was my first reaction when I first started working in the country.

In today’s article we’re going to show you how to setup tax rates within Magento specifically to handle the Canadian sales tax system. Though the same tools can be applied to taxation rules for any country.

Background

If like me you need to wrap your head around how Canadian sales tax is supposed to work I would strongly recommend reading up on the basics before going much further. I’m not going to rewrite a Wikipedia article here but I will extract a few key points for the purpose of this article.

Three types of sales taxes exist in Canada.

  • A Goods and Services Tax (GST) is a federally enforced tax meaning it applies across the country where an HST tax does not already apply. Canadian GST is a 5% tax.
  • Provincial Sales Taxes (PST) are collected in select provinces as per the table below. Applicable goods and the tax rate of PST’s vary among provinces. Moreover, in Quebec and Prince Edward Island PST is a cumulative tax that is also applied to the GST portion of a sale. I will demonstrate how to use compounded taxes in Magento later in the article.
  • A Harmonized Sales Tax combines PST and GST taxes in select provinces into a single tax. Currently only 3 provinces collect an HST however it is important to note that this is set to change as of July 1st 2010 with British Columbia and Ontario set to introduce an HST in replacement of the current tax system.

The many varied rates makes this whole thing sound pretty complicated so lets break it down to a simpler view to see what’s really being charged here.

Province HST GST PST Total
Alberta 5% 5%
British Columbia 5% 7% 12%
Manitoba 5% 7% 12%
New Brunswick 13% 13%
Newfoundland and Labrador 13% 13%
Nova Scotia 13% 13
Northwest Territories 5% 5%
Nunavut 5% 5%
Ontario 5% 8% 13%
Prince Edward Island 5% 10% 15.5%*
Quebec 5% 7.5% 12.875%*
Saskatchewan 5% 5% 10%
Yukon 5% 5%

* in Québec and PEI, PST is calculated on the total price including GST. Please also note that these rates may not be correct after publishing this article, you should always double check these figures with the relevant authorities.

After glancing at the table above you would be forgiven for asking yourself if you really need to worry about taxes outside of your own province. Particularly where PST is concerned this matter can further confuse the issue of online retail sales within the Canadian tax system. In short I’m going to suggest that you do worry about taxes outside of your home province but again I highly recommend some further reading on the topic. In fact here you may find a very eloquent summary of the accepted practices and legislation’s involved.

Getting down and dirty

Ok so now that we have reasonable understanding of the rates and rules that our online shop must conform to we can move onto the actual Magento setup. I’m going to assume that you’ve already got a Magento store installed and operational.

Let’s start with the rates that apply to each zone. In your Magento administration select Sales > Tax > Manage Tax Zones and Rates. You may need to delete the sample tax rates provided if this is a new store. Otherwise select Add New Tax Rate.

The Tax Identifier field is the name of the tax rate that will appear on the customer’s invoice. For the first one we’re going to enter GST then select Canada from the Country drop down box. As GST applies to all provinces leave the State as *. We don’t need to worry about Post code ranges so we can leave those two fields as is. For Rate we simply have to enter a number for our tax rate. In our case a 5 will suffice. This should leave us with something like the image below.

This takes care of GST for everyone. For our other tax rates we simply repeat the process but select the province from the State drop down box to indicate to which zone the tax rate applies. Go ahead and enter the other tax rates from the table above until. Once you’re done you should have a nice list like the following. If time is of the essence you could also import this CSV into your store under Sales > Tax > Import / Export Tax Rates to have the tax rates done for you.

Tax Rules

With our rates setup now we need to give Magento a bit more information about the rules to use in order to apply tax to a customers order. For this we need to go to Sales > Tax > Manage Tax Rules and select Add New Tax Rule.

Here we need to select which tax rates we are going to apply to our customer and product classes. Our GST and HST taxes can be applied in the same rule but we need to be a little more specific with our PST rules so we’ll do them separately.

We’ll start with GST and HST so firstly you’ll need give your tax rule a Name, something like Retail Customer-Taxable Goods-Canada should suffice but this can be anything you like. Ensure that your Retail Customer group is selected from the Customer Tax Class box and both Taxable Goods and Shipping* are selected in the Product Tax Class box. To select multiple items within each box simply click and drag or hold shift or control whilst clicking on each item.

From the Tax Rate box make sure you have your GST and HST for NB, NL and NS selected. Set the Priority 1 and the Sort Order to 1. The priority number will be used to implement our compounded taxes in a few moments when we add our PST rules. Select Save Rule to return to the Manage Tax Rules screen.

Now we’re going to add the first of our PST rules, namely those of British Columbia, Ontario, Manitoba and Saskatchewan that are calculated on the sub-total of products excluding GST. That is, non-compounded tax rates. To do this we simply make a new tax rule with the same priority number as our GST tax rule. Magento will apply tax rules of the same priority number in the same calculation and add this amount to the sub-total. Tax rules of differing priority numbers will be calculated separately in order from lowest to highest. That is, it will calculate the tax required for priority 1 tax rules, add this amount to the sub-total, then calculate tax required for priority 2 tax rules and add this amount to the sub-total and then so on until no more tax rules apply.

Go ahead and add in the non-compounded tax rules until you have a table like the following.

Now we need to add in our compounded tax rules for both Quebec and Prince Edward Island. Based on what we now know about how Magento treats priority numbers in tax rules we simply have to add these the same way as our other tax rules but use a Priority number of 2 or higher. You should end up with a table like this.

See it in action

Well that’s the hard part out of the way. Your site should now be calculating correctly based on the customers location. We can test that by heading to your shop front and placing some sample orders pretending to be from different locations. At this point though you’ll notice a couple of things that need to be fixed before we are finished.

Firstly, by default Magento will not list multiple taxes as separate line items on your order. They are calculated together and simply listed as Tax. To fix this we need to go to back to the admin section and navigate our way to System > Configuration, under the Sales menu on the left hand side select Tax. Under the Shopping Cart Display Settings section we need to set Display full tax summary to Yes. There are some more settings in this tax section that you may want to look at while you’re here depending on your catalog display preferences. Below is a snapshot of the tax settings for my store for your reference.

Result!

Well there we have it. Not only have we learned we gathered a better understanding of the complex Canadian taxation system we’ve also learned how to tame Magento to handle it all for you. I hope you enjoyed this first installment of our series of blog posts about Magento. There’ll be plenty more to come in the very near future that can hopefully make setting up your online store just a little bit less confusing.

Feel free to post any comments or questions below and I’ll do my best to clear things up.

More on this topic

Sleekd has provided another well written article on setting up Magento to handle Canadian tax. You should also be sure check that the tax rates you use are up-to-date when setting up your store. My figures were taken from Wikipedia when writing this article.

Tags: , , ,

  • http://www.bluelotuscreative.com/blog/magento-articles Magento Articles | Blue Lotus Creative

    [...] How to configure Magento for sales tax in Canada [...]

  • http://topsy.com/trackback?utm_source=pingback&utm_campaign=L2&url=http://www.bluelotuscreative.com/blog/how-to-configure-magento-for-sales-tax-in-canada Tweets that mention How to configure Magento for sales tax in Canada | Blue Lotus Creative — Topsy.com

    [...] This post was mentioned on Twitter by Arnaud Ligny, Magento Mavens. Magento Mavens said: RT @Narno: How to configure Magento for sales tax in Canada http://icio.us/cmdtc1 [...]

  • http://apanama.info Canal de Panama

    Remarkable, thanks for posting!

  • http://cheapestflightstonewyork.info Lawanna Medicus

    Finally a smart blogger…I love how you’re thinking and writing!

  • Cam

    Thanks a lot for taking the time to explain this in such a detailed yet clear and concise fashion. This seriously saved me a lot of time and prevented me from setting this up in a more convoluted fashion.

    Cheers and looking forward to your future posts about magento.

  • Andrew

    Followed this exactly, but for some reason HST provinces are still getting the GST only and not the HST.

  • http://www.imuniversity.ca/search-engine-optimization/ Jaimee Huddy

    I’ve noticed your website a while ago, just never really got a chance to post anything back. I found it to be very useful and would like to see if you are able to get in touch with me and maybe we can have a discussion on a few of these topics. Would appreciate a response back.

  • Eric S.

    Very, very helpful. Thanks so much for the tutorial.

  • Alex

    Thank you for your tutorial. It works great for me with the compounded taxes but it only applies the GST for my HST provinces. My priorities looks to be setup ok… :-( Any idea why it’s doing that ?

  • http:// admin

    Hi Alex

    This post was written in before the HST came into effect in BC and Ontario. You will need to edit the tax rates .csv file and change the values to the 12% for HST. Hope this helps.

    Gabriel

  • http:// admin

    Hi Andrew

    Are you referring to BC and Ontario? The HST only came into effect on July 1st, this post was written before that. To change the tax rates simply download the .csv file and change the values under BC and Ontario to the 12% HST rate.

  • DavidM

    Thank you for posting this guide, it was helpful for setting up my store. Just to correct the HST % for BC it’s 12% and for ON it’s 13% as per Canada Revenue Agency website.

    ON - http://www.cra-arc.gc.ca/gncy/hrmnztn/on/menu-eng.html
    BC - http://www.cra-arc.gc.ca/gncy/hrmnztn/bc/menu-eng.html

  • Chris

    Hi

    This didn’t work for me. I tried it multiple times.

    This is the problem I get:
    For HST provinces at 13%, it calculates it a 100$ item at 118$ with the tax. It adds GST as well for some reason. Any ideas?

    Thanks,
    Chris

  • Alan

    I’m seeing the exact same symptoms as Alex: I’ve configured BC and Ontario to their respective HST rates. The rest of the provinces have their correct sales tax rate.

    My Tax Rules look exactly as shown in the screen shot above, except the HST-BC and HST-ON entries are also included in the first row with the other HST provinces and GST. They no longer have their own line items.

    When buying a product that is $83.99 the subtotal/grand total show as $88.19. The difference between those numbers is $4.20, or 5% of 83.99, which is the GST rate.

    If I de-select GST from the ‘Retail Customer - Taxable Goods - Canada’ tax rule then the HST is applied correctly, e.g. $10.92 is the new tax line instead of $4.20.

    I’ve been poring over this and have deleted/recreated the tax rules and zones many times, thinking that I’ve done something wrong.

    I’m sure that this is one of things that will suddenly start working after one small item is change; I’m just not sure what needs to change.

    Any suggestions would be very appreciated.

    Thanks,
    Alan

  • Sylvain

    How do you keep a GST rate applying to all provinces from adding up to a HST rate for a specific province within the same priority level. I keep following the same instructions everywhere and I seem to be the only one havng this problem…

  • http://www.bluelotuscreative.com admin

    Hey Guys

    We found a problem with our solution as well after reviewing when we upgraded to the latest version.

    What we did is we had to separate the GST from each of the tax rules. GST now is now applied as it’s own rule per province.

    Same with HST.

    In the example above we had the HST rules merged with the GST rule.

    Hopefully this helps those who have been struggling with this issue.

    I know im now breathing a sign of relief.

  • Cristian

    Hi admin,
    I have tried your suggestion from last post to separate the GST and HST for the tax rules, but still no resolution. GST is still added to the HST provinces when magento does the calculation. Can anybody give me a solution for this?

  • Noah

    I’ve tried multiple times to follow this. I cannot choose two items from the same box. So confusing.

  • Noah

    Never mind. I’m an idiot. I got it.

blog comments powered by Disqus
Contact Blue Lotus Creative - 604-306-8701
Archives
Testimonials
All Testimonials

Big thumbs up for everything about Gabriel and the Blue Lotus team. We have used Blue Lotus for all of our eCommerce design work ever since they were recommended by our web developer. Blue Lotus provides us the best customer service, quality and creative all for an amazing price with incredible turnaround time. They never over promise and have always delivered when we had to rush something for a quick deadline. Simply put, meeting Blue Lotus in 2010 was one of the best things that happened to us all year!

Ryan and John MacCauley — (co-founders of ClassWatch) TheClassWatch.com