New: Odoo and Dynamics 365 cost calculators.Estimate your costs

Odoo Canada: GST, HST, PST and QST setup

Odoo 19.0 installs a Canada accounting localization with GST, HST, PST and QST in the tax template.

FlecticUpdated 21 min read

Odoo 19.0 installs a Canada accounting localization with GST, HST, PST and QST in the tax template. Fiscal positions cover every province and territory, plus International, and as of October 2026 those rates match the CRA GST/HST calculator, including Nova Scotia HST at 14% since 1 April 2025. You still assign the delivery province on each customer and confirm the purchase-tax accounts. Your accountant files the returns, and payroll sits outside these modules.

Three modules ship together: Canada - Accounting (l10n_ca), Canada - Accounting Reports (l10n_ca_reports) and Canadian Checks Layout (l10n_ca_check_printing), as listed on the Odoo 19.0 Canada page. The percentages, fiscal-position map and tax accounts are in the 19.0 tax template. CPA005 payments are a separate install. On the Canada tax thread, Odoo staff say: "When importing Canadian localization, it is the client's responsibility to review the tax rates in Odoo up to date with the client's accountant." The same reply says Odoo supplies the software package and leaves the accounting legal process with the client.

What Odoo 19.0 installs for Canada

l10n_ca is the accounting module that carries the tax template. l10n_ca_reports adds Canadian financial statements and a tax report. l10n_ca_check_printing adds Canadian check layouts. Turn on l10n_ca_payment_cpa005 when you pay vendors by CPA005 file.

Default fiscal positions on that page are Alberta (AB), British Columbia (BC), Manitoba (MB), New Brunswick (NB), Newfoundland and Labrador (NL), Nova Scotia (NS), Northwest Territories (NT), Nunavut (NU), Ontario (ON), Prince Edward Islands (PE), Quebec (QC), Saskatchewan (SK), Yukon (YT) and International (INTL). The documentation spells the Prince Edward Island position Prince Edward Islands. Search for that label when you audit the database. The position still maps to 15% HST in the 19.0 template, which is the CRA rate for Prince Edward Island.

The same Canada page states the delivery rule in three practical cases. The province where delivery occurs decides the tax, so a customer in another province who receives a delivery should carry that province's fiscal position. A customer who picks up at your location should have no fiscal position set. An international vendor who charges no tax, with tax charged by the customs broker, uses the International fiscal position.

Reports installed with the localization are Balance sheet (CA), Profit and loss (CA), a cash flow statement, an executive summary, and a tax report. The tax report can run monthly, every two months, quarterly, every four months, semi-annually or annually. Nothing on the Canada page says Odoo transmits that report to the CRA or to Revenu Québec. Treat it as the working paper your accountant files from.

Avalara AvaTax can be connected for real-time calculation in Canada and the United States. It is an optional integration, separate from the modules the Canada localization installs. If you add it, your accountant still has to agree that the tax it calculates is the tax the return expects.

Which rate applies in each province

