Ynabber reads transactions from one or more places and push them into YNAB.
Install Go and run go install
to install:
go install github.com/martinohansen/ynabber/cmd/ynabber@latest
Ynabber is configured with environment variables, for example reading from Nordigen requires these:
cat <<EOT >> ynabber.env
# YNAB
YNAB_BUDGETID=<budget_id>
YNAB_TOKEN=<account token>
# Nordigen
NORDIGEN_ACCOUNTMAP={"<nordigen account id>": "<ynab account id>"}
NORDIGEN_BANKID=<nordigen bankd id>
NORDIGEN_SECRET_ID=<nordigen secret id>
NORDIGEN_SECRET_KEY=<nordigen secret key>
EOT
All valid config options can be found here.
Run local:
# Read environment variables from file and run ynabber
declare $(cat ynabber.env); ynabber
Or with Docker:
docker run --env-file=ynabber.env ghcr.io/martinohansen/ynabber:latest
# To keep data persistent
docker run \
--volume ${PWD}:/data \
--env 'YNABBER_DATADIR=/data' \
--env-file=ynabber.env \
ghcr.io/martinohansen/ynabber:latest
Or deploying to Kubernetes with kubectl:
kubectl create configmap ynabber-env --from-env-file=ynabber.env
kubectl apply -f kubernetes.yaml
Pull requests are welcome.