.claude/skills/sync-baneco/SKILL.md
Export Baneco transactions, categorize with AI, and import to YNAB
npx skillsauth add israellias/betterynab-sync sync-banecoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
All python commands MUST use .venv/bin/python (not python or python3).
When the user runs this skill:
Run the export + convert pipeline:
.venv/bin/python -m baneco --dry-run [--since-date YYYY-MM-DD if provided]
(This opens the browser, exports CSV, converts transactions, saves to baneco/transactions.json)
Load the converted transactions:
.venv/bin/python -c "import json; from baneco import load_pending_transactions; print(json.dumps(load_pending_transactions()))"
Check if baneco/rules.md exists:
Pattern (in memo) | Payee | Category for when a memo pattern should set both payee and categoryKeywords | Category for keyword-based category matching where AI determines the payeebaneco/rules.md with proper markdown formatting, then continueFetch BOB Budget categories (returns [{"id": "uuid", "name": "Category Name"}, ...]):
.venv/bin/python -c "import json; from baneco import get_bob_categories; print(json.dumps(get_bob_categories()))"
For each transaction:
a. Apply payee+category rules from baneco/rules.md (pattern matching on memo)
b. Apply category-only rules (keyword matching on memo)
c. For unmatched: use AI judgment based on memo text + AI Guidance section in baneco/rules.md
d. Fuzzy-match the rule's category name against actual YNAB category names (ignore emojis)
e. Set category_id on the transaction using the matched category's id (YNAB requires the UUID, not a name)
If --auto-accept was passed: skip to step 8
Show the user a table:
Date | Amount | Payee | Category | Memo (truncated) | Source (rule/AI)
Ask user to approve or adjust
Write the final categorized transactions back to baneco/transactions.json, then import to YNAB:
.venv/bin/python -c "import json, sys; from baneco import import_to_ynab; txns = json.loads(sys.stdin.read()); result = import_to_ynab(txns); print(json.dumps(result))" (pipe the JSON via stdin)
development
Export Banco Sol transactions, categorize with AI, and import to YNAB
tools
Sync BOB Budget transactions to USD Budget with exchange rate conversion
development
Export BISA transactions, categorize with AI, and import to YNAB
testing
Sync all bank pipelines and reconcile balances against YNAB