AI Bookkeeping in Canada: GST/HST Coding and Remittance Checks

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Bookkeeping in Canada: GST/HST Coding and Remittance Checks.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Bookkeeping in Canada: GST/HST Coding and Remittance Checks.

Export the period's transactions with tax code and tax amount, ask an AI to flag lines where code, rate and amount disagree, then compare payroll payment dates with the due dates for your remitter type. The AI reviews, a bookkeeper decides, nothing is filed by AI, and every date is confirmed on the CRA's own pages.

Use arithmetic for arithmetic. An assistant is good at reading a memo and asking whether it fits the tax code, and unreliable at computing 13% of $247.50 across four hundred rows. Let spreadsheet formulas work out the expected tax, and give the AI the lines the formulas cannot judge: what was supplied, to whom, and where.

Follow me on Instagram@sagnikteaches

What formulas check, what the AI reads, what you decide

Splitting the work this way keeps each tool on the job it does well, and it makes the review easy to explain to a client.

Connect on LinkedInSagnik Bhattacharya
JobDone byExamples
Recompute the tax on every lineSpreadsheet formulaNet amount times the rate for the code, compared with the tax booked; totals compared with the ledger report
Read the words on a lineAIWhether a memo such as "delivery to customer in another province" fits the code; a mixed grocery receipt; an invoice with no supplier number
Compare payment dates with due datesFormula, then a personPaid date minus due date, with weekend and holiday rules applied by someone who checks the calendar
Decide, correct, file, payBookkeeperEvery correction, the return, the payment, the client message

Two sibling tutorials cover the surrounding habits. What AI bookkeeping agents do alone and what you must review sets the posting gates that sit upstream of this review, and privacy rules and first uses for accountants in Canada covers what client data may reach an AI tool at all.

Subscribe on YouTube@sagnikteaches

The three supply types and what each changes in the coding

Most GST/HST coding errors come from the type of supply, not the rate. The CRA divides supplies three ways, and the effect on input tax credits (ITCs, the GST/HST a registrant recovers on business purchases) differs.

TypeCRA examplesCharged on salesSeller's own ITCs
Taxable at the full rateClothing and footwear, advertising, hotel accommodation, legal and accounting services, soft drinks, candies and potato chips5% GST or the province's HSTGenerally claimable
Zero-rated (taxable at 0%)Basic groceries such as milk, bread and vegetables, prescription drugs, exports0%, so nothing is collectedGenerally claimable
ExemptLong-term residential rent, most health and dental services, child care, most financial institution services such as lendingNothing is chargedGenerally cannot be claimed

Zero-rated and exempt supplies look alike on an invoice, because both show no tax, but they behave differently in the return. A business making zero-rated supplies can generally claim ITCs on its own purchases, while one making only exempt supplies generally cannot. That is why a client's mix of sales, not just its purchases, belongs in the coding review.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

The rates your review checks against, and the date on the table

Paste a rate table into every AI prompt instead of trusting the model's memory, because rates change and models learn from older pages. This is the CRA's table as it read for rates in force from 1 April 2025; check the date on the CRA page before you reuse it.

GroupProvinces and territoriesTax on a taxable sale
GST onlyAlberta, Northwest Territories, Nunavut, Yukon5%
GST plus provincial sales taxBritish Columbia 7%, Manitoba 7%, Saskatchewan 6%5% GST, and the provincial tax on top
GST plus Quebec's taxQuebec 9.975%5% GST plus Quebec's separate tax
HSTOntario 13%; New Brunswick, Newfoundland and Labrador, Prince Edward Island 15%; Nova Scotia 14%One combined rate

Nova Scotia is the line most likely to be stale in a model's memory or an old template. The CRA's rates page says the HST rate fell to 14% on 1 April 2025, from 15%. The provincial taxes in the second and third rows are separate taxes that follow each province's own rules, not part of the GST/HST rate, so keep them in separate tax codes and check each province's guidance.

