Skip to content

Reads and writes bank transactions from GoCardless (formerly Nordigen) to YNAB

License

Notifications You must be signed in to change notification settings

martinohansen/ynabber

Repository files navigation

Ynabber

Ynabber is a tool that reads and writes bank transactions from one or more sources (called readers) to one or more destinations (called writers). This makes it easier to pull in your bank transactions automatically and push them to personal finance apps like YNAB.

See subsection readers and writers for a list of supported banks and services.

Installation

You can use Go or Docker to install and run Ynabber. Choose whichever option you find more convenient.

# Install with Go
go install github.com/martinohansen/ynabber/cmd/ynabber@latest

# Install with Docker
docker pull ghcr.io/martinohansen/ynabber:latest

Usage

Ynabber is configured via environment variables. Below is an example setup for reading transactions from GoCardless (formerly known as 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
NORDIGEN_BANKID=<nordigen bank ID>
NORDIGEN_SECRET_ID=<nordigen secret ID>
NORDIGEN_SECRET_KEY=<nordigen secret key>
EOT

Then run Ynabber:

# Load environment variables from the file
set -a; . ./ynabber.env; set +a; ynabber

# Then run
ynabber

Or using Docker:

docker run \
    --volume ${PWD}:/data \
    --env 'YNABBER_DATADIR=/data' \
    --env-file=ynabber.env \
    ghcr.io/martinohansen/ynabber:latest

All valid config variables can be found here

Readers

Readers are how Ynabber fetches your transactions from the bank. Below are some tested examples. Generally, any bank supported by GoCardless (formerly known as Nordigen) should work:

Reader Bank Verified?
Nordigen1 ALANDSBANKEN_AABAFI22
NORDEA_NDEADKKK
NORDEA_NDEAFIHH
NORWEGIAN_FI_NORWNOK1
S_PANKKI_SBANFIHH

Writers

Writers tell Ynabber where to send the fetched transactions.

Writer Description
YNAB Pushes transactions to a YNAB budget
JSON Writes transactions as JSON to stdout (useful for testing)

Contributing

Pull requests are welcome! If you encounter a bug or have an idea for improvement, feel free to open an issue. We’d love your help in making Ynabber better for everyone!

Footnotes

  1. Please open an issue if you have problems with a specific bank.

About

Reads and writes bank transactions from GoCardless (formerly Nordigen) to YNAB

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages