Track your personal expenses from the terminal. Simple, fast, and local.
This is a challenge from roadmap.sh.
- Add expenses with description and amount
- List expenses with filters (date, month, year, range)
- View summaries with statistics (total, average, max, min)
- Update and Delete expenses
- Local storage - SQLite database in ~/.expense_tracker/
# Install JBang (one-time)
curl -Ls https://sh.jbang.dev | bash
# Install expense-tracker CLI
jbang app install --name expense-tracker --java-options "--enable-native-access=ALL-UNNAMED" https://github.com/vekzz-dev/expense-tracker-cli/releases/download/v1.0.0/expense-tracker-cli-1.0.jargit clone https://github.com/vekzz-dev/expense-tracker-cli.git
cd expense-tracker-cli
./gradlew installDist
./build/install/expense-tracker-cli/bin/expense-tracker-cliexpense-tracker add "Coffee" 5.00expense-tracker list # today's expenses
expense-tracker list -all # all expenses
expense-tracker list -d 2026-03-01 # by date
expense-tracker list -m 3 # by month (March)
expense-tracker list -y 2026 # by year
expense-tracker list -s 2026-01-01 -f 2026-01-31 # custom rangeexpense-tracker summary # current month
expense-tracker summary -all # all-time summary
expense-tracker summary -d 2026-03-01 # daily summary
expense-tracker summary -m 2026-03 # monthly summary
expense-tracker summary -y 2026 # yearly summary
expense-tracker summary -w 2026-03-01 # last 7 daysexpense-tracker update 1 --description "Coffee" --amount 4.50expense-tracker delete 1expense-tracker --help- Simple syntax - Just description and amount
- Flexible filters - By date, month, year, or custom range
- Statistics - Total, average, max, min expenses
- Clean tables - Formatted ASCII output
- Local database - No cloud, no accounts
Requires Java 21 or higher