Log and track daily expenses in markdown files organized by month.
python3 scripts/log_expense.py log <amount> <category> [--description "text"] [--tags "tag1,tag2"] [--date YYYY-MM-DD]
Examples:
# Simple expense
python3 scripts/log_expense.py log 45000 Coffee
# With description
python3 scripts/log_expense.py log 250000 Dining --description "Lunch with team"
# With tags
python3 scripts/log_expense.py log 500000 Shopping --tags "clothes,sale" --description "New shirt"
# Specify date (for backdating)
python3 scripts/log_expense.py log 1200000 Vehicle --description "Gas" --date 2026-02-15
# Current month
python3 scripts/log_expense.py summary
# Specific month
python3 scripts/log_expense.py summary 2026-02
# JSON output (for parsing)
python3 scripts/log_expense.py summary 2026-02 --json
Expenses are stored in expenses/ directory at workspace root:
expenses/
├── 2026-01.md
├── 2026-02.md
└── 2026-03.md
Each file contains a markdown table:
# Expenses - 2026-02
| Date | Category | Amount (VND) | Description | Tags |
|------|----------|-------------|-------------|------|
| 2026-02-17 | Coffee | 45,000 | | |
| 2026-02-17 | Dining | 250,000 | Lunch with team | |
| 2026-02-17 | Shopping | 500,000 | New shirt | clothes,sale |
See references/categories.md for common expense categories. Use existing categories or create custom ones as needed.
Common categories:
When the user mentions spending money:
# User: "Just paid 35k for coffee"
python3 scripts/log_expense.py log 35000 Coffee
# User: "Grabbed lunch for 120k at Phở 24"
python3 scripts/log_expense.py log 120000 Dining --description "Phở 24"
# User: "Filled up gas, 400k"
python3 scripts/log_expense.py log 400000 Vehicle --description "Gas"
# Get summary
python3 scripts/log_expense.py summary 2026-02
# Read the expense file to see details
cat expenses/2026-02.md
# Get JSON for analysis
python3 scripts/log_expense.py summary 2026-02 --json
# Compare multiple months
python3 scripts/log_expense.py summary 2026-01 --json > jan.json
python3 scripts/log_expense.py summary 2026-02 --json > feb.json
Before every write, the script automatically backs up the current expense file to:
~/Documents/expenses_backup/YYYY-MM.md
rm -rf or corruption of the workspaceWhen tracking expenses, consider:
Commands:
log - Add an expense entrysummary - View monthly summaryArguments (log):
amount - Amount in VND (required)category - Category name (required)--description/-d - Optional description--tags/-t - Optional comma-separated tags--date - Optional date (YYYY-MM-DD, defaults to today)--workspace - Optional workspace path (defaults to ~/.openclaw/workspace)Arguments (summary):
year_month - Optional YYYY-MM (defaults to current month)--json - Output as JSON--workspace - Optional workspace pathOutput:
expenses/ directory共 1 个版本