Charge the rate for the place the goods are delivered, then store that place as the fiscal position on the customer. As of October 2026 the CRA calculator and the Odoo 19.0 template agree on the thirteen provinces and territories below. The Outside Canada row is the Odoo International fiscal position at 0%. The CRA calculator does not list that 0% as a rate for supplies outside Canada. GST/HST Memorandum 3-3-2 (April 2026) lists the federal GST at 5% and the harmonized rates by province. CRA generally does not administer provincial PST, other than QST for selected listed financial institutions, so British Columbia, Saskatchewan and Manitoba still need their own provincial process on top of the GST return.

  • Alberta (Rate as of October 2026: 5% GST · Odoo 19.0 fiscal position: Alberta (AB) · Taxes in the 19.0 template: 5% GST)
  • British Columbia (Rate as of October 2026: 5% GST and 7% PST · Odoo 19.0 fiscal position: British Columbia (BC) · Taxes in the 19.0 template: 5% GST plus 7% PST BC, grouped as 12%)
  • Manitoba (Rate as of October 2026: 5% GST and 7% PST · Odoo 19.0 fiscal position: Manitoba (MB) · Taxes in the 19.0 template: 5% GST plus 7% PST MB, grouped as 12%)
  • New Brunswick (Rate as of October 2026: 15% HST · Odoo 19.0 fiscal position: New Brunswick (NB) · Taxes in the 19.0 template: 15% HST)
  • Newfoundland and Labrador (Rate as of October 2026: 15% HST · Odoo 19.0 fiscal position: Newfoundland and Labrador (NL) · Taxes in the 19.0 template: 15% HST)
  • Nova Scotia (Rate as of October 2026: 14% HST · Odoo 19.0 fiscal position: Nova Scotia (NS) · Taxes in the 19.0 template: 14% HST)
  • Northwest Territories (Rate as of October 2026: 5% GST · Odoo 19.0 fiscal position: Northwest Territories (NT) · Taxes in the 19.0 template: 5% GST)
  • Nunavut (Rate as of October 2026: 5% GST · Odoo 19.0 fiscal position: Nunavut (NU) · Taxes in the 19.0 template: 5% GST)
  • Ontario (Rate as of October 2026: 13% HST · Odoo 19.0 fiscal position: Ontario (ON) · Taxes in the 19.0 template: 13% HST)
  • Prince Edward Island (Rate as of October 2026: 15% HST · Odoo 19.0 fiscal position: Prince Edward Islands (PE) · Taxes in the 19.0 template: 15% HST)
  • Quebec (Rate as of October 2026: 5% GST and 9.975% QST · Odoo 19.0 fiscal position: Quebec (QC) · Taxes in the 19.0 template: 5% GST plus 9.975% QST, grouped as 14.975%)
  • Saskatchewan (Rate as of October 2026: 5% GST and 6% PST · Odoo 19.0 fiscal position: Saskatchewan (SK) · Taxes in the 19.0 template: 5% GST plus 6% PST SK, grouped as 11%)
  • Yukon (Rate as of October 2026: 5% GST · Odoo 19.0 fiscal position: Yukon (YT) · Taxes in the 19.0 template: 5% GST)
  • Outside Canada (Rate as of October 2026: Odoo International position at 0% (not a CRA calculator rate) · Odoo 19.0 fiscal position: International (INTL) · Taxes in the 19.0 template: 0% International)

HST provinces are marked N/A for a separate PST on the CRA calculator. Alberta and the three territories are listed at 0% provincial tax beside 5% GST. Combined provincial taxes in the Odoo template are groups of two child taxes: 11% GST+PST SK is 5% plus 6%, 12% GST+PST BC is 5% plus 7%, 12% GST+PST MB is 5% plus 7%, and 14.975% GST+QST is 5% plus 9.975%. Both children have include_base_amount set to false, so each child is calculated on the sale price.

Nova Scotia HST has been 14% since 1 April 2025. Odoo's Nova Scotia update added a 14% HST tax and kept 15% because New Brunswick, Newfoundland and Labrador and Prince Edward Island still use it. A follow-up was required because non-NS fiscal positions were not mapping the new 14% tax.

The older province table on the Canada tax thread still shows Nova Scotia at 15%. Use the 19.0 template and the CRA calculator when you check a rate. If your database was created before April 2025, open the Nova Scotia, Ontario, New Brunswick, Newfoundland and Labrador, and Prince Edward Island positions and confirm each one maps only its own rate.

On the CRA charge-and-collect page, a Winnipeg store sells a laptop delivered in Halifax, and the tax charged is Nova Scotia HST. The same paragraph names Manitoba GST plus RST as the store-province pair in that example. The calculator lists Manitoba's provincial rate as 7% PST, while the Halifax example calls it RST. A CAD 100.00 taxable delivery in Halifax on or after 1 April 2025 is 14% HST, so the tax is CAD 14.00.

