A complete, beginner-friendly starter template for YouTube creators to track their business finances using hledger - free, open-source, plain-text accounting.
Perfect for:
- YouTubers and content creators
- Sole proprietors
- Beginners who've never done bookkeeping
- Anyone who wants control over their financial data
| Traditional Software | Plain-Text (hledger) |
|---|---|
| Monthly subscription fees | Free forever |
| Your data locked in their format | Your data in simple text files |
| Company could shut down | Files work forever |
| Limited customization | Fully customizable |
| Can't see "under the hood" | Complete transparency |
Plain text means:
- Your finances are in simple text files you can open in any editor
- Back them up anywhere (Dropbox, iCloud, USB drive)
- Version control with git (see your changes over time)
- Never worry about a company going out of business
hledger-youtube-business/
├── accounting/
│ ├── main.journal # Your main file (includes others)
│ ├── accounts.journal # All account categories
│ └── 2025.journal # This year's transactions
├── receipts/ # Store your receipt PDFs here
├── taxes/ # Tax documents and summaries
└── tools/
├── import-bank.sh # Auto-import from bank CSV
├── install.sh # Setup wizard
└── rules/ # Bank CSV parsing rules
├── td.rules # TD Canada Trust
├── rbc.rules # RBC Royal Bank
├── scotiabank.rules
├── bmo.rules
└── cibc.rules
You can absolutely use git for version control of your finances! This is one of the best features of plain-text accounting. However, be careful about where you push:
| Setup | Safe? | Notes |
|---|---|---|
| Local git only | ✅ | Never leaves your computer |
| Private GitHub repo | ✅ | Only you can see it |
| Public GitHub repo | Everyone can see your finances! |
If using a public repo, edit .gitignore and uncomment these lines:
accounting/*.journal
receipts/*
taxes/*
Recommended setup: Use git locally for version history, and back up your files to a private cloud folder (iCloud, Dropbox, etc.) instead of a public repo.
macOS:
brew install hledgerUbuntu/Debian:
sudo apt install hledgerWindows: See hledger.org/install
cd ~
git clone https://github.com/KayleeBeyene/hledger-youtube-business.git
cd hledger-youtube-businessEdit accounting/2025.journal and update the opening balance:
2025-01-01 Opening Balance | Starting to track finances
assets:bank:chequing YOUR_BALANCE CAD
equity:opening
Check your balance:
hledger -f accounting/main.journal balanceEvery transaction looks like this:
DATE DESCRIPTION
account:where:money:goes AMOUNT
account:where:money:comes:from
2025-02-15 Amazon | Rode microphone
expenses:equipment:audio 149.99 CAD
assets:bank:chequing
Translation: $149.99 went FROM your bank account TO equipment expenses.
2025-02-20 YouTube AdSense | January 2025 payout
assets:bank:chequing 523.47 CAD
income:youtube:adsense
Translation: $523.47 came FROM AdSense INTO your bank account.
2025-02-01 Epidemic Sound | Music subscription
expenses:software:music 16.99 CAD
liabilities:creditcard
# See all account balances
hledger -f accounting/main.journal balance
# See just expenses
hledger -f accounting/main.journal balance expenses
# See income vs expenses (profit/loss)
hledger -f accounting/main.journal incomestatement
# See all transactions
hledger -f accounting/main.journal register
# See just YouTube income
hledger -f accounting/main.journal register income:youtube
# Monthly expense breakdown
hledger -f accounting/main.journal balance expenses --monthly
# How much did I spend on software?
hledger -f accounting/main.journal balance expenses:softwarePro tip: Create aliases in your .bashrc or .zshrc:
alias hl='hledger -f ~/hledger-youtube-business/accounting/main.journal'Then just type: hl balance
Instead of typing every transaction, import them from your bank!
cd tools
./install.sh- Log into your bank's website
- Download transactions as CSV
- Run the import:
./tools/import-bank.shThe script will:
- Find your CSV in Downloads
- Show you a preview
- Ask for confirmation before importing
⚠️ NOT FINANCIAL ADVICE. SPEAK TO YOUR ACCOUNTANT FIRST. These are general tips only. Tax laws change, and your situation may be different. Always consult a professional.
This template includes detailed tax notes in accounting/main.journal, but here are the highlights:
| Expense | Deductible? | Notes |
|---|---|---|
| Camera, mic, lights | Yes | Depreciate if over $500 |
| Editing software | Yes | Full deduction |
| Music subscriptions | Yes | Epidemic Sound, Artlist, etc. |
| Home office | Yes | % of rent based on square footage |
| Internet | Yes | Business use % only |
| Business meals | 50% | Must be with collaborators, sponsors |
| Courses & education | Yes | Skillshare, YouTube courses |
| Travel to shoot | Yes | Track mileage! |
- Regular meals (just you eating while editing)
- Clothes (unless literally costumes for videos)
- Personal portion of phone/internet
- Commute to a day job
- Not required until you hit $30,000 revenue in 12 months
- YouTube AdSense is zero-rated (no GST to charge)
- Canadian sponsorships: charge GST/HST
- US sponsorships: zero-rated export
Save receipts in receipts/ with this naming convention:
YYYY-MM-DD-vendor-description.pdf
Examples:
2025-01-15-amazon-rode-mic.pdf2025-02-01-epidemic-sound.pdf2025-02-20-bestbuy-ring-light.pdf
Reference them in your transactions:
2025-01-15 Amazon | Rode microphone
expenses:equipment:audio 149.99 CAD
assets:bank:chequing
; Receipt: 2025-01-15-amazon-rode-mic.pdf
Each year gets its own transaction file:
accounting/2025.journalaccounting/2026.journal(create when needed)
Add new years to main.journal:
include 2025.journal
include 2026.journal
Install hledger first (see Quick Start above).
Every transaction must balance (money comes from somewhere). Check:
- Did you forget an account line?
- Is there a typo in the amount?
- Are your indents correct? (use spaces, not tabs, or vice versa consistently)
Dates must be YYYY-MM-DD format:
- ✅
2025-02-15 - ❌
02/15/2025 - ❌
Feb 15, 2025
- Check the filename matches patterns in
tools/config - Make sure the CSV is in your Downloads folder
- Try:
./import-bank.sh --file /path/to/your/file.csv
Found an issue? Have a suggestion?
- Open an issue on GitHub
- Or submit a pull request!
Especially welcome:
- Rules files for other Canadian banks
- Improvements to the account structure
- Better documentation
MIT License - use it, modify it, share it!
Made for the YouTube creator community 🎬