As a business owner and eMerchant operating and selling within Canada, it is important to know what the amount is to charge for sales tax on the goods and services that you offer your customers. This is vital in the online world of eCommerce as the customer base you sell to can also be nationwide. In this tutorial, we will briefly detail what your responsibility is as a business for charging customers sales tax – or “value-added” tax – as well as guide you through correctly defining tax rates and rules within your Magento eCommerce storefront.
Before proceeding with how to configure Magento for applying applicable sales tax within Canada, we should quickly cover some basics of the Canadian sales tax system. It would be advisable to have a solid understanding of the Canadian sales tax system, as it is almost as vast and varied as Canada’s landscape.
If you sell goods or provide services within Canada, then the Canada Revenue Agency (CRA) requires you to collect sales tax from your customers on those goods and services that they purchase. While different regions across the country may have in place specific additional consumption taxes or even tax exemption criteria for certain goods and services (e.g., lodging, books, liquor, etc.), we’re going to focus in this tutorial on the general application of the way sales taxes are levied within Canada.
Sales Taxes in Canada
In Canada, there are three types of sales taxes:
- Provincial Sales Tax (PST), levied by the provinces wherein the tax rate varies province-to-province
- Goods and Services Tax (GST), a general nationwide sales tax levied by the federal government that is applicable wherever the HST is not in use
- Harmonized Sales Tax (HST), a single blended combination of the PST and GST present in select provinces
Almost every Province has implemented a Provincial Sales Tax or the Harmonized Sales Tax – the exception, for the time being, is the province of Alberta, which only adheres to the Goods and Services Tax. In addition, all three Canadian territories only collect the GST.
Furthermore, Québec’s implementation of the PST (known as the Québec Sales Tax, or QST) is unique in that it is a cumulative or compound tax. The QST is calculated after and applied on top of the primary GST. In contrast, the standard PST active in other provinces only applies to the amount charged before taxes – or the subtotal.
Tax rates per province/territory
Total tax rate (%)
|British Columbia||GST + PST||5||7||12|
|Manitoba||GST + PST||5||8||13|
|Newfoundland and Labrador||HST||5||8||13|
|Prince Edward Island||HST||5||9||14|
|Québec||GST + QST||5||9.975||14.975|
|Saskatchewan||GST + PST||5||5||10|
DISCLAIMER: the rates and tax rules presented here may not be correct or up to date beyond the date of publication. Before making any business decisions on taxation, please refer to the Canada Revenue Agency and your provincial or territorial revenue agency.
Essentially, as a business operator you are required to collect from your customers either both the GST and PST, just the GST, or the combination HST. When you sell a taxable good or service to out-of-province/territory customers, you are to apply the sales tax that is applicable in your customer’s province or territory. Therefore, it is important and to your benefit that you stay abreast of any changes in taxation within the regions of Canada that you service. Be mindful that the tax rates are as consistent as the political tides.
However, do not worry, as implementing Canada’s myriad of tax rates in Magento is relatively simple to accomplish. Now that we are aware of what tax rates and rules apply to our online storefront, we can proceed with configuring Magento.
Let us begin by creating Tax Rates in Magento for each of the Canadian sales tax rates described above:
A Tax Rate in Magento, is a combination of place, or tax zone (country, province, postal code), and percentage.
Within your Magento Admin Panel, navigate to ‘Sales > Tax > Manage Tax Zones & Rates’ and press the ‘Add New Tax Rate’ button. Here you can fill out the Tax Rate Information as in the screenshot below for the GST, for instance.
Please note that the Tax Identifier field is how the tax rate will be displayed to the customer. The CRA requires the GST, PST, and HST to be clearly shown on invoices.
Upon pressing the “Save Rate” button, you will have created a representation of the GST within Magento. From here, you can either continue creating individual rates within Magento for each variation on PST, HST, and QST applicable in the remaining provinces and territories – or, alternatively, you can simply import this convenient tax rate file. This CSV file will add Tax Rates for GST, PST, HST, and QST based on the table above, for use in this tutorial and on your site. You can import it at ‘Sales > Tax > Import / Export Tax Rates’.
Canadian Tax Rules in Magento
Now that Magento is setup with our Canadian tax rates, we can create the tax rules that use these rates to apply taxes to a customer’s order.
A Tax Rule states that a customer will pay a specific tax determined by if they belong to a certain tax class of purchaser, purchased a product belonging to a certain tax class, and are shipping it to a location under the jurisdiction of a given tax rate. Effectively, we are selecting the Tax Rates that apply to the combination of product class and customer class.
As you can see in this screenshot, we have created a Tax Rule for the “Retail Customer” tax class and the “Taxable Goods” product tax class. We have combined GST and HST into one rule because they are mutually exclusive and both cannot be active at the same time.
We can create a Tax Rule for PST in a similar way; nearly identical to the above except that the selection of Tax Rates would be limited to PST rates. Again, each location is independent of another, so we can combine all the PST entries into one rule.
Of note here, is the Priority field when setting a rule. When more than one tax applies to a location (such as GST and PST), lower numbers have a higher priority. If two tax rules have the same priority, when they are applied the applicable tax rates will be added together. This is what we desire for most cases with PST; that both the GST and PST rates are calculated on the order’s subtotal. However, if you recall earlier we explained that Québec’s QST is a compound tax. When taxes are compounded, the first priority tax (GST) is calculated on the subtotal amount, as per usual. However, the second priority tax (lower priority and of a higher number) is calculated on the subtotal plus the amount of the first priority tax rate.
We want GST to be calculated first; therefore we have set the GST/HST tax rule’s priority to 1 (which forces it to be calculated first) and the sort order to 1 as well (which is the order it is displayed in within the tax breakdown).
Next, for our PST tax rule, we keep the rule’s priority at 1 as we want the PST to be calculated on the subtotal as well – separately from the GST. However, we set the sort order for PST 2, so that it displays after the GST calculation in the tax summary.
Lastly, to define a compound tax rate on the tax rule for QST, we set both the rule’s priority and sort order to 2. This will cause it not only to display after the GST, as does PST, but also to calculate the QST rate as a result of any already applied tax with a priority of 1 (GST in our case).
Tax Summary Details
At this point, we have populated Magento with the relevant tax rate data and have defined rules with which to use them. However, we can still add some more detail to the way we display those taxes to the customer.
By default, Magento does not display multiple tax rates as separate line items on an order. They are instead displayed totalled together as if it were a single calculation. If, within the Admin Panel, you navigate to ‘System > Configuration > Sales > Tax’, you can enable Magento to display a full tax summary instead on the shopping cart, orders, invoices, and credit memos.
Wrapping it All Up
In this tutorial, we have explored Canada’s multiple levels of sales tax – GST, PST, HST, and QST. We have identified where and under which conditions certain tax rates are applied and how they are calculated. We have ensured that our Magento store is up to date with digital implementations of these tax rates per location. We have built tax rules that use these rates with consideration towards priority during calculation; and we have ensured that the full tax summary is available to customers.
Now, we should test and confirm that our site’s tax collection is operating as we intend it. To do this, add a product to your cart and experiment with different locales to estimate your tax rate. Make sure you are of the same customer tax class as the rules you created and that you are testing with a product of the same product tax class. If these conditions are not met, the tax rule – and by extension the tax rate – is not applied or calculated on your cart.
In the following screenshots, you can see that we used an Alberta address to verify the GST, a Manitoba address to verify GST + PST, an Ontario address to verify HST, and a Québec address to verify GST + compound QST.