Track your moneyflow from the terminal.
A keyboard-driven terminal UI for managing personal finance transactions. Built for users who prefer efficiency and direct control over their financial data.
Supported Platforms:
- ✅ Monarch Money - Full integration with editing and sync
- ✅ YNAB - Full integration with editing and sync
- ✅ Amazon Purchases - Import and analyze purchase history
- ✅ Demo Mode - Try it without an account
Documentation: moneyflow.dev
# Install with pip
pip install moneyflow
# Or run without installing (recommended)
uvx moneyflow
# Or use pipx
pipx install moneyflow# Try demo mode first (no account needed)
moneyflow --demo
# Connect to Monarch Money or YNAB
moneyflow
# Analyze Amazon purchase history
moneyflow amazon import ~/Downloads/"Your Orders"
moneyflow amazon
# Load only recent data
moneyflow --year 2025First-time Monarch Money setup: You'll need your 2FA secret key. See the Monarch Money setup guide.
First-time YNAB setup: You'll need a Personal Access Token from your YNAB account settings. See the YNAB setup guide.
- Keyboard-driven - Navigate with gto cycle views,Enterto drill down,Escapeto go back
- Multi-select bulk editing - Select with Space, edit withm/c/h, commit withw
- Drill-down and sub-grouping - Analyze spending from multiple angles
- Type-to-search - Filter transactions as you type with /
- Time navigation - Switch periods with t/y/aand←/→arrows
- Review before commit - Preview all changes before syncing to backend
- Encrypted credentials - AES-128 with PBKDF2 (100,000 iterations)
Full keyboard shortcuts and tutorials: moneyflow.dev
Clean up merchant names:
- Press guntil Merchant view
- Press mon a merchant to rename all transactions
- Press wto review and commit
Recategorize transactions:
- Press dfor detail view
- Press Spaceto multi-select transactions
- Press cto change category
- Press wto review and commit
Analyze spending:
- Press gto cycle to Category view
- Press Enteron a category to drill down
- Press gto sub-group by merchant or account
- Press tfor this month,←/→to navigate periods
Learn more: Navigation & Search Guide
Import and analyze your Amazon purchase history:
- Request "Your Orders" export from Amazon (Account Settings → Privacy)
- Download and unzip "Your Orders.zip"
- Import: moneyflow amazon import ~/Downloads/"Your Orders"
- Launch: moneyflow amazon
See Amazon Mode Guide for details.
- Enter your encryption password (for moneyflow), not your backend password
- If forgotten: Click "Reset Credentials" or delete ~/.moneyflow/
- Copy the BASE32 secret (long string), not the QR code
- Get fresh secret: Disable and re-enable 2FA in Monarch Money
- Verify your Personal Access Token is correct
- Token may have expired - generate a new one from YNAB Developer Settings
- Make sure you copied the entire token (no spaces before/after)
- Token is only shown once - if lost, generate a new one
- Use a modern terminal with Unicode support (iTerm2, GNOME Terminal, Windows Terminal)
rm -rf ~/.moneyflow/
pip install --upgrade --force-reinstall moneyflow
moneyflowMore help: Troubleshooting Guide
Full documentation available at moneyflow.dev
- Installation
- Quick Start Tutorial
- Navigation & Search
- Editing Transactions
- Keyboard Shortcuts
- Monarch Money Setup
- YNAB Setup
- Amazon Mode
- Credentials encrypted with AES-128 using PBKDF2 key derivation (100,000 iterations)
- Encryption password never leaves your machine
- Stored in ~/.moneyflow/credentials.encwith 600 permissions
- See SECURITY.md for full details
Contributions welcome! See Contributing Guide.
Development setup:
git clone https://github.com/wesm/moneyflow.git
cd moneyflow
uv sync
uv run pytest -vCode quality checks:
uv run pytest -v                          # Tests
uv run pyright moneyflow/                 # Type checking
uv run ruff format moneyflow/ tests/      # Formatting
uv run ruff check moneyflow/ tests/       # LintingSecurity reviews:
All PRs from external contributors are automatically reviewed by Claude for security issues. See Security Bot Documentation for details.
See Developing moneyflow for details.
This project's Monarch Money backend uses code derived from the monarchmoney Python client library by hammem, used under the MIT License. See licenses/monarchmoney-LICENSE for details.
Monarch Money® is a trademark of Monarch Money, Inc. This project is independent and not affiliated with, endorsed by, or officially connected to Monarch Money, Inc.
MIT License - see LICENSE file for details.
Disclaimer: Independent open-source project. Not affiliated with or endorsed by Monarch Money, Inc. or YNAB LLC.