Accounting Module

A Folder of Client PDFs In. A Reviewed Set of Books Out.

Some clients will never keep their own books. They drop off a year of bank and credit card statements and expect you to sort it out. Bookkeeping in MyCPACRM reads those statements with AI, tells you when one is missing, walks you through coding every transaction, and prepares the GST/HST return so it advances the filing card you were already tracking.

Write-up bookkeeping · GST/HST returns · Built into the practice you already run

Where This Fits

This is not another general ledger for your client to ignore

QuickBooks and Xero are where a client keeps their own books. That works when the client actually does it. For everyone else, the firm ends up doing after the fact bookkeeping from a pile of paper, usually in a spreadsheet that only one person in the office understands. This module is that spreadsheet, rebuilt as software, sitting inside the same system that already holds the client, the documents and the filing.

The client sends documents, not entries

Statements arrive through the client portal, the upload link or email, land in the document manager, and get picked up from there. There is nothing for the client to log into and nothing for them to code.

The accountant stays in charge

Nothing is filed, finalized or closed without a person. AI proposes, arithmetic checks, and the accountant confirms. Where the software cannot be certain it says so and parks the row for a human decision.

One work item, not two systems

The GST/HST filing card you already track is the work item. The bookkeeping engagement feeds it. Finalizing a period advances that card, fills in the amount owing and attaches the working paper.

The Firm Board

Every bookkeeping job, sorted by what it is actually waiting on

The board is calculated, not dragged. A job moves because a statement arrived, an extraction finished or a period was finalized, so it can never be wrong because somebody forgot to move a card.

All 24 Blocked 5

Awaiting documents 5

Northside Logistics

FY 2026 · Settlements

2 gap Q2 · Quarterly

Due 3d overdue

Extracting 3

Maple Leaf Cafe

FY 2026

reading 6 PDFs

In review 9

Bright Ideas Marketing

FY 2026

18 to review

HST ready 4

River Valley Dental

FY 2026

1 HST done

Finalized 3

Trans 99 Carriers

FY 2025 · Settlements

4 HST done

A blocked card carries a Request from client button that opens the client's GST/HST conversation right there, with the document request drawer already open.

How It Works

Four steps from a pile of PDFs to a filed period

1

Open an engagement

Pick the client and the fiscal year. The year end, the GST/HST frequency and the province come from the client record, so you are not typing them again. Choose a chart of accounts starter pack, and carry last year's closing balances forward as this year's openings in one click.

2

Point it at the statements

Tick the PDFs already sitting in the client's documents. They are read in the background while you get on with something else, each one badged so you never import the same file twice. Anything unreadable falls back to a manual grid.

3

Review what needs you

The Flagged view collects every row that is missing a head, is dated outside the year, looks like a duplicate or risks a double count, and tells you which in plain English. Everything else is already coded by your saved vendor rules.

4

Finalize the period

The GST/HST working paper shows every figure against its GST34 line. Finalize and the period locks, the filing card advances to your firm's chosen status, the amount owing is filled in, and the working paper is attached to the filing.

Accounts & Statements

The part that usually goes wrong, checked by arithmetic

The expensive mistake in write-up work is not a miscoded lunch. It is a statement that never arrived, so three months of activity is quietly missing from a return that has already gone to the CRA. Two independent checks look for exactly that.

A coverage grid per filing period

Every account gets one row per GST/HST filing period, four for a quarterly filer, twelve for a monthly one. A period with no statement is a red row you cannot miss, and a partly covered period names the days that are actually uncovered rather than just saying something is wrong.

  • Coverage reads Complete, Missing with dates, No statements or Upcoming, and an in progress period is only judged up to today.
  • A Request from client button on the gap itself, so chasing a document is one click and not a separate task.
  • A separate table shows where each account stopped: last completed date, closing balance and the date the next statement should start from.
  • Continuity is checked with balances, not guesswork. When an opening does not match the prior closing you get a gap amount and a placeholder row so the totals still tie while you chase it.

Scotia Chequing · period coverage

QUARTERLY
Q1 Apr 1 to Jun 30 ✓ Complete
Q2 Jul 1 to Sep 30 Missing Aug 1 to Aug 31
Q3 Oct 1 to Dec 31 ✗ No statements
Q4 Jan 1 to Mar 31 Upcoming

Continuity

GAP 4,182.60

Five checks before anything posts

A hold, never a silent rejection

Wrong company

"This statement is addressed to Northside Holdings, but this engagement is for Northside Logistics Ltd."