The rate depends on the place of supply, which the CRA ties to the type of supply, where it is made and who it is made to. For goods the supplier delivers, the province of delivery counts, and for goods it ships, the province they are shipped to. For most services, it is the province of the recipient's address when the supplier obtains one in the normal course of business. The CRA's own example is a store in one province shipping to a buyer in Ontario: the sale carries Ontario's HST.

Exporting the right columns from QuickBooks Online or Xero

Whichever ledger the client uses, the review runs on a transaction-level export in a spreadsheet. These are the columns to include.

  • Date, payee or customer, memo, account. The memo and any itemised receipt text are what the AI reads.
  • Tax code or rate, net amount, tax amount, gross amount. The formulas need all four.
  • Supplier GST/HST number on file (yes or no). This supports the invoice-information check below.
  • Customer or delivery province. If the ledger does not track it, add a column from the invoice or shipping record for sales.

QuickBooks Online Canada describes a GST/HST Summary report that keeps your sales tax data ready for CRA filing, and use that report's totals as the control figure for the period. The same page lists a Sales Tax AI feature that flags duplicate transactions and suggests tax categories for review, which makes it a suggestion queue like any other, so apply the gates in the agent tutorial above. Xero Canada's pages describe JAX as an AI finance partner. Xero's Canadian payroll page says payroll runs in a connected app, features Wagepoint with a single shared login, and also names Payment Evolution and Payworks. Check which AI features and payroll apps your client's plan actually includes.

Before any export reaches an AI tool, strip what the review does not need: individual customers' names, employee names, Social Insurance Numbers, and CRA account numbers. Consumer ChatGPT and Claude plans let you switch off use of chats for model training in privacy settings, while business plans do not train on business content by default. For tidying a messy export first, cleaning messy spreadsheet data walks through the usual fixes, and bank statement PDF to Excel with AI covers the case where the data starts as a PDF.

Step one: recompute the tax in a spreadsheet before using AI

Add two columns to the export: expected tax, which is net times the rate for the line's delivery province, and difference, which is booked tax minus expected tax. Flag any difference above two cents to allow for rounding. The first pass needs no AI at all.

Take a furniture maker whose workshop is in Ontario and who sells to customers in several provinces. This illustrative extract shows six lines after the formulas have run.

LineCode bookedNetTax bookedExpectedResult
Hardware, screws and hinges (purchase)HST 13%$247.50$32.18$32.18Passes; the difference is rounding
Dining table delivered to an Alberta customerHST 13%$1,850.00$240.50$92.50 (5% GST)Flag: $148.00 collected too much, because the goods were delivered in a GST-only province
Bookcase shipped to a Nova Scotia customerHST 13%$640.00$83.20$89.60 (14% HST)Flag: $6.40 collected too little at the old rate
Client lunch (purchase)HST 13%, full ITC$120.00$15.60ITC of $7.80Flag: meals allow 50% of the tax, so $7.80 is over-claimed unless the client uses the year-end adjustment method
Courier invoice, no supplier number on fileHST 13%, full ITC$310.00$40.30ITC on holdFlag: an invoice of $100 or more needs the supplier's registration number
Bank loan interestHST 13%$410.00$53.30$0.00Flag: most lending services are exempt, so no tax should be booked

Four of those rules deserve a sentence each. The 50% meals limit comes from the CRA's ITC pages, which give two methods: claim 50% of the actual GST/HST paid on meals and entertainment in each reporting period, or claim 100% through the year and add back the excess as an adjustment at the year-end the CRA specifies. Ask which method the client uses before calling a full claim an error, and note the method in the review log. The CRA's invoice-information thresholds are under $100 (supplier name, date, total), $100 to $499.99 (adds an indication of the tax and the supplier's registration number) and $500 or more (adds the buyer's name, a brief description and the payment terms). The lender line follows the CRA's list of exempt supplies. And the Alberta line follows the delivery rule above.

Step two: let the AI read the lines the formulas cannot judge

