Canada · Free chart of accounts template

BC Chart of Accounts for Xero with GST + PST Codes (Free)

A free British Columbia chart of accounts for Xero: GST/PST vs GST-only defaults per account, readable CSV plus ready-to-import CSV.

By ExpenseFlow team
· 6 July 2026

Free download · no email required

CSV with the default and other valid Xero tax codes per account. Import file and rate list below.

Download chart of accounts (CSV)

British Columbia runs the bookkeeping gauntlet twice on every purchase: a federal 5% GST that comes back as an input tax credit, and a provincial 7% PST that does not come back at all. Coding a BC ledger is therefore not about one rate but about which of two very different taxes touches each line. This Xero chart of accounts answers that question per account, with the split already built in.

Two taxes, opposite fates

The mental model that makes BC coding click: GST is a flow-through, PST is a price increase. A $1,000 desk invoiced at 12% costs the business $1,070, not $1,000, because the $50 GST returns and the $70 PST is capitalized or expensed with the desk. Xero’s seeded BC - GST/PST on Purchases rate encodes exactly that, recovering only the GST component. Accounts for goods, software, telecom, and repairs default to it.

Services live differently. Consulting, accounting, marketing, commercial rent: GST only, 5%, fully creditable. Those accounts default to a custom GST-only rate, because Xero seeds no such rate for BC, which brings us to setup.

Five custom rates before you import

Under the Tax menu, Tax settings, Tax rates, create: GST on Purchases (5%), GST on Sales (5%), Zero Rated (0%), Exempt (0%), and Out of Scope (0%). The first two carry the GST-only world (most services, resale inventory, PST-exempt goods); the three zeros carry groceries and exports, financial services and insurance, and the non-supplies. Ten minutes of setup, and every Tax Code in the import file will resolve.

Where the money hides in a BC chart

  • Cost of goods sold defaults to GST-only, because the resale exemption is the province’s one great gift: quote your PST number and inventory for resale arrives PST-free.
  • Software subscriptions and telephone and internet default to the 12% pair; BC taxes software and telecom services, and only the GST half returns.
  • Legal and professional fees defaults to GST-only with the 12% alternative flagged, because legal services carry PST while accounting and consulting do not.
  • Meals and entertainment defaults to GST-only (restaurant food is PST-exempt in BC), with the federal 50% ITC limit noted.
  • PST payable exists as its own liability account, since PST files to Victoria on its own return, not to the CRA.
  • The constants hold: exempt bank fees and insurance, out-of-scope payroll, drawings, and permits.

Import and run

  1. Create the five custom rates, then import via Accounting, Chart of accounts, Import.
  2. Check the preview: 12% on the goods accounts, 5% on the services accounts is the signature of a correct BC import.
  3. Hand the readable CSV to whoever codes; the goods-versus-services distinction is the whole training course.
  4. Reconcile the PST payable account to the provincial return each period, separately from the GST cycle.

The 7% deserves a seat in planning, not just in coding. Businesses that budget from pre-tax supplier prices in BC run structurally optimistic: the software stack, the office hardware, and every physical consumable land 7% heavier than the quote, permanently. Pricing models, overhead budgets, and equipment lease-versus-buy decisions should all carry PST-inclusive numbers, and this chart makes that easy because the cost accounts already hold the tax where it economically belongs, in the cost.

Every supplier invoice in BC is a small classification exam, goods or service, both taxes or one. Hubdoc captures and files the evidence. ExpenseFlow reads each bill, decides whether the line is 12% or 5% or neither, keeps the resale exemption and PST-as-cost rules straight, and posts coded entries into Xero against these accounts. Dext locks recurring suppliers to rules so the answers stay consistent.

Numbering is gapped and conventional (1000s assets through 6000s expenses). On QuickBooks? Take the BC chart of accounts for QuickBooks; the full rate story is in the BC Xero tax rates reference.

Questions, answered

Common questions

Why does BC need more custom Xero rates than other provinces?

Because Xero seeds only one combined pair for BC, GST/PST at 12%, and a large share of BC purchases are services that carry GST alone. This chart uses five custom rates created before import: GST on Purchases (5%), GST on Sales (5%), Zero Rated, Exempt, and Out of Scope. Ontario and Alberta charts get by with three; BC's split tax structure needs the extra two.

Is the 7% PST I pay on purchases recoverable?

No, and this is the single most important fact in BC bookkeeping. The 5% GST comes back as an input tax credit; the 7% PST is a cost that stays in the expense or asset. Xero's seeded BC purchase rate handles this correctly, treating the PST component as non-recoverable. The one big exception: goods bought for resale are PST-exempt when you quote your PST number.

Which purchases carry PST and which carry GST only?

Goods, software, telecommunication services, repairs to goods, and legal services carry both taxes. Most other services, accounting, consulting, marketing, rent on commercial premises, carry GST only. Food is PST-exempt even prepared. The chart bakes these distinctions into account defaults so nobody re-derives them per invoice.

Do I collect PST on what I sell?

If you sell taxable goods (or software, telecom, and certain services) in BC and you are PST-registered, yes, alongside GST, and the chart routes it to a dedicated PST payable account, because PST remits to the province on its own return, separate from the CRA's.

Keep exploring

Stop filling in spreadsheets by hand

A template is a starting point. ExpenseFlow captures receipts, reads the tax automatically, and posts the cleaned record to Xero or QuickBooks Online, so the log keeps itself.

Start free trial