Wrong account

"The statement shows account ending 4512, but Scotia Chequing statements have ended 8891."

Wrong currency, wrong year, or a duplicate

A USD statement on a CAD account, a period entirely outside the fiscal year, or a file that covers exactly the same dates as one you already imported.

Confirming a held statement replays the reading already done. It never charges AI credits twice.

The wrong PDF never quietly becomes your client's books

Clients send the wrong file. It is a personal account, or the spouse's company, or last year's statement, or the same one twice. Before a single row posts, five deterministic checks compare the statement against the engagement. Anything suspicious is held, with the rows kept out of the books and the reason stated in words, so you decide.

  • Name matching ignores Inc, Ltd and Corp, so a real match is not flagged over a legal suffix.
  • A check passes when its information is simply absent. Unverifiable is not treated as wrong.
  • Anything read from a scan with AI vision is always held for a human to verify against the original.
  • A held statement also blocks the year from being finalized, so it cannot be forgotten about.

Transaction Review

Look at the rows that need you, not all of them

Coding a year of transactions one at a time is the slowest part of write-up work, and most of it is the same handful of vendors repeating. The review screen leads with a Flagged filter that collects only the rows carrying a real problem, and tells you what the problem is in a Why column.

Flagged 7 Needs review 18 Ask accountant 3 Client questions 2 Uncategorized 12 Duplicates 1 All 486
Date Particulars DR CR HST Why Head
Aug 14 DEPOSIT - TRANSCO LOGISTICS 5,508.06 Payer deposit? → Due from Broker
Aug 16 PETRO CANADA #4412 318.40 36.62 Tax head HST on Fuel
Sep 02 E-TRANSFER TO J SINGH 1,200.00 No head pick a head
Sep 02 E-TRANSFER TO J SINGH 1,200.00 Duplicate not dup / delete
Mar 12 MISSING STATEMENT 4,182.60 Gap Ask Accountant
Hover any reason for the plain English version. "Tax head" reads: coded to a settlement tax head, claims the same ITC twice, recode to the gross expense head.

It learns your coding

Turn on Learn rules from my picks and every head you choose is saved as a vendor rule. Next quarter, and next year, those rows arrive already coded.

  • ·Re-run vendor rules sweeps the uncoded rows again, free, with no AI credits.
  • ·Apply to similar pushes one head onto every unconfirmed row from the same vendor.
  • ·A rule can be kept to one client or promoted firm wide once you trust it.

AI suggests, you confirm

AI suggest heads takes a pass at everything still uncoded and comes back with a proposal and a confidence figure on each row. Nothing is auto accepted on that pass, and no answer is thrown away for being low confidence.

  • ·Row badges show whether a head came from a rule or from AI, with the percentage.
  • ·Credits used are reported in the toast, every time.
  • ·When it genuinely cannot tell, it parks the row in an Ask Accountant queue instead of guessing.

Tools for the awkward rows

Real bank data does not come in tidy. The screen has a tool for each of the usual messes rather than making you leave and come back.

  • ·Split one payment into up to ten parts that must add up exactly.
  • ·Select many rows and code, confirm or clear them together.
  • ·Filter by account, quarter or a search, then export exactly that view to CSV.
  • ·A live HST summary totals the tax inside the current view across every page, not just the one on screen.

Twelve questions, one email

Nobody wants twelve separate emails asking what a cheque was for. As you review, tap the @ button on any row you cannot resolve and it joins a queue. When you are done, one screen turns the whole queue into a single message with your intro, a line per transaction and your sign off.

  • It goes out through the same channel as a document request, so it lands in the portal thread, the client's inbox and the filing conversation at once.
  • Choose Portal and Email, Email only, or Portal only, and it uses your firm's own email template.
  • The reply comes back into the same conversation, and each asked row shows the date it was asked.
  • There is a matching Ask Accountant queue for the rows that need a senior decision rather than a client answer.

Ask the client

3 QUESTIONS
Hi Ravi, a few things I could not place while doing your books for the quarter.

Sep 2 · E-TRANSFER TO J SINGH · 1,200.00

Was this a subcontractor payment or a personal draw?

Oct 18 · CHEQUE #241 · 3,400.00

Do you have the invoice for this one?

Nov 30 · POS PURCHASE · 890.55

Equipment or repairs?

Portal + Email to ravi@northsidelogistics.ca

The Chart, and Where You Are

Your accounts, already carrying their GIFI codes