The template also ships 0% GST and 0% Exempt beside 0% International. They are three taxes. Your accountant should say which one belongs on a zero-rated export and which one belongs on an exempt supply before you point the International position at a customer.

What you still set before the first invoice

You set the fiscal position on the customer yourself. A customer who receives a delivery in another province should carry that province's fiscal position. A customer who picks up at your dock should have no fiscal position set. After you save the contact, read the taxes on a test order and match them to the province where the goods change hands.

Cross-border purchases use the case Odoo documents. An international vendor who invoices no tax, while the customs broker charges the tax, gets the International fiscal position. The 19.0 template maps that position to the 0% International tax. For a customer outside Canada, use the same International position. Ask your accountant which of 0% International, 0% GST and 0% Exempt belongs on the export line of the working paper.

Registration for GST and QST in Quebec runs through Revenu Québec. A business carrying on commercial activities in Quebec must register for both when worldwide taxable supplies of the business and its associates exceed CAD 30,000 in a calendar quarter or in the four preceding calendar quarters, as of October 2026, on Revenu Québec's registration page. That CAD 30,000 line is the test for most businesses; charities and public institutions register under different small-supplier rules. The same page says taxi businesses, and some retail sales of tobacco, fuel, alcohol, new tires and road vehicles, must register even as small suppliers, and that a voluntary registrant must stay registered at least one year. Registering for QST requires registering for GST.

Most businesses face the same CAD 30,000 line for GST/HST. CRA's registration page counts worldwide taxable supplies of the business and its associates, including zero-rated supplies and excluding financial services, capital property and goodwill, in a single calendar quarter or over the previous four consecutive calendar quarters. Under that line, registration is optional. Suppliers outside Canada who are not registered under the general GST/HST system must register under Quebec's specified QST system when taxable supplies of incorporeal movable property or services to specified Quebec consumers exceed CAD 30,000 in a 12-month period, excluding supplies made through a specified distribution platform run by a QST registrant, on Revenu Québec's specified-system page. Your accountant decides which test fits the company before configuration starts.

Purchase taxes post to different template accounts from the taxes you collect. That split is the trail your accountant uses when they prepare the return. Ask each bidder to show the purchase-tax accounts on a vendor bill as their own line.

If you sell books, children's clothing, or another product your customers expect at a reduced provincial rate, have the implementer put that product on a test invoice and read the tax lines with you. The 19.0 template ships the full GST, HST, PST and QST rates and three 0% taxes, with no reduced-rate or exemption tax for those goods, so the test invoice will show the full table rate. The accountant has to decide whether a separate tax or exemption is required before go-live.

What a CAD 1,000 sale shows in tax

Assume a CAD 1,000.00 taxable sale of goods, delivered in the province named, with no exemption and with the 19.0 group taxes calculated on the selling price. Rates are as of October 2026.

  • Ontario (How the template calculates it: 13% HST on CAD 1,000.00 · Tax: CAD 130.00 · Invoice total: CAD 1,130.00)
  • Nova Scotia (How the template calculates it: 14% HST on CAD 1,000.00 · Tax: CAD 140.00 · Invoice total: CAD 1,140.00)
  • New Brunswick, Newfoundland and Labrador, Prince Edward Island (How the template calculates it: 15% HST on CAD 1,000.00 · Tax: CAD 150.00 · Invoice total: CAD 1,150.00)
  • Alberta, Northwest Territories, Nunavut, Yukon (How the template calculates it: 5% GST on CAD 1,000.00 · Tax: CAD 50.00 · Invoice total: CAD 1,050.00)
  • Saskatchewan (How the template calculates it: 5% GST (CAD 50.00) plus 6% PST (CAD 60.00) · Tax: CAD 110.00 · Invoice total: CAD 1,110.00)
  • British Columbia or Manitoba (How the template calculates it: 5% GST (CAD 50.00) plus 7% PST (CAD 70.00) · Tax: CAD 120.00 · Invoice total: CAD 1,120.00)
  • Quebec (How the template calculates it: 5% GST (CAD 50.00) plus 9.975% QST (CAD 99.75) · Tax: CAD 149.75 · Invoice total: CAD 1,149.75)

