shmoney is a local-first personal finance app for the desktop. It tracks your accounts, transactions, budgets, and investments in a single SQLite database on your own machine. There is no cloud backend, no user account, and no telemetry.
It is built for people who want a full-featured finance tracker without handing their bank credentials or transaction history to a hosted service. Bank data comes in through SimpleFIN or plain file imports, and everything else, including AI categorization, runs entirely on your device.
Built with Electron, React, TypeScript, and SQLite. Runs on Windows, macOS, and Linux.
- 🏦 Bank sync via SimpleFIN. Pull balances, transactions, and investment holdings without handing over bank credentials.
- 📄 File import. CSV, TSV, OFX, QFX, and QIF, with column mapping and duplicate detection.
- 🤖 On-device AI categorization. An optional local LLM (via llama.cpp) categorizes transactions, fully offline.
- 💬 Chat with your finances (experimental). Ask the same on-device model questions about your finances; it runs read-only SQL queries and can chart the results, scoped to one account if you like, fully offline with history stored locally.
- ⚡ Rules engine. Prioritized rules run on every sync; the app suggests new ones from how you categorize.
- ✉️ Envelope budgeting. Assign monthly amounts to category envelopes and track what remains.
- 📊 Custom reports. Drag-and-drop dashboards with chart, table, and stat widgets, plus saved filters.
- 🔁 Transfer detection. Money moved between your own accounts is excluded from income and spending.
- ↩️ Activity log with undo. Every change is recorded and reversible, even across restarts.
- 📈 Investments and net worth. Holdings with market value and cost basis, and per-currency net worth.
- 🇪🇺 European bank sync. Connect to European banks alongside SimpleFIN.
- All application data lives in a SQLite file in your OS user-data directory. You can back it up, move it, or inspect it with any SQLite tool.
- SimpleFIN credentials are encrypted using the OS keychain and never leave the Electron main process.
- The only network calls the app makes are to your SimpleFIN bridge and the one-time LLM model download. There is no telemetry and no cloud sync.
shmoney is under active development and has not reached a stable release. The database schema may change between versions.
Bug reports and feature requests are welcome via GitHub issues; see CONTRIBUTING.md. Pull requests are not accepted. Security issues should go through private vulnerability reporting instead of public issues.
shmoney is source-available under the PolyForm Noncommercial License 1.0.0. You are free to use, modify, and share it for any noncommercial purpose; commercial use is not permitted. If you are interested in a commercial license, open an issue.
The shmoney name and logo are not covered by the license: forks and derived works must use a different name and logo.








