Skip to content
Exodus Consulting Exodus Consulting
Book a free audit

Industries / Accounting and bookkeeping firms

Every firm sells hours it spends chasing documents.

Accounting and bookkeeping firms in Canada are mostly one to four people. The billable work is judgement. The unbillable work is asking a client for the same bank statement three times, re-keying slips from phone photos, and answering the same deadline question by email. We build the software that takes the second list off the desk and leaves the first one alone.

Who this is for

How it actually runs

Before anything is built, this is the week we are describing.

No software can be scoped from a category name. These are the specifics of accounting and bookkeeping firms that decide what is worth building and what is not.

  1. 01

    Tax season is a fixed deadline against a variable inbox.

    Personal returns are due April 30 and self-employed returns June 15, and neither date moves because a client forgot a T5. From February to May the firm runs on whatever arrives, in whatever order, in whatever format. The preparer opens an email, finds a phone photo of a slip, types it into TaxCycle, and sends the same reminder for the third time. The queue lives in someone's head.

  2. 02

    The bookkeeping is done. The tidy-up is not.

    Bank feeds land in QuickBooks Online or Xero every night. Most transactions code themselves. The rest sit in an uncategorised pile until someone asks the client what the $412 e-transfer was. That question goes out by email, gets answered three weeks later, and the month cannot close until it does. Month-end is late because of twelve transactions, not because of the ledger.

  3. 03

    Documents arrive on every channel except the one you asked for.

    The firm has a portal. Clients still text a receipt, email a PDF, drop a shoebox at reception, or forward a Dext link nobody set up. Each one is filed by hand, renamed by hand, and matched to the right client and year by hand. Nobody has a clean count of how many documents came in, how many are still missing, and which clients are the reason.

  4. 04

    The owner prices on gut and finds out at year-end.

    Fixed-fee bookkeeping is priced when the client signs. Actual hours are recorded loosely, if at all, in Karbon or a spreadsheet. The owner knows which clients feel like work but cannot show the number, so the renewal conversation is a guess. Year-end write-offs are the first honest measure of which files lost money, and by then the answer is a year late.

  5. 05

    Staff are hard to find, so partners do junior work.

    Firms across Canada report the same thing: the pipeline of new accountants is thinner, and a good bookkeeper who knows Canadian payroll and GST is hard to replace. The result is that partners review, but partners also code transactions, chase slips and answer portal questions, because there is nobody else. Every hour of that is an hour not billed at partner rates.

Where it leaks

Every one of these is measurable. Most are not measured.

The free audit prices these in your own numbers before anything is scoped. You keep the map whether or not you hire us.

Where the money and the hours go in accounting and bookkeeping firms, how it is measured today, and what closes it.
The leak How it is measured today What closes it
Unbillable hours chasing client documents Not measured. Felt in evening email. Automated request lists with reminders and an exceptions view.
Month-end held open by a handful of uncoded transactions Close date per client, if anyone records it. Batched client queries with suggested codes, posted on approval.
Fixed-fee clients quietly running past the hours priced Year-end write-offs, a year late. Monthly realisation per client, every number citing its entries.
Partner time on routine questions and re-keying Nobody tracks it. Partners bill less than expected. Chatbot and phone agent for routine questions; slip extraction for the keying.

What we build

6 builds that pay for themselves here.

Each one states what it reads, what it does, and what a person still approves. Scope is agreed after the audit, one build at a time, against a baseline you sign.

Document chasing that runs itself

The system reads each client's engagement and last year's file to build the list of what is needed: slips, statements, receipts by category. It sends the request, watches the portal, the Dext inbox and email for what arrives, ticks items off and sends the next reminder on a schedule the firm sets. A person sees the exceptions list and decides who gets a phone call.

Measured by: Days from first request to complete file, per client

Slip and receipt extraction with confidence scores

Photos, PDFs and scans are read into structured fields: payer, box numbers, amounts, GST/HST, date. Every field carries a confidence score. High confidence rows are prepared as an import for TaxCycle or the ledger. Low confidence rows are flagged with the source image beside the extracted value. The preparer approves the import; nothing lands in a return unreviewed.

Measured by: Minutes of keying per return

