Free skills, prompts and PDF. No signup.
Build your own AI bookkeeper
The exact setup from my video, in 5 steps: statements in, sort the write-offs, a Notion Money HQ, a phone receipt bot, and a monthly close. For self-employed Canadians, Ontario first.
Estimates and organizing, not tax advice. Your accountant still files.
What you need
- Claude Code runs in your terminal and does the work (needs a paid Claude plan). Any coding agent that can run Python will do.
- Your bank and card statements CSV downloads from January to now. The agent can download them in your own logged-in Chrome, or you do it by hand.
- Notion (free plan works) where everything lands: the Money HQ. Optional, but it is what makes it easy to read.
- Google Calendar (optional) read-only, so the agent can say what you were doing the day of each charge.
- A phone AI bot (optional) for step 4. I used Grok Bot. Anything that can read a photo and write to Notion and Google Drive works.
The 5 steps
Paste the prompts into Claude Code in order. Swap anything in [brackets] for your own.
1
Statements in
Every dollar in one place first. Every bank and card, January to now. The agent only downloads: you log in yourself, and it never touches transfer, pay or settings buttons.
First, for my taxes, what's the plan? I need to find everything I spent this year, download all my statements, and get all my receipts organized. Give me the plan step by step until we're done.
Go to Chrome, go into my [BANK]. I'm logged in. Download all the CSVs from January [YEAR] to now. Only download. Don't do anything else. Then do the same for [NEXT BANK].
/amazon-orders for [YEAR]. Read only. Every order, the HST on each, and which card it was charged to. Then go through them with me one at a time so I can tell you business or personal.
No Chrome automation? Download the CSVs yourself and drop them in the inbox folder. Same result.
2
Sort it, find the write-offs
The engine puts every charge in one ledger, counts each dollar once (card payments and transfers between your own accounts are not spending), and tags business charges with a CRA T2125 line. Then it asks you only about the ones it is not sure of.
/bookkeeper books. Then show me the charges you're not sure about, biggest first, 10 at a time, and I'll tell you business or personal and why.
/receipt-match calendar. Match my card charges to my Google Calendar so every business expense has a reason. For example, parking on days I had [CLIENT MEETINGS / JOB SITES]. Show me the ones you can't match and I'll explain them.
/subscription-audit. A subscription is a fixed monthly or yearly plan, not credit top-ups. Tell me which ones to cancel, one by one, which email each is on, and how to cancel it. I'll do the clicking.
Every business charge needs a reason: who and why. No reason means personal. The agent never makes one up.
3
Build the Notion Money HQ
One private Notion page with four tables: Transactions, Income, Subscriptions and Mileage. Each charge links to its receipt, its card and its reason, so if the CRA ever asks, the trail is already there.
Build my Notion Money HQ from bookkeeper/notion/money-hq.md, then put all the transactions in Notion. Keep the page private.
/receipt-match photos. My receipt photos are in [FOLDER]. Match each one to its charge, file it, and put the picture on the Notion row.
4
Add the phone receipt bot
Snap a receipt and it logs itself: it reads the photo, saves it to Google Drive, finds the matching bank charge in Notion, and asks you who and why. It also keeps your car log when you text it the odometer.
/phone-receipt-bot. Fill in the bot prompt for me and copy it to my clipboard.
Paste the prompt into your phone bot and send it one real receipt to test. In my test it read a Canadian receipt as USD. The fix is to tell it again, then ask Claude Code to put the fix in the prompt so it sticks.
5
Close the month
First weekend of every month: new statements in, receipts linked, one short table of questions for you, Notion updated, and how much to move to your tax savings account. The goal is about 10 minutes of your time.
/money-close
I don't want to be 95% done. I want 100% done with what we can do today. What's left, and what do you need from me?
The set-aside number only appears once you put a percentage from your accountant (or last year's return) in your tax profile. It never guesses your tax rate.
Skip the build. Use my skills.
The whole system as Claude Code skills, stripped of my personal details. Paste this in the Terminal to install them and run the built-in tests:
curl -fsSL https://aidanholt.ca/guides/ai-bookkeeper-pack.zip -o /tmp/ai-bookkeeper.zip && unzip -oq /tmp/ai-bookkeeper.zip -d /tmp/ai-bookkeeper && mkdir -p ~/.claude/skills && rsync -a --exclude README.md --exclude SETUP.md /tmp/ai-bookkeeper/AI-Bookkeeper/ ~/.claude/skills/ && python3 ~/.claude/skills/bookkeeper/scripts/tests/run_tests.py | tail -1
Then start Claude Code and paste:
/bookkeeper setup. I'm self-employed in [PROVINCE]. My business is [WHAT YOU DO]. I bank with [BANKS AND CARDS]. Ask me what you need one question at a time.
Using ChatGPT or the Claude app instead? Paste this with your statements:
You are my bookkeeper. I'm self-employed in [PROVINCE]. I'll paste my bank and card statements (CSV). Put every transaction in one table, count each dollar once (card payments and transfers between my own accounts are not spending), and mark each charge business or personal with a CRA T2125 line. Ask me who and why for anything that could be business; never invent a reason. Then give me totals by line and by spending category. Tell me which rules you used and link the CRA page for each. These are estimates, not tax advice.
Can't open a zip? Get every skill in one text file.
What is in the pack
The CRA rules it follows
Checked against canada.ca on October 25, 2026. Rules change, so open the link before you rely on one.
- Meals and entertainment: claim at most 50%, and write down who and why. CRA, line 8523
- Car logbook: date, destination, purpose and km for each business trip, plus the odometer at the start and end of the year. CRA, Motor vehicle records
- Home office: only if it is your principal place of business, or used only for business and regularly to meet clients. CRA, Business-use-of-home
- Parking tickets and other fines are not deductible, even on a business trip. CRA Folio S4-F2-C1
- Keep records and receipts for six years from the end of the tax year they relate to. CRA, Keeping records
- Self-employed: file by June 15, but any balance owing is due April 30. CRA, Due dates
The honest part
- It sorts, matches and estimates. It does not file your return or calculate your tax bill. Your accountant still reviews it.
- The AI makes mistakes. Check the Needs review list every month.
- Bank websites change. If a download breaks, grab that CSV by hand.
- A car log rebuilt from your calendar is an estimate, not a logbook. Start a real one today.
- Built for 2026 and Ontario (13% HST). Other provinces change one setting. Quebec needs a Quebec accountant to adapt it.
Questions
Is this tax advice?
No. It organizes your records and gives estimates. Every rule it uses links to a CRA page, and your accountant should review your return before you file.
Do I have to give the AI my bank password?
No, and you shouldn't. You log in to your bank yourself in your own browser. The agent only clicks download, and the skills list the buttons it must never press. It never stores passwords, your SIN or full card numbers.
Does it work outside Ontario?
Yes for the sorting and the T2125 lines, which are federal. Set your province's sales tax rate in the tax profile (check the current rate on canada.ca). Quebec has its own return and QST, so get a Quebec accountant to adjust it.
Do I need Notion?
No. The engine writes plain CSV files you can open in any spreadsheet. Notion just makes it easy to read and lets the phone bot add receipts.
What if I'm not registered for HST?
Set hst_registered to false in the tax profile. The HST you pay then stays in the expense instead of being estimated as an input tax credit. You generally have to register once your taxable revenue goes over $30,000 in a quarter or over four quarters.
How is a write-off decided?
You decide, the agent asks. A business charge needs a reason (who and why). Mixed-use things like a phone or a car get a business percentage from real records. Meals with clients are capped at 50%. Fines are never deductible.
What does it cost?
The skills, prompts and PDF are free. You need a paid Claude plan for Claude Code. Notion has a free plan. The phone bot is optional.
Stay in touch (optional)
A short email when I share a new free skill. No spam.
Built and tested on a Mac with Claude Code in October 2026. CRA rules checked against canada.ca on October 25, 2026. General education, not tax, legal or financial advice: talk to an accountant about your own return. Not affiliated with the Canada Revenue Agency, Anthropic, Notion, Google, Amazon, Grok, Wealthsimple, Tangerine or MBNA.