ynabmunger
A CLI tool for importing bank exports into YNAB.
Installation
You can download binaries from the Releases page.
To build locally, you need Rust installed and you can either:
cargo install --git https://git.shee.sh/james/ynabmunger
or clone the repo locally and run:
cargo install --path .
Usage
All commands that interact with YNAB require your API token, available from YNAB developer settings. Set it via the --token flag or the YNAB_API_TOKEN environment variable.
Commands
plans
List available YNAB budgets:
ynabmunger plans --token YOUR_TOKEN
accounts
List accounts in a budget:
ynabmunger accounts --token YOUR_TOKEN --plan "My Budget"
You can reference a budget by name (--plan) or ID (--plan-id).
transactions
List recent transactions (last 30 days):
ynabmunger transactions --token YOUR_TOKEN --plan "My Budget"
Filter by account with --account or --account-id.
convert
Convert a bank export to YNAB-compatible CSV for manual import:
ynabmunger convert --format bulder bank_export.csv > ynab_import.csv
Reads from stdin if no input files are given:
cat bank_export.csv | ynabmunger convert --format bulder > ynab_import.csv
import
Import a bank export directly into a YNAB account:
ynabmunger import --token YOUR_TOKEN \
--plan "My Budget" \
--account "Checking" \
--format bulder \
bank_export.csv
Bank Formats
Currently supported formats:
| Format | Description |
|---|---|
bulder |
Bulder bank semicolon-delimited export |
Adding New Formats
Add a new variant to the BankFormat enum in src/csv.rs and implement the reader and transform methods.