Uncategorised transactions, batched and asked once

The system reads the uncoded transactions in QuickBooks Online or Xero, groups them by client, and drafts one plain question per batch with a suggested code based on that client's own history. The client answers in the portal or by replying to a text. The bookkeeper reviews the suggested coding and posts it. The system never posts on its own.

Measured by: Days to close each client's month

Website chatbot for the routine questions

Trained on the firm's own answers: deadlines, what to bring, how to upload, what a Notice of Assessment means, how to pay an instalment. It answers those on the website and in the portal, and hands anything about a specific client's file to a named person with the conversation attached. It never gives advice on a specific tax situation.

Measured by: Routine emails per week reaching staff

Phone agent for tax season

Answers the phone from February to April, tells callers where their return sits (received, in progress, awaiting signature, filed) by reading the practice management status, books a call with the right preparer, and takes a message with the file number. Anything involving money, advice or an upset client is transferred to a person with the notes attached.

Measured by: Calls resolved without a staff pickup

Realisation report that assembles itself

Reads time entries from Karbon or Financial Cents, fixed fees from the engagement, and the invoiced amounts. Produces realisation per client and per service line each month, with every number linking to the entries behind it. Flags clients whose actual hours have run past the fee. The owner decides what to do about pricing. The report only shows.

Measured by: Realisation rate per client

The numbers

Borrowed statistics, with their sources and their limits printed.

None of these are our results. They are the published state of accounting and bookkeeping firms, linked so you can check them, with the caveat attached where the number is a survey, a forecast or a vendor's own figure.

74.9%

Canadian accounting, tax, bookkeeping and payroll firms are overwhelmingly small: most employer firms have fewer than five staff.

Innovation, Science and Economic Development Canada, Canadian Industry Statistics, using Statistics Canada data, 2025

Share of employer establishments with 1 to 4 employees. Of 62,102 establishments in the sector, 39,313 have no employees or an indeterminate size and are outside this percentage.

60%

Six in ten individual tax returns in Canada are filed by a preparer through EFILE.

Canada Revenue Agency, 2026

19,827,110 EFILE returns out of 33,098,360 received between February 6 and August 30, 2026. The CRA updates this page in place, so the counts move as late returns arrive.

65.2%

Getting information and documents from clients is the workflow challenge firm owners name most often.

Financial Cents, 2024

Vendor survey by a practice management software company. 367 completed responses, mostly North American, not specifically Canadian.

Where the data comes from

Your systems of record stay exactly where they are.

We read them, we do not replace them. Each one below says what we connect to, how, and the line the build does not cross.

General ledger and bank feeds

Usually: QuickBooks Online, Xero, Sage 50, Sage Business Cloud Accounting, Wave

What it holds. Chart of accounts, bank and credit card feeds, coded transactions, invoices and bills, GST/HST filings, payroll journals.

How we connect. Read through the QuickBooks Online and Xero APIs with the firm's own app credentials, one connection per client file. Sage 50 desktop files are read from a scheduled export. We read transactions, attachments and account codes.

Where it stops. We never post a journal entry, reclassify a transaction or file a GST/HST return without a bookkeeper approving the specific change. A suggested code is a suggestion until a person accepts it.

Tax and working papers

Usually: TaxCycle, Intuit ProFile, Wolters Kluwer Cantax and Taxprep, CaseWare Working Papers

What it holds. T1, T2 and T3 returns, slips, carryforwards, T183 authorisations, year-end trial balances, adjusting entries, review and compilation files.

How we connect. Read-only. Client lists and slip data come out on a scheduled export or through the software's own import formats. Extracted slip values are prepared as an import file the preparer loads and checks.

Where it stops. Nothing is transmitted to the CRA by our software. EFILE happens from the certified tax software, by the registered preparer, after a signed T183 is on file.

Practice management and client intake

Usually: Karbon, Financial Cents, Canopy, TaxDome, Ignition, Dext, Hubdoc

What it holds. Client list, engagement letters, recurring work schedules, task status, time entries, document requests and the client portal.

How we connect. API or webhook where the product offers one, so a task closes or a request updates when the document actually arrives. Dext and Hubdoc are read for what has been captured against what was asked for.

