Sort a year of bank transactions into tax lines, without sending them anywhere.
For Canadian freelancers and sole proprietors. Drop in your bank's CSV and an open-weight model running in this tab puts each transaction on a Form T2125 expense line. Fix one, and it learns that merchant for the rest.
Your file is read by this page only. The model (all-MiniLM-L6-v2, about 23 MB) downloads once from this site and then runs on your machine.
- Read Date, description and amount from any bank CSV.
- Embed Each description becomes a vector, on your device.
- Match The closest T2125 line wins. Low-confidence rows are flagged.
- Learn Your fixes become examples for the next rows.
| Date | Description | Amount | T2125 line |
|---|
How it works, and what it won't do
Each T2125 expense line has a handful of example phrases, like "Google Ads" for advertising or "coworking space membership" for rent. When you load a statement, every description and every example is turned into a 384-number vector by all-MiniLM-L6-v2, an open-weight sentence model, using Transformers.js in your browser. A transaction goes to the line whose examples it sits closest to. When you correct a row, that row becomes a new example for close matches, every row from the same merchant moves with it, and the merchant is remembered in this browser for next time. Store numbers and city names are stripped first, so "Marriott Montreal" isn't mistaken for a Montreal restaurant.
It doesn't know your business. A Staples run could be supplies or a new chair (a capital purchase, which goes under capital cost allowance instead), and a phone bill is usually only partly business. It doesn't work out input tax credits, business-use-of-home, or capital cost allowance. Card payments, tax instalments and transfers to savings are set aside as not an expense, and refunds come off the merchant's line. Treat it as a first sort that you check, not a tax return.
How well does it sort? On 186 held-out transactions it put 133 (72%) on the right line, against 92 (49%) for a plain keyword matcher. It flagged 85 rows for a look, and those flags caught 46 of its 53 mistakes. You can run that check yourself.
Sources: CRA, Expenses section of Form T2125 (the line numbers) and CRA Guide T4002, Chapter 3 (the 50% limit on meals and entertainment, and business-use rules for vehicles).