SimpleFIN API integration for transaction tracking, spending categorization, budgeting, and financial reports. Use when user requests: connect bank account, fetch transactions, categorize spending, set/track budgets, review spending, or generate financial reports. Guide users through SimpleFIN setup, help generate personalized merchant rules, run budget commands, and provide spending analysis.
This skill helps users connect their bank accounts, track spending, set budgets, and review transactions. Your role is to guide them through setup and use the skill to provide financial insights.
Trigger when users ask about:
Guide the user to sign up for SimpleFIN ($2/month per bank):
When they provide the token:
"Now connect your bank accounts via SimpleFIN's web interface:"
This happens in their browser — you don't need to do anything.
Run the setup:
budget-skill setup
This creates:
~/.openclaw/workspace/data/simplefin/config.jsonbudgets.jsonEdit the config file with the Access URL from Step 1:
# Write to ~/.openclaw/workspace/data/simplefin/config.json
{
"access_url": "https://USER:[email protected]/simplefin"
}
budget-skill accounts
Should list all connected accounts with balances. If successful, guide them to fetch transactions:
budget-skill fetch --days 30
After initial setup, help users create personalized categorization rules.
budget-skill fetch --days 30~/.openclaw/workspace/data/simplefin/transactions/transactions.jsonworkspace/skills/budget-skill/personal-categories.json with:
Template structure:
{
"merchant_rules": {
"MERCHANT NAME": {
"category": "CATEGORY",
"notes": "Description",
"frequency": "monthly",
"track_balance": true,
"current_balance": 0.00,
"last_updated": "YYYY-MM-DD"
}
},
"category_descriptions": { ... }
}
See personal-categories.example.json in the skill directory for full template.
For deeper context (especially for financial accountability), create:
workspace/skills/budget-skill/financial-context.md
Include:
Always read this file before generating reports to provide personalized, contextual advice.
All commands use the global budget-skill binary.
budget-skill accounts
Returns all connected accounts with current balances. Run this before generating reports to get fresh data.
budget-skill fetch --days 30
Pulls transactions from the last N days. SimpleFIN returns transactions nested in account responses, so this extracts and categorizes them.
Note: First-time bank connections may take 24 hours to populate transaction history.
budget-skill budget set --category FOOD_AND_DRINK --limit 500 --period monthly
Creates spending limits. Available periods: monthly, weekly
budget-skill budget status --period monthly
Compares actual spending vs budgets for current period. Highlights over-budget categories.
budget-skill report --period weekly
Shows spending breakdown by category, top merchants, and totals. Available periods: weekly, monthly
When analyzing spending:
financial-context.md if it exists for user goals and preferencesWeekly/Monthly Reports:
Daily Reviews:
If user has set financial goals (in financial-context.md or BUDGET.md):
Personalized Categories (from personal-categories.json):
Generic Categories (fallback):
All data lives in: ~/.openclaw/workspace/data/simplefin/
config.json - SimpleFIN Access URL (contains credentials)accounts/accounts.json - Connected accountstransactions/transactions.json - Categorized transactionsbudgets.json - Budget limits by categorySecurity: All data is local. Access URL acts as password — never expose it.
"Config not found"
→ Run budget-skill setup first
"No transactions found"
→ Run budget-skill fetch --days 30
Empty transactions for a bank
→ Some banks take 24 hours to sync. Check again tomorrow.
Balance showing as cents instead of dollars
→ SimpleFIN returns balances as dollar strings, not cents. CLI should parse as-is.
"Please add your SimpleFIN Access URL"
→ Config file is missing the Access URL or still has placeholder text
For recurring budget reviews, set up cron jobs:
Weekly Report (Sunday 7 PM):
{
"schedule": {"kind": "cron", "expr": "0 19 * * 0", "tz": "America/Chicago"},
"payload": {
"kind": "agentTurn",
"message": "Generate weekly budget report:\n1. Read financial-context.md\n2. Run: budget-skill accounts\n3. Run: budget-skill fetch --days 7\n4. Run: budget-skill report --period weekly\n5. Analyze spending, flag waste, provide recommendations"
}
}
Daily Review (10 PM):
{
"schedule": {"kind": "cron", "expr": "0 22 * * *", "tz": "America/Chicago"},
"payload": {
"kind": "agentTurn",
"message": "Daily transaction review:\n1. Read financial-context.md\n2. Run: budget-skill accounts\n3. Review today's transactions\n4. Flag suspicious or wasteful spending"
}
}
User asks: "How much did I spend this week?"
budget-skill accounts (refresh balances)budget-skill fetch --days 7 (get recent transactions)budget-skill report --period weekly (generate report)financial-context.md (if exists)