Ontario is one tax line of CAD 130.00. British Columbia is two lines that add to CAD 120.00, and the PST line is CAD 70.00, which is 7% of the CAD 1,000.00 selling price. Quebec's QST on this amount is CAD 99.75, which is 9.975% of CAD 1,000.00, with GST and QST each taken on the selling price. Revenu Québec's calculation page describes that two-step method, and allows a one-step cash register to use 14.975% instead. The Odoo group is the two-step method: two children, one sale price, a group name of 14.975%.

A smaller Quebec invoice is where rounding shows up. Revenu Québec guide IN-256-V (March 2025) shows a taxable sale of CAD 100 as GST CAD 5.00 plus QST CAD 9.98, total CAD 114.98, with both taxes on the selling price. 9.975% of CAD 100 is CAD 9.975. Fractions of half a cent or more round to one cent, so the QST becomes CAD 9.98. The template stores 9.975%. Revenu Québec allows the rate to be shown as 9.97% only when the register cannot hold three decimals, and that rounded rate must not appear on the sales document.

For a company that only delivers inside Ontario, the Ontario position and the 13% HST line are the invoice test that matters, and the other positions should stay off those customers. The same CAD 1,000 order delivered to Halifax, Vancouver and Montreal collects CAD 140.00, CAD 120.00 and CAD 149.75 of tax. Put the fiscal position on the customer who receives each delivery so the invoice uses the matching row.

What the Canada tax report gives you at month end

"Even though I collect the tax together GST + PST but I need a report with separated amount." A buyer posted that on the separate GST and PST thread.

On the tax group thread, another wrote: "In Canada, we have a Harmonized tax in some provinces, and a combined PST+GST in some other provinces. But the GST portion of the combined tax, and the HST, is filed as one tax."

A reply on the same thread adds: "If I create two tax groups, one called GST and the other HST then I get two different lines on the Tax report, meaning that we have to do some calculations in order to file our sales tax return/remittance."

The Canada tax report is the working paper for that close. Run it on the cadence you file: monthly, every two months, quarterly, every four months, semi-annually or annually. Pair it with Balance sheet (CA) and Profit and loss (CA) when the close also needs Canadian statement layouts. Your accountant uses the sales-tax lines and the purchase-tax balances to prepare the GST/HST filing, and any QST or PST filing, in the agency's own channel.

Collected tax in the 19.0 template posts to these identifiers. They are template ids, and the account numbers printed on your chart can differ. Open each tax and read the account your database shows before you quote a code to the accountant.

  • GST: l10n_ca_231000
  • PST and QST: l10n_ca_232000
  • 13% HST: l10n_ca_233000
  • 14% HST: l10n_ca_234000
  • 15% HST: l10n_ca_235000

PST and QST share l10n_ca_232000. A company that remits QST to Revenu Québec and PST to a western province should ask the accountant whether one collected balance is enough, or whether those taxes need separate accounts before go-live. HST at 13%, 14% and 15% already has a collected account each, which is what keeps Nova Scotia's 14% apart from the 15% provinces on the books.

Where purchase tax posts, including Saskatchewan resale

Purchase taxes mirror the split, again as template ids. On a vendor bill, open the purchase tax and read the account your database shows.

  • Purchase GST: l10n_ca_118100
  • Purchase PST and QST: l10n_ca_118200
  • Purchase HST 13%: l10n_ca_118300
  • Purchase HST 14%: l10n_ca_118400
  • Purchase HST 15%: l10n_ca_118500

Those purchase accounts are the trail an accountant uses when preparing input tax credits and Quebec input tax refunds. At month end, export the tax report and these balances, and let the accountant make the adjustments the form requires.