Formulas fail when the delivery province column is blank or the memo hides the real situation. That is where an assistant earns its place. The prompt carries the rate table and the rules, tells the model to use nothing else, and forbids changing anything.

You are checking GST/HST coding for a bookkeeper. Use only the rates and rules below. If something is not covered, write "not covered".
Rates (from 1 April 2025): AB, NT, NU, YT 5% GST; BC 5% GST + 7% PST; MB 5% GST + 7% PST; SK 5% GST + 6% PST; QC 5% GST + 9.975% provincial tax; ON 13% HST; NB, NL, PE 15% HST; NS 14% HST.
Rules: basic groceries are zero-rated, but soft drinks, candies and potato chips are taxable; long-term residential rent is exempt; goods are taxed at the rate of the province where they are delivered or shipped; meals and entertainment ITCs are 50% of the GST/HST paid; an invoice of $100 or more needs the supplier's registration number for an ITC.
For each row say OK or FLAG. For FLAG give a one-line reason and the question the bookkeeper should ask. Do not change any code or amount.
Columns: date | payee | memo | tax code | net | tax | delivery province

2026-10-03 | Grocery store | milk, bread, bananas, paper towels, 6 soft drinks | HST 13% | 64.00 | 8.32 | ON
2026-10-05 | Tenant | rent for upstairs flat, long-term tenant | HST 13% | 1,400.00 | 182.00 | ON
2026-10-14 | Customer | bookcase, shipped to NS customer | HST 13% | 640.00 | 83.20 |
2026-10-18 | Customer | kitchen island, delivered to MB customer | HST 13% | 2,200.00 | 286.00 |
2026-10-21 | Marketing agency | monthly retainer | HST 13% | 800.00 | 104.00 | ON

This is an illustrative answer, scored line by line.

RowResultReason givenWhat you do with it
GroceriesFLAG"Groceries are zero-rated, so no tax should be booked."Half right. Paper towels and soft drinks are taxable, so ask for the itemised receipt and book tax on those items only
RentFLAG"Long-term residential rent is exempt."Right. Find out whether tax was collected from the tenant and correct the coding
BookcaseFLAG"Memo says Nova Scotia, which is 14%; 13% was booked."Right. $640.00 at 14% is $89.60, so $6.40 is short
Kitchen islandFLAG"Manitoba is 5% GST plus 7% PST, so 12% applies."Wrong in a useful way. GST on this sale is 5%, which is $110.00, not $286.00. The 7% is a separate provincial tax, so ask whether the client must collect it there
RetainerOK"13% HST matches Ontario."Right

Four flags, three of them clean. The kitchen island answer shows the habit to correct: the model merged two taxes into one rate, and the right response is to keep GST and the provincial tax as separate codes and to treat "must the client register for that province's tax" as a question for the province's own guidance. The groceries answer shows why you ask for an itemised receipt rather than accepting a blanket verdict.

In another run without the rate table, an assistant treated Nova Scotia as 15% and called the correct 14% sale an error. That is a false alarm from stale memory, and it is why the table travels inside every prompt. The same discipline applies to rules: if a rule is not in the prompt, the answer is not evidence.

A smaller prompt checks the supporting invoice for the ITC. Paste the invoice text, state the CRA's information thresholds, and ask which required items are present. On this illustrative invoice, "[Courier company] invoice 4471, 12 Oct: delivery services. Subtotal 310.00. HST 40.30. Total 350.30", the result is that the supplier name, date, total and tax are present, the supplier's registration number is missing, and the buyer's name, description and payment terms are not required below $500. The action is to hold the $40.30 ITC and ask the courier for a corrected invoice. Spot-check the AI against the PDF for a sample every month, because it can only judge text it was given.

Step three: tie the ledger to the return and check the dates

Before anyone files, the ledger's GST/HST collected and its ITC total should match the figures going on the return. The CRA's ITC page says registrants claim their credits on line 106, so compare that figure with the ledger's ITC total, and use the accounting software's GST/HST summary as the control. A difference becomes a list: lines posted in the wrong period, coding errors from steps one and two, or adjustments you have not booked yet.

