The situation
Kavya practised as a specialist physician through a professional corporation based in Collingwood, billing the provincial health plan for her main hospital-affiliated work. Like many specialists, she also picked up locum shifts — short-term coverage at other clinics and a regional urgent care site, paid directly to her rather than routed through the corporation, arranged shift by shift rather than under a standing contract. It was gig work in substance, even if the word is more often used for rideshare driving or food delivery: irregular hours, multiple payers, no employer withholding taxes at source, and income that landed in her accounts in a scattered, hard-to-summarize pattern across a given year.
Around the same time, Kavya's partner, Ines, owned and ran a mid-sized construction company. When Kavya's corporation needed to fund the buildout of a small outpatient clinic space, Ines's company advanced the funds as a loan rather than Kavya taking on new bank debt at a time when interest rates made that expensive. The loan was documented, but informally — a signed one-page agreement, no promissory note registered anywhere, repayments made in irregular amounts as cash flow allowed rather than on a fixed schedule. Over about two years, roughly $410,000 moved back and forth between Kavya's accounts and Ines's company as the loan was drawn down and partially repaid.
What the audit found
Kavya's corporation was selected for a Canada Revenue Agency audit, a routine-seeming review that expanded once the auditor requested her personal bank statements alongside the corporate books. When a taxpayer's reported income does not obviously match the deposits flowing through their accounts, auditors commonly perform what is called a bank deposit analysis: every deposit across every account, business and personal, is totalled for the years under review, then compared against the income actually reported on the corresponding tax returns. Any gap between the two is treated as a starting assumption of unreported income, and the burden shifts to the taxpayer to explain it.
The analysis is a powerful audit tool precisely because it is indiscriminate. It does not distinguish a client payment from a loan advance, a gift from a refund, or a transfer between a person's own two accounts from new money arriving from outside. In Kavya's case, it caught all of it at once: the locum payments arriving from several different clinics in amounts and on schedules that did not line up neatly with her T4A slips, the loan advances and repayments moving between her account and Ines's company, and a handful of ordinary transfers between her own chequing and savings accounts that the auditor's spreadsheet counted as separate deposits.
Added together across the three tax years under review, the analysis produced a proposed adjustment of roughly $760,000 in unreported income — about $410,000 attributed to the loan movement and about $350,000 attributed to locum income the auditor's office could not reconcile against the T4A slips already on file. Because the amount was large relative to Kavya's reported income and the auditor's working notes described the pattern as difficult to explain, the CRA's proposal letter included not just the reassessment of tax owing but gross negligence penalties, an additional financial penalty the Income Tax Act allows the CRA to impose where it takes the position that a taxpayer knowingly, or under circumstances amounting to gross negligence, failed to report income. Between the reassessed tax, arrears interest, and the penalty, the letter put the disputed exposure near the top of the range the audit had flagged.
What we did
- Treated the proposal letter as the moment to respond, not the reassessment. The CRA had issued a proposal letter setting out its preliminary position and inviting a response before any formal reassessment was raised. This stage matters because it is the last point where the file can be resolved through negotiation with the auditor directly, before the dispute moves to a notice of reassessment and, if unresolved from there, a formal objection. We used the response window to build a complete rebuttal rather than a partial one.
- Separated the deposit total into its actual sources. The first step was simply un-mixing what the auditor's spreadsheet had lumped together. Working from bank statements, we categorized every flagged deposit as either a locum payment, a loan advance or repayment from Ines's company, an internal transfer between Kavya's own accounts, or something else, so that each category could be addressed with its own evidence rather than arguing against a single undifferentiated total.
- Assembled the loan documentation into a coherent paper trail. The signed loan agreement between Kavya's corporation and Ines's company was the anchor, but on its own it was thin. We supplemented it with Ines's company's own bookkeeping records showing the advances leaving the company's account, board or ownership meeting notes authorizing the loan, and a reconciliation matching every dollar of the roughly $410,000 in flagged deposits to a specific advance or repayment date on both sides of the transaction. A loan that can be traced consistently through two independent sets of books is far harder for an auditor to recharacterize as income than a bank statement entry standing alone.
- Reconciled the locum income against the T4A slips already in the CRA's own system. Much of the apparent $350,000 gap turned out to be a timing and duplication problem rather than missing income: some locum payments were deposited in one tax year but reported by the paying clinic on a T4A slip issued for a different year, and several payments had been transferred between Kavya's chequing and savings accounts, which the deposit analysis had counted twice. We built a shift-by-shift reconciliation, matched to each clinic's T4A slip and payment date, that accounted for the entire flagged amount.
- Addressed the gross negligence penalty directly. Because the loan and locum records showed a consistent, contemporaneous paper trail rather than income concealed after the fact, we argued the penalty had no factual basis independent of the deposit total itself — once the underlying income gap was explained, there was nothing left to characterize as knowing or grossly negligent underreporting. This argument was submitted alongside, not after, the income reconciliation, so the CRA reviewed both together.
The outcome
The CRA auditor accepted the reconciliation in full. The proposed $410,000 attributed to loan movement was removed once the two-sided documentation confirmed it as debt, not income. The proposed $350,000 in locum income was reduced to nil once the T4A matching showed every payment had already been reported, just not in a way the deposit analysis could see on its own. No formal reassessment was ever issued on the disputed amounts, and the gross negligence penalty was withdrawn along with the income adjustment it depended on. The audit closed with Kavya's original filings standing as filed, aside from a small, unrelated correction of a few thousand dollars that neither side contested.
The file took a little under a year from the initial audit request to the closing letter, most of it spent gathering and organizing records that existed but had never been assembled in one place. Kavya and Ines have since put the loan on a more formal footing going forward — a proper promissory note with a fixed repayment schedule — and Kavya now keeps a running log matching each locum payment to the clinic that issued it, so a future reconciliation would take days rather than months.
What you can learn from this
- A bank deposit analysis assumes every deposit is income until the taxpayer proves otherwise. It cannot tell a loan from a sale or an internal transfer from new money — that distinction has to be documented and supplied, not assumed by the auditor.
- Loans between related individuals or between a person and a family member's business hold up far better in an audit when they are backed by two-sided paper: a signed agreement plus the lender's own books showing the funds actually move as described.
- Irregular, multi-payer income — locum shifts, freelance and gig work, contract-to-contract pay — is the kind of income a deposit analysis flags most easily, because it rarely lines up cleanly with a single T4 or invoice pattern. Keeping a running reconciliation as the money comes in avoids a costly reconstruction later.
- The proposal letter stage, before a formal reassessment is issued, is usually the fastest and least expensive point to resolve an audit dispute. A complete, organized response at that stage can avoid the objection and appeals process entirely.
- Gross negligence penalties depend on the underlying income adjustment holding up. Contesting the two together, rather than waiting to appeal a penalty after conceding the income, keeps the auditor focused on whether there was ever a real discrepancy at all.
This is a tax problem we handle
Start a file online — flat, published fees, reviewed by a licensed lawyer before a dollar is owed.