Skip to content
EN

Set Up GST/HST and PST on WooCommerce (Canada)

Short answer: turn on tax in WooCommerce → Settings → General, set tax to follow the customer’s shipping address, then add one GST or HST rate for each province and territory. Add PST, RST or QST rates only for provinces where you’re registered, at priority 2 with Compound unticked. You can import the whole table from the CSV below. WooCommerce charges exactly what’s in your table and nothing more, so the table has to be right.

This guide is for Canadian small businesses selling on WooCommerce: a soap maker in Kingston, a print shop in Victoria, an apparel brand in Toronto. It covers tax settings, a ready-to-import rates file, zero-rated products, invoices, US orders and filing. It’s current as of 1 November 2026.

What you need in WooCommerce: find your situation

Section titled “What you need in WooCommerce: find your situation”
Your situationWhat to set up
Under $30,000 in sales across all channels, not registeredLeave tax off. You’re a small supplier
Registered for GST/HSTThe 13 GST/HST rows from the CSV below
Also registered for BC PST, Saskatchewan PST, Manitoba RST or QSTKeep the matching priority 2 row(s), delete the rest
Selling some zero-rated productsA Zero rate tax class, assigned to those products
Selling to US customersNo US rows unless you’re registered in a US state
Want rates filled in for youAn automated tax plugin (see plugins)

Step 1: turn on tax and choose the settings

Section titled “Step 1: turn on tax and choose the settings”
  1. Go to WooCommerce → Settings → General.
  2. Tick Enable tax rates and calculations and save. A Tax tab appears.
  3. Go to WooCommerce → Settings → Tax and set:
SettingChooseWhy
Prices entered with taxNo, I will enter prices exclusive of taxCanadian shoppers expect prices before tax, and the rate changes by province
Calculate tax based onCustomer shipping addressGST/HST follows the province the goods are delivered to
Shipping tax classShipping tax class based on cart itemsShipping is taxed like the goods it carries
Display prices in the shopExcluding taxMatches how Canadian stores normally show prices
Display prices during cart and checkoutExcluding taxTax is added as its own line
Display tax totalsItemizedShows GST, HST, PST and QST separately, which your invoices need

Check your store address under WooCommerce → Settings → General too. It appears on invoices.

Two WooCommerce fields matter for Canada:

  • Priority: WooCommerce applies only one rate per priority for a given address. To charge GST and PST together, they need different priorities: GST/HST at 1, PST/RST/QST at 2.
  • Compound: a compound rate is charged on top of the price plus the earlier tax. No Canadian province works that way any more. BC, Saskatchewan and Manitoba calculate PST on the pre-tax price, and Quebec has calculated QST on the pre-tax price since 2013. Leave Compound unticked on every row.

Give every province its own GST/HST row rather than one country-wide 5% row. A blank-province 5% row at priority 1 can match an Ontario address before the 13% HST row does, depending on row order.

Copy this into a text file, save it as canada-tax-rates.csv, and delete the last four rows for any province where you aren’t registered. Collecting PST in a province where you have no account means holding tax you can’t remit.

Country Code,State Code,ZIP/Postcode,City,Rate %,Tax Name,Priority,Compound,Shipping,Tax Class
CA,AB,,,5.0000,GST,1,0,1,
CA,BC,,,5.0000,GST,1,0,1,
CA,MB,,,5.0000,GST,1,0,1,
CA,NB,,,15.0000,HST,1,0,1,
CA,NL,,,15.0000,HST,1,0,1,
CA,NS,,,14.0000,HST,1,0,1,
CA,NT,,,5.0000,GST,1,0,1,
CA,NU,,,5.0000,GST,1,0,1,
CA,ON,,,13.0000,HST,1,0,1,
CA,PE,,,15.0000,HST,1,0,1,
CA,QC,,,5.0000,GST,1,0,1,
CA,SK,,,5.0000,GST,1,0,1,
CA,YT,,,5.0000,GST,1,0,1,
CA,BC,,,7.0000,PST,2,0,1,
CA,SK,,,6.0000,PST,2,0,1,
CA,MB,,,7.0000,RST,2,0,1,
CA,QC,,,9.9750,QST,2,0,1,

To import it:

  1. Go to WooCommerce → Settings → Tax → Standard rates.
  2. Click Import CSV at the bottom of the table and upload your file.
  3. Check every row, then save.

The province codes are WooCommerce’s: PE is Prince Edward Island, NL Newfoundland and Labrador. Nova Scotia’s HST has been 14% since 1 April 2025. If your table still says 15% for NS, update it.

Every row has Shipping set to 1, because GST/HST applies to shipping on taxable goods. Provincial rules on shipping vary: BC generally taxes delivery on taxable goods, and Manitoba taxes it when delivery starts outside Manitoba. Check the rules for your provinces in the BC PST, Saskatchewan PST, Manitoba PST and Quebec QST guides.

