Odoo 20 for Canadian Businesses: Taxes, Avalara Included, and What to Check

Canadian businesses reading the Odoo 20 release notes could be forgiven for skimming past the Localisations section. Canada does not get a long list this year. What it does get is specific and practical: a new Avalara Included integration method that covers Canada, a batch payment flow for customer invoices, and a reworked local chart setup. Around those items sit general accounting changes that affect how taxes behave on every invoice. This article separates what the notes actually say for Canada from the general changes Canadian users should still check, and ends with a verification list to work through with your accountant.

What the release notes actually say for Canada

Odoo 20 was unveiled on 24 September 2026 at Odoo Experience in Brussels, and its release notes organise localisation changes by country. The Canada section itself is short — two items under Accounting:

  • Detailed expense accounts have been added, and asset models have been reworked and localised to improve user onboarding. In practice, a new Canadian database starts from a more detailed, better-localised foundation instead of a generic chart you have to flesh out yourself.
  • Customer invoice payments can now be processed in batches through CPA 005 Pre-Authorized Debit (PAD) files. If you collect from customers by pre-authorized debit — common for subscription, wholesale, and B2B arrangements in Canada — batch processing through the CPA 005 format is the kind of unglamorous feature that removes a recurring manual step.

The bigger tax item for Canada is not filed under the Canada heading at all. It appears in the United States section, because the feature serves both countries — which is exactly why Canadian readers miss it.

Avalara Included: the headline tax change

The release notes describe it in one sentence: a new integration method for AvaTax is available, called “Avalara Included.” The notes say this integration “offers a more affordable option for small and medium-sized businesses, while maintaining full tax computation capabilities for the United States and Canada.” A related line adds that Avalara tax parameters are now automatically added while calculating taxes, to support state-specific tax calculation requirements in the US.

To place that in context: Odoo’s documentation has long described AvaTax as a cloud-based tax calculation service that integrates with Odoo for several localisations, including Canada, providing real-time, region-specific calculations when items are sold, purchased, and invoiced. AvaTax is available for companies with locations in Canada and/or the United States. What is new in Odoo 20 is the integration method — an “Included” route positioned as the more affordable option for smaller businesses.

Why does an automated calculation service matter more in Canada than in a single-tax country? Because Canadian sales tax is not one tax. What applies depends on where goods or services are delivered, what is being sold, and the registration status of the parties — federal and provincial components combine differently across provinces and territories, and rates and taxable items vary by province and territory. Odoo’s Canada documentation makes the same point: the province where delivery occurs matters. Maintaining that matrix by hand is where errors creep in; a calculation service exists to carry it for you.

Two cautions before you switch anything on. First, the release notes call Avalara Included more affordable, but they do not publish Canadian pricing for it — check the actual cost for your transaction volume before assuming it beats your current setup. Second, automated calculation is only as good as the data underneath it: Odoo’s AvaTax documentation stresses that company addresses should be complete and accurate, because the calculation depends on knowing exactly where you and your customer are.

How Canadian taxes work in Odoo, in general terms

Even without Avalara, Odoo’s Canadian localisation does a meaningful amount of setup for you. According to the Canada documentation, installing the Accounting app with the Canadian localisation provides a predefined chart of accounts tailored to Canadian accounting standards, pre-configured taxes, and default fiscal positions created automatically — one for each province and territory, plus an International position.

Fiscal positions are the mechanism to understand. A fiscal position is a rule set that remaps the taxes (and accounts) on a transaction based on the customer’s or supplier’s situation. The Canada documentation describes the default positions as handling automated tax adjustments based on the customer or supplier’s province and registration status. The documentation’s examples capture the logic Canadian sellers live with:

  • Goods are delivered to a customer in another province: set the fiscal position on the customer’s record to the customer’s province, because delivery location drives the tax.
  • A customer from another province picks the goods up in person: no fiscal position is set, because the sale happens where you are.
  • An international vendor charges no tax, with taxes handled by a customs broker: the vendor’s record gets the International position.

This article deliberately does not list provincial rates. Rates change, exemptions depend on what you sell, and whether a given item is taxable, zero-rated, or exempt is a question for your accountant, not a blog post. The structural point stands without the numbers: in Odoo, Canadian tax correctness lives in your fiscal positions and your product tax defaults — and Odoo 20 changes one rule underneath both.

The fiscal-position tax rule that changed in Odoo 20

Buried in the general Accounting section of the release notes is a change every Canadian multi-province seller should test after upgrading: taxes are now only allowed in their respective fiscal positions. The notes spell out the consequence — if a default tax on a product or account does not belong to the fiscal position set on an invoice, the tax is removed, even if there is no replacement.

Read that again. Under the old behaviour, a mismatched default tax might ride along on an invoice. Under Odoo 20, it can silently disappear, leaving a line under-taxed rather than wrongly taxed. For a business selling into several provinces — exactly the setup fiscal positions exist for — an incomplete fiscal-position mapping is no longer just untidy; it produces invoices with missing tax. After upgrading, generate test invoices for a customer in each province you ship to and compare the taxes applied against what your accountant expects. Do this on a copy of your database first.

Two smaller general changes are worth knowing about in the same pass. You can now switch between “Tax Included” and “Tax Excluded” prices on sales orders, purchase orders, and invoices, with individual taxes configurable to override the feature — relevant if you quote consumer-facing tax-included prices in one channel and tax-excluded prices in another. And the Accounting onboarding flow has been improved specifically to ease e-invoicing setup and tax configuration, which pairs with the more detailed Canadian expense accounts mentioned above.

What to check: a Canadian Odoo 20 checklist

  1. Inventory your provinces. List every province and territory you deliver to, and confirm a fiscal position exists and is correctly mapped for each one — the Odoo 20 fiscal-position rule makes gaps visible as missing tax.
  2. Test invoices per province. On a test copy, invoice the same basket to a customer in each province you serve, plus one pickup sale and one international sale. Compare results with your accountant’s expectations before go-live.
  3. Decide on Avalara Included deliberately. If multi-province and cross-border calculation is your pain point, evaluate the new Included integration method against manual fiscal positions. Do not run both approaches half-configured; pick one source of truth for calculation.
  4. Verify addresses. Complete, accurate company and customer addresses are a precondition for region-specific calculation, whether the engine is Avalara or your own fiscal positions.
  5. Review product tax defaults. Confirm the default taxes on your products and accounts still make sense under the new fiscal-position rule — especially anything exempt or zero-rated in some provinces but not others.
  6. Test the CPA 005 PAD flow with your bank. If you will use batch pre-authorized debit files for customer invoice payments, run a small batch end to end before relying on it for a full billing cycle.
  7. Check your chart after the localisation rework. Detailed expense accounts and reworked, localised asset models improve new setups — if you are upgrading, confirm your existing accounts and depreciation setup survived the way you expect.
  8. Confirm every rate with your accountant. Odoo supplies structure and pre-configuration; current rates and your business’s specific obligations remain yours and your accountant’s to confirm. Tax rules change, and a system configured correctly last year can drift.

What did not change for Canada

Set expectations in the other direction, too. The redesigned Sales Tax Report in Odoo 20 — with multi-jurisdiction breakdowns and state summary rollups — is listed as a US feature; no Canadian equivalent is named. Canada’s Odoo 20 story is narrow: a better starting chart, a batch-debit flow, a stricter fiscal-position rule that demands a test pass, and access to a more affordable Avalara route for the hardest part of Canadian tax — working out, on every invoice, which combination of taxes a delivery to another province attracts. For a business selling across this country, that is enough to justify the upgrade conversation.

Further reading

Leave a Comment