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
# Fetch only recent data from API (Monarch/YNAB only - for faster loading)
moneyflow --year 2025 # Fetch from 2025-01-01 onwards
moneyflow --since 2024-06-01 # Fetch from specific dateFirst-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. If you have multiple budgets, you'll be prompted to select one. 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 - Multiple aggregation dimensions - Merchants, Categories, Groups, Accounts, Time (by year/month)
- Drill-down and sub-grouping - Analyze spending from multiple angles, combine dimensions
- Type-to-search - Filter transactions as you type with
/ - 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 views (Merchants → Categories → Groups → Accounts → Time) - In Time view: Press
tto cycle granularity (Year → Month → Day),Enterto drill into a period - In any aggregate view: Press
Enterto drill down - Press
gto cycle sub-groupings (including by Time) - Press
ato clear time drill-down,Escapeto go back
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
moneyflow includes multiple color themes for different aesthetic preferences:
- default - Original moneyflow dark theme
- berg - Orange on black (inspired by Bloomberg Terminal) - nostalgic 1980s financial terminal aesthetic
- nord - Nord (arctic blue tones) - popular among developers for eye-friendly cool colors
- gruvbox - Gruvbox (retro warm colors) - vintage aesthetic beloved by vim users
- dracula - Dracula (modern purple) - vibrant high-contrast dark theme
- solarized-dark - Solarized Dark (precision colors) - scientifically designed for reduced eye strain
- monokai - Monokai (Sublime Text classic) - the iconic editor theme
Set your preferred theme in ~/.moneyflow/config.yaml:
version: 1
settings:
theme: berg # or nord, gruvbox, dracula, solarized-dark, monokaiRestart moneyflow for the theme to take effect.
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/ # LintingSee 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.