The filing frequency depends on annual taxable supplies, and the CRA's General Information for GST/HST Registrants guide gives three bands.

Annual taxable suppliesAssigned reporting periodOptions
$1,500,000 or lessAnnualMonthly or quarterly
More than $1,500,000 up to $6,000,000QuarterlyMonthly
More than $6,000,000MonthlyNone

On the CRA's reporting requirements and deadlines page, monthly and quarterly filers file and pay one month after the period ends, so a quarter ending 31 March is due 30 April. Annual filers are due three months after the fiscal year-end. An individual with business income and a 31 December year-end pays by 30 April and files by 15 June. A due date that lands on a weekend or a public holiday is met by the next business day. The CRA also says every registrant except charities and selected listed financial institutions must file electronically for periods ending in 2024 and later, and a paper return draws a penalty.

A late return that owes money attracts a penalty the CRA writes as A + (B × C): A is 1% of the amount owing, B is 25% of A, and C is the number of complete months late, up to 12. On $1,000 owing and three complete months late that is $10 plus $7.50, or $17.50, with interest on top. A small number, but it grows with the balance, and a client who files late every quarter pays it every quarter.

Take the reporting period and due date from the client's CRA account, which the CRA says shows them, put them in the practice calendar yourself, and let the AI draft client reminders from the calendar. Do not ask a chat assistant to tell you the due date.

Payroll remittances: match every payment to a due date and a type

Payroll source deductions, which are income tax, CPP and EI withheld from pay together with the employer's share, follow a schedule set by the remitter type. The CRA bases the type generally on the average monthly withholding amount (AMWA) from two calendar years earlier, reviews every payroll account each November, and gives due dates on its when to remit page.

Remitter typeAMWA two years earlierDue date
Quarterly (small employers with a perfect compliance record)Under $3,00015 April, 15 July, 15 October, 15 January
RegularUnder $25,000The 15th of the next month
Accelerated threshold 1$25,000 to $99,999.99The 25th for the 1st to 15th; the 10th of the next month for the 16th to month-end
Accelerated threshold 2$100,000 or moreThe third working day after the end of each of four periods in the month

A payment on a weekend or public holiday due date is on time if the financial institution receives or processes it by the next business day. Late payment penalties are 3% for one to three days late, 5% for four or five days, 7% for six or seven days, and 10% for more than seven days or if nothing is remitted, with interest that compounds daily. Both the type and these penalty bands come from the CRA pages I read in November 2026.

The review compares three things: the liability on the payroll report, the payments made to the CRA, and the due date for the client's remitter type. The AI is useful for reading the exports and listing mismatches. The due date itself comes from a formula you control, so that weekends are handled the same way every month. For a regular remitter with the payroll month in cell A2 as its first day, this returns the 15th of the next month, moved to the next working day if needed, with a holiday list in a range called Holidays.

Due date:    =WORKDAY(DATE(YEAR(A2),MONTH(A2)+1,15)-1,1,Holidays)
Days late:   =MAX(0,PaidDate-DueDate)
Penalty rate: =IF(Late=0,0,IF(Late<=3,3%,IF(Late<=5,5%,IF(Late<=7,7%,10%))))

This illustrative log is for a regular remitter, with amounts covering deductions and the employer's share.

MonthLiability on reportPaidPaid date against the 15thResult
1$7,912.40$7,912.40The 14thClean
2$8,105.10$8,015.10The 14thShort by $90.00, a keying slip with two digits swapped; the shortfall is effectively a late remittance
3$8,230.55$8,230.55The 18th (a weekday 15th)Three days late, so 3%, which is $246.92
4$8,320.00$8,320.00Monday the 16th (the 15th was a Sunday)On time under the weekend rule, although the AI called it one day late
5$8,410.25$8,410.25The 24thNine days late, so 10%, which is $841.03