Keep this rowIf
BC PST 7%You’re based in BC, or your sales to BC customers passed $10,000 in 12 months, or you hold stock in BC
Saskatchewan PST 6%You’re based in Saskatchewan, or you sell taxable goods delivered into Saskatchewan (no minimum for out-of-province sellers)
Manitoba RST 7%You’re based in Manitoba and over $30,000, or you sell into Manitoba from outside (the small-business exception rarely applies)
Quebec QST 9.975%You’re based in Quebec, or your sales to Quebec consumers passed $30,000 in 12 months

See selling across Canada for the full rules.

Queen West Knits sells sweaters on WooCommerce from Toronto. It’s registered for GST/HST and, since passing $10,000 of BC sales, for BC PST. It imported all 13 GST/HST rows and kept only the BC PST row. A customer buys a $120 sweater with $15 shipping.

Shipped toTaxes WooCommerce addsCustomer pays
Toronto, ONHST 13% on $135 = $17.55$152.55
Kelowna, BCGST 5% on $135 = $6.75, PST 7% on $135 = $9.45$151.20
Halifax, NSHST 14% on $135 = $18.90$153.90
Calgary, ABGST 5% on $135 = $6.75$141.75
Seattle, USNothing (zero-rated export)$135.00

Check the Kelowna line: GST and PST are both 5% and 7% of $135. If WooCommerce showed PST of $9.92, the PST row was set to compound and is taxing the GST too.

Queen West Knits also sells into Saskatchewan. Saskatchewan has no minimum for out-of-province sellers, so it should look at registering there and adding the SK row.

Most of what small stores sell is taxable at the full rate. For products that aren’t, such as basic groceries or feminine hygiene products, use a tax class:

  1. In WooCommerce → Settings → Tax, open the Zero rate rates screen.
  2. Add a row: country CA, province blank, rate 0, name GST/HST, priority 1.
  3. Edit each zero-rated product and set its Tax class to Zero rate.

Zero-rated sales still go on your GST/HST return at 0%. Exempt products are different: they aren’t on the return as taxable sales, and you can’t claim input tax credits on their costs. See zero-rated vs exempt supplies.

Provincial exemptions need their own class. BC PST doesn’t apply to children’s-sized clothing, for example, but GST does. For those products, create a class (say, “PST exempt”) with only the GST/HST rows.

WooCommerce doesn’t create invoices on its own. Add an invoice plugin such as WooCommerce PDF Invoices & Packing Slips and add your GST/HST registration number (and any PST or QST number) to the template.

Business customers need your GST/HST number on invoices of $100 or more to claim their own input tax credits, so it’s worth showing on every invoice. With Display tax totals set to Itemized, each tax shows on its own line.

  • No Canadian tax: goods shipped to the US are zero-rated exports. With only CA rows in your table, WooCommerce charges nothing on US addresses. Keep proof of export, such as tracking and customs paperwork. See do you charge GST to US customers?
  • US sales tax: add US rows only for states where you’ve registered. Most small Canadian stores are well below the usual US$100,000 economic nexus thresholds. See US sales tax for Canadian sellers.
  • Duties: the US de minimis is suspended, so almost every parcel pays US duty. WooCommerce core doesn’t calculate duties. Price them in, use your carrier’s duties-paid service, or add a landed-cost plugin. For tariffs, CUSMA and Canada Post’s prepaid-duty rules, see selling to US customers from Canada.

A manual table works well for a small Canadian store, because Canadian rates are set by province and change rarely. You only need to update it when a rate changes, as Nova Scotia’s did in April 2025, or when you register somewhere new.

If you’d rather not maintain it:

  • WooCommerce Tax (free) adds automatic rates for stores based in Canada, among other countries. WooCommerce says it doesn’t file returns, remit tax or tell you where you owe tax. Test an order to each province to confirm it only charges the provincial taxes you’re registered for.
  • GoodVat for WooCommerce calculates GST/HST, PST, QST and US sales tax at checkout, counts your WooCommerce sales with your other channels against the $30,000 GST/HST threshold and provincial and US thresholds, and its Canadian accountant partners can register you and file.

For a comparison, see best sales tax software for Canadian sellers.

WooCommerce’s Reports (or Analytics → Taxes) break down tax collected by rate name. Use the totals for:

  • Your GST/HST return with the CRA, filed online through NETFILE or My Business Account. All GST and HST from every province goes on the one return.
  • A separate return to each province where you collect PST, RST or QST.

Add sales from Etsy, Amazon, craft fairs and wholesale before you file. WooCommerce only knows about WooCommerce orders.