The chart of accounts has its own screen, reachable from either board. Every head carries a code, a name, a statement group, a GST/HST treatment and a GIFI code, so the trial balance you hand to the T2 is already mapped before anyone starts typing.

Chart of accounts

SET GIFI FROM CATALOG
Head HST GIFI
I. SalesZero rated8000
E. FuelStandard8690
E. Meals and entertainmentCustom 6.5%8523
E. InsuranceNot applicable8690
L. Due from broker1060
764 official CRA GIFI codes, searchable by code or by name

Edit it where you use it

Any staff member can add or edit a head, archive one that is no longer used, or import a starter pack. Heads are archived and never deleted, because they carry history. The searchable GIFI picker warns you when a four digit code is not on the CRA's list.

  • Two starter packs, general business and owner operator trucking, both shipping with GIFI codes already filled in.
  • One button fills blank GIFI codes from the catalog by name. It only ever fills blanks, so it cannot overwrite a code you chose on purpose.
  • A head's tax treatment is set here once and every period follows it, including a typed custom rate for the restricted cases.
  • Client specific heads sit alongside the firm wide ones, so one odd client does not pollute everybody's chart.

Where the year stands, on one screen

Open a client's books and the first thing you see is not a percentage. It is every stage of the year with a verdict on each one, in the order the work actually happens, and a line at the top telling you which one to do next. Each row is also the way in: click it and you are on the tab that fixes it.

The verdicts are worked out from the same data the screen already loaded, so nothing here is a stale summary written by somebody last week.

Where the year stands

next: Transaction review
Accounts & statements3 accounts, all reconciled, no gaps
!Transaction review14 rows waiting on a head
Settlementsverified, quarter journals in order
·Year-end closenot posted yet, it is the last posting
·GST/HST2 of 4 periods finalized

GST/HST Returns

A return you can defend, line by line

The return is not a single number handed to you. Every figure is shown against the GST34 line it belongs to, with the source it came from, so when a client or the CRA asks where line 108 came from you can point at the row.

Q2 working paper

Jul 1 to Sep 30

READY
Source Amount GST34
Ledger income (Line 101)86,420.00103
Settlements, tax on gross earnings2,918.44103
Settlements, separated fuel/repair HST346.78106
Business expenses, tax at each head's rate1,842.19106
Cash and personal invoices204.60106
Adjustments (2)88.00106
Net tax436.87109
Line 101 sales and revenue · Line 105 collected · Line 108 ITCs · Line 109 net tax

Built for how Canadian tax actually behaves

Tax is extracted from tax inclusive amounts using the standard formula, and the treatment is set on each account head rather than assumed for the whole client. That matters: a cross border freight client whose sales are zero rated can be the difference between a refund and a payable.

  • Per head treatment: standard rate for the province, 13 percent fixed, 5 percent GST only, or zero rated and exempt.
  • A real effective dated rate table, so a period that straddles a rate change resolves by date. Nova Scotia dropping to 14 percent on April 1, 2025 is handled.
  • Periods follow the client's own filing frequency and are fitted to the real fiscal year, so a short or long year moves the final period instead of breaking.
  • Adjustments for the real world cases, restricted meals, partly exempt activity, a missed ITC, each with a balancing entry so the return and the books stay in step.
  • Double claim protection: coding a bank row onto a head that already carries separated tax stops you and explains why.

The HST summary, head by head and period by period

Before the return there is a summary: every account head down the side, every one of the client's filing periods across the top, and the net, the tax and the total in each cell. The columns follow the client's own filing periods rather than fixed calendar quarters, so a monthly filer gets twelve columns and an annual filer gets one.

It is split into the three places tax actually comes from: manual entries, settlements, and the ledger itself. The strip across the top gives sales, tax on sales, input tax credits and net payable per period, with the two ratios a reviewer checks first.

Click a head name and the evidence chain opens. Click a total and you get the rows behind it against the stored figure, with the difference spelled out if there is one.

HST summary

EDIT IN PLACE
Rate Head Q1 HST Year
ZeroI. Sales0.000.00
Std*I. Other income146.02598.20
13%E. Repairs421.661,884.10
6.5%E. Meals and entertainment31.20118.55
n/aE. Insurance0.000.00
Amber means a figure you typed. Click any rate or tax cell to change it.

Set the rate where you see it

Change a head's treatment from the summary itself instead of going back to the chart. Standard, 13 percent, 5 percent, zero rated, not applicable, or a typed custom percentage for the restricted cases such as meals at half the usual claim.

