Expense Tracker
Track, categorize, and analyze personal/business expenses.
Quick Start
Log a transaction:
python3 scripts/expense.py add --amount 45.99 --category food --desc "Grocery run" --date 2026-03-31
Scan a receipt image:
python3 scripts/expense.py scan receipt.jpg
View reports:
python3 scripts/expense.py report --period month # this month
python3 scripts/expense.py report --period week # this week
python3 scripts/expense.py report --category food # food spending
python3 scripts/expense.py report --budget # budget vs actual
Commands
| Command | Description |
|---------|-------------|
| add | Add a manual transaction |
| scan | OCR a receipt image and extract items |
| import | Import CSV bank statement |
| report | Generate spending reports |
| budget | Set/view monthly budgets by category |
| categories | List or edit categories |
| export | Export data as CSV |
Receipt Scanning
The scan command uses OCR to extract:
- Merchant name
- Date
- Line items with prices
- Total amount
Extracted items are auto-categorized using keyword matching (see references/categories.md for rules).
Data Storage
All data stored in ~/.expense-tracker/:
transactions.json— all transactionsbudgets.json— monthly budget limitscategories.json— custom categories and rules
Report Formats
Reports show:
- Total spent per category (bar chart ASCII)
- Month-over-month comparison
- Budget utilization percentage
- Top merchants by spend
- Daily/weekly spending trend
CSV Import
Import bank statements (auto-detects columns):
python3 scripts/expense.py import bank_export.csv --date-col Date --amount-col Amount --desc-col Description
微信扫一扫