No accounts • No sync • No Plaid
Your bank data. Your Mac. Zero cloud.
Import bank CSVs into a local SQLite database, categorize with rules that learn over time, set budgets, and export back to CSV. Optional local LLM via llama.cpp for unknown merchants. Open source, MIT licensed.
macOS Apple Silicon (M1+). Not code-signed yet — right-click → Open to bypass Gatekeeper.
Web demo runs in the browser with local demo data (stored in localStorage) so reviewers can test the workflow by link.
Trust pack
What we guarantee
- Open source — read every line.
- Local-only data: SQLite in your app data directory.
- No accounts, no sync, no telemetry by design.
- Categorization runs locally (rules + learned rules).
- Model is optional: without it, unknown merchants fall back to "other".
Want to verify offline behavior? See Privacy or run lsof -i while the app is open.
Screenshots
Click to enlarge
Fast import
CSV → local database
Import Chase CSV formats, deduplicate by hash, and keep a clean ledger.
Budgets
Monthly limits
Set per-category limits and see spent/remaining for the selected month.
Explainability
Why this category?
Each transaction shows where its category came from (rule / learned / LLM / manual).
Web demo
Test Ledgr in your browser
Use the interactive demo to try CSV import, category edits, learned rules, budgets, and CSV export before installing the desktop app.
Note: the web demo simulates the workflow with browser-stored data. Full native functionality remains in the Tauri desktop build.
Pricing
Ledgr is free and open source (MIT). Download the DMG from GitHub Releases or build from source.
If you find it useful, star the repo or open an issue with feature requests.