Override at the row or the head

Type the real tax on one transaction when a receipt disagrees with the arithmetic, or override a whole head for a period when the client's own records are the better source. Both are marked, and both flow through to the reclassification entry.

Filed periods stay filed

The detail stays live for every period, but a finalized period keeps the figures you filed. If the live detail has since drifted from them, the screen says so rather than quietly showing you a different number.

Finalize advances the filing you already track

There is no second work item to keep in step. Finalizing a period locks the figures and then does five things to the GST/HST filing card already on your workflow board.

  • 1Sets the filing status your firm chose for a finalized period.
  • 2Fills in the amount owing with the net payable.
  • 3Attaches the working paper to the filing as a document.
  • 4Ticks off the Bookkeeping step on the filing checklist with an audit note.
  • 5Leaves an entry in the engagement activity log naming who did it.

Found something after you finalized? A finalized period that has not been filed with the CRA can be reopened, which recomputes the figures and unlocks the adjustments. A period already filed refuses, because that needs an amendment and not a reopen.

Your books stay net of tax on their own

Bank rows arrive with the tax inside them. If you leave them that way, a client's sales look bigger than they are and every expense is overstated, which is exactly the sort of thing that gets noticed at year end.

The module posts a generated reclassification entry that takes the collected tax off the income heads, takes each input tax credit off its expense head, and parks the balance on the HST payable and refund account. It regenerates itself as the period changes, so it is always current, and it is excluded from the return computation so it can never feed back into itself.

Sales on a client collecting HST

Before, tax inclusive4,226.20
After reclass3,740.00
HST payable486.20

If your firm has not mapped an HST payable account yet, the books stay tax inclusive and the screen tells you exactly that rather than silently doing the wrong thing.

Settlements

For every client who gets paid after somebody else has taken their cut

An owner operator gets a broker statement. A restaurant gets a delivery platform payout. A retailer gets a card processor deposit. A realtor gets a commission statement. They are all the same shape: someone sold on the client's behalf, deducted from it, and sent the net. Book only the deposit and you understate the income and lose the input tax credits sitting in the deductions.

Teach it a payer once, from one sample

Instead of a developer building a parser for every broker in Canada, you point the wizard at one settlement PDF. It reads that sample, tells you what it found and whether the figures add up, and proposes how each deduction column maps to your chart of accounts. You correct anything it got wrong, save, and every future import of that payer follows the mapping you approved.

  • The sample is verified out loud: gross, net pay, the period, and either "the figures add up exactly" or how far off it is.
  • A tax inclusive deduction line is split automatically into the expense column and a paired recoverable tax column.
  • Every settlement is checked: gross less deductions plus reimbursements must reconcile to the net pay, and one that does not is kept out of the quarter's entry until it is corrected.
  • The trucking starter pack already ships with four common broker layouts ready to use.

Sample read

VERIFIED
Gross 8,676.02 · net pay 5,508.06, the figures add up exactly. Addressed to Northside Logistics Ltd.
Label Sample Head ITC
Fuel2,618.44Fuel & Oil
Fuel HST340.28HST on Fuel
Insurance402.50Insurance
Advances3,120.98Due from Broker
Reimbursement57.00Reimbursements

Layout notes are written by the AI from the sample and stay editable, so the next import reads better than the first.

The double count, caught

The gross income comes from the settlement. The bank deposit is the same money arriving. Code that deposit to sales and the client's income is counted twice. A deposit that looks like it came from a payer gets a "payer deposit?" flag and a one click move to the receivable, and coding it to sales raises a blocking error.

Quarterly summary and entry

Each quarter shows gross, recoverable tax, net pay and the balance still owing from the payer, and generates one balanced journal entry for the quarter. The amount due from the payer is watched in both directions, so an uncleared balance and an over cleared one get different diagnoses.

Cash basis where it belongs

Income can be counted in the quarter the payment actually landed rather than the statement date, which is usually what you want for these clients. Amended settlements supersede the original and are marked, and a missing settlement holds a red placeholder so continuity is never quietly broken.

The expenses that never touched the bank

Every small business owner pays for things with cash or a personal card and hands you the receipts at year end. The Invoices tab takes those entered net of tax with the tax separate, posts the entry, and claims the input tax credit.

If the payment later turns up in the bank data, tick Payment matched and the invoice is greyed out and excluded from both the entry and the return, so the same expense can never land twice. Invoices inside a finalized period lock along with it.