Where it stops. Engagement letters, fee changes and anything that reaches a client as a commitment are drafted by the system and sent by a person.

Built around your rules

The regimes that govern this work, and how the build answers each one.

Constraints come first, because they decide the architecture. Bring us your hosting, residency and regulatory rules at the start and we design to them rather than around them.

Regulatory and professional obligations that shape a build in accounting and bookkeeping firms.
Regime What it demands here How the build complies
PIPEDA and BC PIPA (Personal Information Protection Act) Client financial and identity data is personal information. Collect only what the engagement needs, use it for that purpose, protect it with safeguards that match its sensitivity, and be able to say where it is stored and who can see it. Data hosted in Canada, encrypted at rest and in transit, access scoped per client file and per staff role, an audit log of every read, and retention set to the firm's own policy so nothing lingers after the engagement ends.
CPABC Code of Professional Conduct, Rule 208 (Confidentiality of information) A CPA must not disclose confidential client information without authority and must limit access to people with a legitimate purpose. CPABC guidance on AI tools says confidential client data should not go into tools that may store, expose or reuse it. Models run in an environment the firm controls, with no training on client data and no third-party retention. Every extraction and draft is logged with its input and output, so a member can document the tool, the query and the result as Rule 218 expects.
CRA EFILE electronic filer requirements The registered preparer must deal directly with the client, verify identity, hold a signed T183 before transmitting, protect taxpayer information, report any loss or unauthorised disclosure, and prepare and file from Canada. Breaches lead to suspension. Our software never transmits to the CRA. It prepares data for the certified tax software, records which T183 is on file before a return is marked ready, and keeps every byte in Canada. The preparer files.
PCMLTFA and FINTRAC obligations for accountants An accountant who receives, pays or transfers funds on a client's behalf, or gives instructions to do so, becomes a reporting entity: compliance programme, client identification, record keeping and suspicious transaction reporting. Where a firm handles client funds, the system records identity verification per client and keeps transaction records in the shape FINTRAC expects. It never files a report on its own; the firm's compliance officer decides what is suspicious.

What we will not automate

  • We will not let software decide a tax position or transmit a return. Slip data gets extracted and checked; the judgement, the sign-off and the EFILE stay with the registered preparer whose name is on it.
  • We will not send a client a fee change, an engagement letter or a demand for payment without a person pressing send. Those are commitments between a firm and its client, and the CPA owns them.

A person stays in the loop

Anything that spends money, sends something irreversible, or carries a professional obligation arrives as a draft with a named reviewer. The system prepares the work. A person decides whether it ships.

You own the code and the data at the end of the engagement.

Questions

The questions we get asked in accounting and bookkeeping firms.

It is not another portal. The system works through whatever the client already uses: email, text, the existing portal, a Dext inbox. It reads what arrives on any of them and matches it to the request. The client's behaviour does not have to change. Your staff stop being the ones who notice what is still missing and type the reminder.

In Canada, on infrastructure the firm controls, with the models running there too. Nothing is sent to a public AI service and nothing is used to train anything. That is the arrangement CPABC guidance expects before client data goes near an AI tool, and it is written into the build before the first line of code, not patched in afterwards.

No. Those stay the systems of record. We read from them and prepare imports for them. Replacing tools your staff know in February is how a firm loses a tax season. The work sits in the gaps between those systems: what arrived, what is missing, what needs a question, and what a client's file actually cost.

One number is agreed in writing before the build starts, taken from your own data: days from request to complete file, keying minutes per return, or realisation per client. We baseline it, deploy, and measure against the same baseline. If the system misses the agreed bar we keep working at no extra cost until it clears. You own the code either way.

What happens next

Start with the audit, and know the number before you commit.

Three to five days. We map where the hours and the money go in your accounting and bookkeeping firms operation and hand you a ranked plan with the payback attached.

We map where time and money leak, and show the arithmetic before you commit to anything. You keep the map whether or not you hire us. If we do build, we agree the baseline in writing first, the clock starts at deployment rather than signature, and you own the code.

Who you talk to
Shiv and Vishal. No account managers, no slide decks.
Direct
shiv@exdsconsulting.com
Read next
What we build, then Our work.