Skip to content

About

Local-first personal finance tracker for with a Rust CLI/TUI, SQLite ledger, budgets, recurring bills, reconciliation, and cashflow forecasting.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

206 stars

Watchers

4 watching

Forks

Helius

Personal finance in your terminal. Local-first, private, and fast.

A Rust TUI and CLI for tracking money, with everything stored in one SQLite file that you own.

Latest release CI License: AGPL-3.0 Platforms Built with Rust

Install  ·  Quick Start  ·  Wiki  ·  Bank Import


Helius terminal UI demo

Why Helius

Local-first

Your data lives in one SQLite file on your own machine. You don't need an account or a cloud service.

Single binary

One command installs it, with no runtime to set up. The same binary runs the TUI, the guided shell, and the CLI.

Bank import

25 CSV presets for banks in the US, UK, and Europe, plus ISO 20022 camt.053 XML statements.

Budgets and recurring bills

Set monthly budgets, schedule recurring bills, and reconcile accounts against your bank statements.

Forecasts and goals

Project cash flow 90 days ahead, compare what-if scenarios, and track savings goals.

Scriptable

JSON output for automation and CSV export for spreadsheets and reports.

Quick start

Install with one command:

# Linux
curl -fsSL https://raw.githubusercontent.com/Helius-Finance/helius-finance-tracker/main/install.sh | sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/Helius-Finance/helius-finance-tracker/main/install.ps1 | iex

Then run helius. On first launch, Helius asks for a 3-letter currency code and creates your database. You can also set up from the command line:

helius init --currency USD
helius account add Checking --type checking --opening-balance 1000.00
helius import csv --input statement.csv --account Checking --preset chase-us --dry-run
helius balance

Installation

The one-command installer downloads the latest release, verifies its SHA-256 checksum, and installs helius into ~/.local/bin on Linux or %LOCALAPPDATA%\Programs\Helius on Windows. The Windows installer also adds that folder to your user PATH. Run the same command again to upgrade.

Note

The Linux binary needs glibc 2.34 or newer. On older distributions or musl-based systems such as Alpine, use Docker or build from source.

Install a specific version or into a different folder

Set HELIUS_VERSION or HELIUS_INSTALL_DIR before running the installer:

curl -fsSL https://raw.githubusercontent.com/Helius-Finance/helius-finance-tracker/main/install.sh | HELIUS_VERSION=v1.4.4 sh
$env:HELIUS_VERSION = "v1.4.4"; irm https://raw.githubusercontent.com/Helius-Finance/helius-finance-tracker/main/install.ps1 | iex
Download a release archive manually
Platform Archive
Windows x86_64 helius-v1.4.4-windows-x86_64.zip
Linux x86_64 helius-v1.4.4-linux-x86_64.tar.gz

Extract the archive into a folder you keep for tools, then run helius (.\helius.exe on Windows). To run it from any directory, add that folder to your PATH.

Build from source

Requires the stable Rust toolchain.

git clone https://github.com/Helius-Finance/helius-finance-tracker.git
cd helius-finance-tracker
cargo build --release      # binary: target/release/helius

Or install it into your Cargo bin directory:

cargo install --path .
Run in Docker

The container stores its database at /data/tracker.db.

docker build -t helius .
docker volume create helius-data

docker run --rm -it -v helius-data:/data helius            # TUI
docker run --rm -v helius-data:/data helius balance        # direct command

Use -it for the TUI and the interactive shell.

Three ways to use it

Mode Command Best for
Terminal UI helius Everyday browsing and editing, with dashboard, budgets, planning, and more
Guided shell helius shell Step-by-step prompts when you don't want to remember flags
Direct CLI helius <command> Scripts, automation, and --json output

Everyday commands

helius balance                       # balances across accounts
helius tx list --limit 20            # recent transactions
helius summary month 2026-03         # income vs. expenses for a month
helius budget status 2026-03         # budget progress
helius forecast show                 # 90-day cash-flow forecast
helius forecast bills                # bills due in the next 30 days
Accounts, categories & transactions
helius account add Cash --type cash
helius category add Groceries --kind expense
helius category add Salary --kind income

helius tx add --type income  --amount 2500.00 --date 2026-03-01 --account Checking --category Salary    --payee Employer
helius tx add --type expense --amount 42.50   --date 2026-03-02 --account Checking --category Groceries --payee Market

helius tx edit 12 --note "corrected note"
helius tx delete 12
helius tx restore 12
Budgets, recurring rules & reconciliation
helius budget set Groceries --month 2026-03 --amount 300.00 --account Checking

helius recurring add "Monthly Rent" --type expense --amount 900.00 --account Checking \
  --category Housing --cadence monthly --day-of-month 6 --start-on 2026-03-01
helius recurring run --through 2026-04-30

helius reconcile start --account Checking --to 2026-03-31 --statement-balance 3174.60 \
  --transaction-id 10 --transaction-id 11
Planning, scenarios & goals
helius forecast show --days 90
helius scenario add "Recovery Plan"
helius goal add "Cash Floor" --kind balance-target --account Checking --minimum-balance 100.00
Export & scripting
helius export csv --kind transactions --output transactions.csv --month 2026-03
helius balance --json
helius forecast bills --days 30 --json

Bank import

Import statements with a preset, map CSV columns yourself, or load camt.053 XML. Always preview with --dry-run first. A dry run shows exactly what would be written without touching your database.

helius import csv --list-presets
helius import csv --input statement.csv --account Checking --preset revolut-csv --dry-run
helius import camt053 --input statement.xml --account Checking --dry-run
Supported banks (25 presets)
Region Banks
United States Chase, Bank of America, Wells Fargo, Citi
United Kingdom Barclays, HSBC, Lloyds, NatWest / RBS, Monzo, Starling
Germany Deutsche Bank, Commerzbank, DKB
Greece Alpha Bank, Eurobank, National Bank of Greece, Piraeus
Pan-European Revolut, Wise, N26
Netherlands, France, Spain, Italy ING, BNP Paribas, Santander, Intesa Sanpaolo
Australia Commonwealth Bank

Preset IDs, verification levels, and manual column mapping are covered in the Bank Import guide.

Keyboard shortcuts

Key Action
Tab / Shift+Tab Switch panels, or move between form fields
j k or ↑ ↓ Move selection
n / e New / edit item
d Archive, delete, reset, or restore
Enter Open, activate, or post. Saves when in a form
Ctrl+S or F2 / Esc Save / cancel a form
? / q Help / quit

Your data

Platform Default database
Windows %LOCALAPPDATA%\Helius\tracker.db
Linux ~/.local/share/helius/tracker.db
Docker /data/tracker.db

Override the location with --db <path> or the HELIUS_DB_PATH environment variable.

Tip

Your whole ledger is a single file. To back it up, close Helius and copy tracker.db somewhere safe.

Documentation

Guide What's inside
Installation Every install option in detail
Getting Started Your first database, accounts, and transactions
CLI Reference Every command and flag
TUI and Shell Panels, shortcuts, and the guided shell
Bank Import Presets, manual mapping, and camt.053
Planning and Forecasts Forecasts, scenarios, and goals
Data and Storage Database location, backups, and migrations

Contributing

Bug reports, bank presets, and pull requests are welcome. Start with CONTRIBUTING.md, and report security issues as described in SECURITY.md.

cargo test
cargo build --release

License

Copyright 2026 Helius Finance. Released under the GNU Affero General Public License v3.0.

Star history

Star History Chart

About

Local-first personal finance tracker for with a Rust CLI/TUI, SQLite ledger, budgets, recurring bills, reconciliation, and cashflow forecasting.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

206 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages