Ynabber reads bank transactions from one or more sources (readers) and writes them to one or more destinations (writers). Use it to pull in your bank transactions automatically and push them to personal finance apps like YNAB.
See readers and writers below for supported banks and services.
Install with either Go or Docker. Choose what fits your setup.
# Go
go install github.com/martinohansen/ynabber/cmd/ynabber@latest
# Docker
docker pull ghcr.io/martinohansen/ynabber:latest
Ynabber is configured via environment variables. Here’s an example setup for reading transactions from GoCardless (formerly Nordigen) and writing them to YNAB:
cat <<EOT > ynabber.env
# YNAB
YNAB_BUDGETID=<budget_id>
YNAB_TOKEN=<account_token>
YNAB_ACCOUNTMAP={"<IBAN>": "<YNAB_account_ID>"}
# Nordigen / GoCardless
NORDIGEN_BANKID=<nordigen_bank_ID>
NORDIGEN_SECRET_ID=<nordigen_secret_ID>
NORDIGEN_SECRET_KEY=<nordigen_secret_key>
EOT
To run Ynabber with these settings:
# Load env vars from file and run
set -a
. ./ynabber.env
set +a
ynabber
Or using Docker:
docker run \
--volume "${PWD}:/data" \
--env 'YNABBER_DATADIR=/data' \
--env-file=ynabber.env \
ghcr.io/martinohansen/ynabber:latest
See CONFIGURATION.md for all available settings.
Readers fetch transactions from your bank. Any bank supported by GoCardless should work. Examples below:
Reader | Bank | Verified? |
---|---|---|
Nordigen1 | ALANDSBANKEN_AABAFI22 | ✅ |
NORDEA_NDEADKKK | ✅ | |
NORDEA_NDEAFIHH | ✅ | |
NORWEGIAN_FI_NORWNOK1 | ✅ | |
S_PANKKI_SBANFIHH | ✅ | |
SPAREBANK_SR_BANK_SPRONO22 | ✅ |
Writers are destinations for fetched transactions.
Writer | Description |
---|---|
YNAB | Pushes transactions to a YNAB budget |
JSON | Writes transactions as JSON to stdout (useful for testing) |
Pull requests welcome. Found a bug or have ideas? Open an issue. Help make Ynabber better for everyone.
bitcoin:bc1qct2au09va7rk5psevmesalkaxtjmdjun9x2r3a