Saskatchewan purchases need an extra look. The template includes a regular 6% PST SK purchase tax, a separate 6% PST SK tax named "Goods for resale", and an 11% GST+PST SK goods-for-resale group. A distributor buying inventory should post one vendor bill on the resale taxes and one on the regular purchase PST, then keep the version the accountant accepts.

CRA lists the British Columbia, Saskatchewan and Manitoba rates and says it generally does not administer provincial PST, other than QST for selected listed financial institutions. Ask the accountant, or the province, whether you must register for PST. Keep the CAD 30,000 figure for the GST/HST test described above.

How CAD and US dollars work beside the taxes

Odoo sets the company currency from the country the company is based in. A company based in Canada comes up in CAD. Activating a second currency, typically USD for a cross-border supplier or customer, turns on automatic rates. You can refresh them manually, daily, weekly or monthly, from a web service you select in settings.

The multi-currency guide says exchange differences post to a dedicated journal and to gain and loss accounts. The Canada chart template includes Foreign Exchange Gain and Foreign Exchange Loss.

Select the web service in currency settings, post a USD bill and a USD invoice, and read the gain or loss on Foreign Exchange Gain and Foreign Exchange Loss. A US legal entity and a Canadian legal entity in one database should keep separate companies, because each company takes its currency from its own country and its own fiscal positions. The steps for that split are in Odoo multi-company setup.

Bank synchronization in Odoo 19 requires a valid Odoo Enterprise subscription. The providers named there include Plaid for the United States and Canada, and Salt Edge worldwide. Odoo says it supports over 26,000 institutions. Search the institution list for your bank during discovery, and count the feed as available once your bank appears there.

Payroll and payments the accounting modules leave aside

The Canada accounting page does not list a payroll module. Odoo 19 payroll documentation says a country localization must be installed because it configures local rules and taxes, and that the settings you see depend on which localization is installed. An Ontario user wrote on the Canadian payroll thread: "Odoo does not have the module for Canadian Payroll localizations. Where can I find information how to set it up. I need to setup deduction for CPP Income tax EI and other information as required by local law in Ontario."

Plan CPP, EI and Ontario income tax as its own scope, with the accountant in the room. Odoo payroll setup and localizations separates payroll configuration from the accounting localization. Keep CPP, EI and Ontario income tax off the GST and HST accounts described above.

Canadian Checks Layout comes with the Canada localization, so vendor payments printed from Odoo can use that layout once the bank account and the next check number are set. CPA005 payments do not install with the three core modules. Add l10n_ca_payment_cpa005 when accounts payable will produce that bank file, and test a payment on the bank's sample process before the first live run.

How to test the province mix before you file

Run this on a copy of the database before any live customer is invoiced. Have your accountant review each document as you post it.

  1. Confirm the database is Odoo 19.0 and that l10n_ca and l10n_ca_reports are installed. Add CPA005 only if you need the payment file.
  2. For each province you deliver to, create a customer, set that fiscal position, and post a CAD 100.00 invoice. Match the tax to the rate table.
  3. Create a pickup customer with no fiscal position. Read the tax lines and match them to the province where the customer takes the goods.
  4. Post an international customer invoice and an international vendor bill on the International position. Ask the accountant whether the line should be 0% International, 0% GST or 0% Exempt.
  5. Post the Quebec CAD 100.00 invoice and compare it with IN-256-V: GST CAD 5.00, QST CAD 9.98, total CAD 114.98.
  6. If you buy for resale in Saskatchewan, post the goods-for-resale purchase taxes and the regular PST purchase tax on two bills. Keep the one the accountant selects.
  7. Run the Canada tax report for a period you file. Export it with the purchase-tax account balances.
  8. If the database predates April 2025, confirm Nova Scotia shows 14% HST and that Ontario, New Brunswick, Newfoundland and Labrador, and Prince Edward Island still show their own rates.
  9. Search your bank in the institution list, and confirm the company currency is CAD, before you show a controller a USD feed or a Canadian close.

