Personal finance CLI: bank statement import, transaction categorization, budgets, and net worth tracking
Project description
finance-cli
Personal finance CLI and MCP server for AI-assisted financial management.
Import bank statements (Plaid, CSV, PDF), categorize transactions via rules + AI, track budgets, subscriptions, debt, and net worth. SQLite backend, 130 MCP tools for Claude Code integration.
Features
- Multi-source import: Plaid API, CSV statements, PDF statements (AI-parsed)
- Smart categorization: Keyword rules → vendor memory → Plaid PFC → AI fallback
- Budget tracking: Per-category budgets with alerts and forecasting
- Debt management: Dashboard, paydown simulator, spending impact analysis
- Subscription detection: Fixed + metered recurring charge detection
- Business accounting: P&L, Schedule C, estimated tax, 1099 tracking
- Net worth tracking: Balance snapshots, investment accounts, projections
- 130 MCP tools: Full Claude Code integration for AI-assisted workflows
Quick Start
pip install -e ".[all]" # Install with all provider extras
finance-cli setup init # Initialize database and seed categories
finance-cli setup connect # Link bank accounts via Plaid
finance-cli plaid sync # Sync transactions
finance-cli daily # Today's spending summary
Installation
# Core only (categorization, budgets, reports)
pip install -e .
# With specific providers
pip install -e ".[plaid]" # Plaid bank sync
pip install -e ".[stripe]" # Stripe revenue tracking
pip install -e ".[mcp]" # Claude Code MCP server
pip install -e ".[all]" # Everything
Configuration
Set environment variables (or use a .env file):
# Plaid (optional)
PLAID_CLIENT_ID=...
PLAID_SECRET=...
PLAID_ENV=production
# Stripe (optional)
STRIPE_API_KEY=...
# AI categorization (optional)
OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...
MCP Server (Claude Code)
claude mcp add finance-cli -- python3 -m finance_cli.mcp_server
Documentation
- How It Works — Architecture overview
- Project Guide — Detailed project guide
- Agent Workflows — AI agent operational playbooks
- Import Workflow — Bank statement import guide
- Adding Institutions — CSV normalizer guide
Requirements
- Python 3.11+
- SQLite (included with Python)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file finance_cli-1.1.0.tar.gz.
File metadata
- Download URL: finance_cli-1.1.0.tar.gz
- Upload date:
- Size: 428.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
981ff2b4d86feca8dadcfad6f370fd72e36792ee7c6232f6ea575e6a3ef5dee4
|
|
| MD5 |
c91232b2a0293c720e08ced88ad81668
|
|
| BLAKE2b-256 |
eda1445c9b24c46ad60a07dd13e02f42018d793c17d813953c3a9e33074a5069
|
File details
Details for the file finance_cli-1.1.0-py3-none-any.whl.
File metadata
- Download URL: finance_cli-1.1.0-py3-none-any.whl
- Upload date:
- Size: 529.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
998fa3a08cdbc223ff88c976ebd67e855c36d0abac7247371eb03388bb1bf362
|
|
| MD5 |
ed45a0b7c595e9bc279bfc443a62cd15
|
|
| BLAKE2b-256 |
892beb664cef8263c4554588b05e595ede9b5777ebebd162d1f4da0936d393f9
|