What the AI costs, and what it can read

Reading is billed from the same AI credit balance the rest of the platform uses, charged on actual usage, and the credits consumed are shown on the statement record, in the toast and in the activity log. If you are out of credits it refuses before it starts rather than failing halfway.

  • ·Text PDFs, the kind you download from online banking, up to 60 pages and 30 MB.
  • ·Scanned statements go down an opt in AI vision path, up to 30 pages and 20 MB, at a higher credit cost that is shown on the button.
  • ·Anything read from a scan is always held for you to verify against the original.
  • ·No limit on how many documents you queue, and it runs in the background while you work.
  • ·Each transaction keeps the page it came from, so you can open the actual PDF page behind any figure.

We set your first engagement up with you

The engine, the review workflow and the returns are built and covered by tests, and firms are using it now. Client documents vary enormously, so we would rather sit with you while you set up your first engagement than have you switch it on cold.

It is an add on. Your firm turns it on in settings, it appears for the staff you give access to, and reading documents draws on the same AI credits the rest of the platform uses.

What it does not do, so nobody is surprised

Corporations only. Sole proprietor books, with owner's equity and T2125, are a later phase.

No bank feeds. Statements come in as PDFs you already hold, not by connecting to the bank.

No payroll processing or T4s. Payroll payments are simply categorized like any other line.

No filing with the CRA. It prepares the GST34 figures and the working paper.

No Quick Method, and no separately administered PST, QST or RST.

One exchange rate per foreign currency account, matching how the spreadsheet did it.

No inventory, and no accounts receivable or payable subledgers.

Not for clients who keep their own books in QuickBooks. Those belong in QuickBooks.

Questions

Bookkeeping, answered

What is Bookkeeping in MyCPACRM?

It is write-up bookkeeping for the clients who never keep their own books. They hand you a folder of bank and credit card PDFs once a quarter or once a year, and the module reads those statements with AI, checks that no statement is missing, lets you review and code every transaction, prepares the GST/HST return, and produces the trial balance and working papers. QuickBooks is where clients keep books. This is how a firm produces books for the clients who will never do it themselves.

How does the AI read bank statements?

You pick PDFs that are already in the client's document manager and the module queues them for reading in the background. Text PDFs, the kind you download from online banking, are read up to 60 pages and 30 MB. Scanned statements go down an opt-in AI vision path that reads the page images, up to 30 pages and 20 MB, and those are always held for your confirmation before anything posts. Reading is billed from your existing AI credits and the credits used are shown to you. If a file cannot be read you fall back to the manual entry grid, so there is never a dead end.

Will it catch a missing bank statement?

Yes, and this is checked with arithmetic, not with AI. Each new statement's opening balance must equal the prior statement's closing balance. When it does not, the account is flagged with a gap, a placeholder row is created so your totals still tie, and you get a Request from client button. A separate period coverage grid shows every GST/HST filing period of the year and names the exact days that have no statement, for example Missing Feb 1 to Feb 28.

How does the GST/HST return work?

The module builds one return per filing period using the frequency already on the client record, monthly, quarterly or annual. It shows a working paper that maps every figure to its GST34 line, so you can see exactly where line 105 collected, line 108 ITCs and line 109 net tax came from. Sales tax treatment is set per account head, including zero rated for things like cross border freight, and provincial rates come from a real effective dated table. When you finalize a period it locks the figures, writes your firm's chosen status onto the existing GST/HST filing card, fills in the amount owing, and attaches the working paper to the filing.

Does it file the return with the CRA?

No. The module prepares the GST34 figures and the working paper. You file in the CRA portal or your tax software. It also does not compute the Quick Method, and it does not compute separately administered provincial taxes such as PST, QST or RST. On a BC, Saskatchewan, Manitoba or Quebec engagement the screen says so plainly.

What are Settlements?

Settlements handles any client who is paid net by somebody else, after that party has already deducted from them. A trucking broker, a delivery platform like Uber Eats or DoorDash, a card processor like Moneris or Square, or a commission payer all work the same way. You teach the module a payer once by pointing it at a single sample statement, it reads that sample and proposes how each column maps to your chart of accounts, and from then on every import of that payer follows the mapping you approved. It also stops the classic double count, where the gross income is booked once from the settlement and again from the bank deposit.

Get the write-up work out of the spreadsheet

Bring one messy client and we will walk their statements through with you, from the first PDF to a finalized GST/HST period. You will see in half an hour whether it fits how your firm works.