We configure these fiscal positions in phases on an Odoo implementation, and we stay for support after go-live. Our target for a first usable phase is 8 to 12 weeks. When that phase is the books and the close, the work sits in Odoo Finance services. Inventory and invoicing belong in the same test when they ship together. The test is still the fiscal position on the customer who receives the delivery, which is ERP implementation scope for that phase.

How Flectic can help

Flectic implements Odoo for companies of 20 to 100 people in the US and Canada that file GST, HST, PST and QST across several provinces, using standard Odoo settings first and customizing only where your process differs from Odoo's defaults. Flectic sends a written proposal with a fixed price for each phase before work starts. Review the Odoo implementation scope, then Book a free discovery call with Flectic to walk through your province mix.

Sources

Frequently asked questions

When do I have to register for and start charging the GST/HST?

For most businesses, registration is required once worldwide taxable supplies of the business and its associates exceed CAD 30,000 in a single calendar quarter, or over the previous four consecutive calendar quarters. Include zero-rated supplies in that total, and leave out financial services, capital property and goodwill. Under the threshold, registration is optional. Your accountant confirms the quarter you cross the line.

Can I get Odoo support in English and French?

The Odoo 19.0 Canada tax template stores French invoice labels: TPS for GST, TVH for HST, TVP for PST and TVQ for QST. Those labels are what a French invoice can print for the tax name. The Canada localization documentation does not state which support languages a subscription includes, so confirm that with the subscription provider before a Quebec finance team relies on it.

Why does the invoice print the tax group name instead of GST when HST and GST share a filing?

GST plus PST is stored as a tax group, so the group name is what often prints on the invoice, while HST is its own tax at 13%, 14% or 15%. If you then create one group called GST and another called HST, the tax report shows two lines, and someone still adds the GST portion to HST for one GST/HST remittance. Ask your accountant which name should print, and which lines they will add, before you rename the groups.

How do I close GST, PST and QST at month end in Odoo?

Run the Canada tax report for the period you file: monthly, every two months, quarterly, every four months, semi-annually or annually. Read the sales-tax lines together with the purchase-tax account balances, because those balances are the trail for input credits. Your accountant prepares the GST/HST return and the QST return from that working paper. Provincial PST in British Columbia, Saskatchewan and Manitoba is a separate filing, because CRA generally does not administer those taxes.

How do I get a tax report that shows GST and PST both separately and as a sum?

The Odoo 19.0 template calculates GST and PST as separate child taxes on the same selling price, then shows a group total such as 12% for British Columbia or 11% for Saskatchewan. Use the child amounts when you need GST and PST apart. The group total is the sum of those child taxes, which is the tax the customer was charged. The invoice total is the selling price plus that sum. On a CAD 1,000.00 British Columbia sale the group is CAD 120.00 of tax and the invoice total is CAD 1,120.00. Your accountant says which of those lines belongs on the GST/HST return and which belongs on the provincial PST return.

Does Odoo handle Canadian multi-provincial tax correctly?

Odoo 19.0 can charge the delivery province's tax when that province's fiscal position is on the customer, and when a pickup customer has no fiscal position. The 19.0 template rates match the CRA calculator as of October 2026, including Nova Scotia at 14% and 15% HST for New Brunswick, Newfoundland and Labrador, and Prince Edward Island. Your accountant still reviews the imported rates before you file. Test one CAD 100 invoice for every province you ship to before go-live.

Does Odoo have a Canadian payroll localization for CPP, EI and Ontario income tax?

The Canada accounting page does not list a payroll module. Odoo payroll shows the settings of whichever country localization is installed. An Ontario employer still needs CPP, EI and provincial income tax configured as their own scope with the accountant. Keep those deductions off the GST and HST accounts used for sales tax.