Month 2 is why you compare amounts as well as dates; month 4 is why the due date comes from the formula and not from the AI's reading of a calendar. Months 3 and 5 are the cost of drifting: $1,087.95 of penalties on payments that were all made in full, before interest.

Also check the type itself. A client whose source deductions were $306,000 in the calendar year two years back has an AMWA of $25,500 ($306,000 divided by 12), which is over the $25,000 line, so the due dates can move to the 25th and the 10th from the CRA's next review. No AI can see that for you. Look at the client's CRA account each November and compare it with last year's payroll totals.

The software side matters less than it seems, since software remits on the schedule it was given. QuickBooks Canada's page says you can pay and file payroll taxes online to the CRA or Revenu Québec and that it automates CPP, EI and income tax deductions. Xero Canada's payroll page says Wagepoint calculates, files and remits on your schedule, and adds that you still confirm your remitter frequency with the CRA, which sets your due dates. In both cases the check is that the schedule in the software matches the CRA's current assignment.

A month's review in numbers, and where filing stays human

Here is how the pieces add up for the furniture maker. The month has 412 ledger lines, 148 sales and 264 purchases. The formulas flag 31 lines. The AI reads all 412 memos and flags 38, of which 19 overlap with the formula flags, leaving 50 distinct lines to investigate. Of those, 14 are real errors and 36 turn out to be explained or false alarms. The payroll check takes five minutes against the payroll report.

On time, reviewing 412 lines by eye at about 35 seconds each is roughly four hours. The routine takes about 10 minutes for the formulas, 10 for the AI pass, 100 minutes to investigate 50 lines at about two minutes each, and 20 to correct and log, which is 140 minutes, or 2 hours 20 minutes. The saving is about 1 hour 40 minutes a month for this one client. Treat the minutes as placeholders for your own timing, and note that 36 of 50 flags being false alarms is normal for a first month. Tighten the prompt and the rules and the ratio improves.

Filing stays with a person. The bookkeeper files and pays using the access the client has authorised, signs the review log, and sends the client the list of corrections. The AI never holds a CRA login and never presses the button. For the routine around it, QuickBooks bank rules, recurring entries and reminders covers the rules that stop the same miscoding recurring, and Xero JAX bank reconciliation checks does the same for Xero.

Questions bookkeepers ask about AI and GST/HST

Can AI file my client's GST/HST return?

No, and nothing in this routine gives an AI the client's CRA login. Use AI to review coding and totals, then have a person file and pay through the access the client has authorised. The CRA says filing due dates and reporting periods are visible in the client's CRA account, so confirm them there, not from a chat answer.

Which GST/HST rate applies to a customer in another province?

The rate follows the place of supply, not the province where your business sits. For goods the CRA says it is the province where they are delivered or shipped; for most services it is the province of the recipient's address. Code the sale to that rate and flag any customer address that differs from your usual province.

How do I find a client's payroll remitter type?

Look at the client's CRA payroll account, because the CRA reviews all accounts every November. The type is generally based on average monthly withholding from two calendar years earlier: under $25,000 is regular, $25,000 to $99,999.99 is accelerated threshold 1, and $100,000 or more is threshold 2. Small employers with a perfect compliance record can be quarterly.

Is it safe to paste payroll data into ChatGPT or Claude?

Not with employee names, SINs or CRA account numbers. Export totals by pay period and strip identifiers first. Business plans from both vendors do not train on business content by default, and consumer plans let you switch training off, but if you cannot check a tool's terms, leave payroll out and use spreadsheet formulas.

Further reads

Sources: CRA pages on GST/HST rates, place of supply, types of supply, reporting requirements and deadlines, filing penalties and input tax credits; CRA payroll pages on remitter types, due dates and penalties; QuickBooks Canada and Xero Canada product pages.

Want a GST/HST review routine built for your clients?

On a 1:1 call we'll set up a repeatable coding and remittance check around your ledger exports, decide what AI reads and what formulas verify, and keep filing in a person's hands.

Book a 1:1 call with me