Coder Social home page Coder Social logo

hoejmann / ynabber Goto Github PK

View Code? Open in Web Editor NEW

This project forked from martinohansen/ynabber

0.0 0.0 0.0 262 KB

Ynabber reads bank transactions from GoCardless (formerly Nordigen) and writes them into YNAB

License: GNU General Public License v3.0

Shell 5.98% Go 93.06% HTML 0.07% Dockerfile 0.89%

ynabber's Introduction

Ynabber

Ynabber sets out to read and write bank transactions from one or more sources (known as readers) to one or more destinations (known as writers).

For a list of supported see the readers and writers subsections.

Installation

Install Go and run go install to install binary

go install github.com/martinohansen/ynabber/cmd/ynabber@latest

Usage

Ynabber is configured with environment variables. To read from Nordigen (now known as GoCardless) and write to YNAB use these values:

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

All valid config options can be found in the config.go file.

To read the environment variables from a file and run the binary one can use the declare command:

# Read environment variables from file and run ynabber
declare $(cat ynabber.env); ynabber

Or run the container and parse in the variables 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

Readers

Currently tested readers and verified banks, but any bank supported by Nordigen should work.

Reader Bank
Nordigen1 ALANDSBANKEN_AABAFI22
NORDEA_NDEADKKK
NORDEA_NDEAFIHH
NORWEGIAN_FI_NORWNOK1
S_PANKKI_SBANFIHH

Writers

The default writer is YNAB (that's really what this tool is set out to handle) but we also have a JSON writer that can be used for testing purposes.

Writer Description
YNAB Pushes transactions to YNAB
JSON Writes transactions to stdout in JSON format

Contributing

Pull requests are welcome.

Footnotes

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

ynabber's People

Contributors

martinohansen avatar hpernu avatar canyumusak avatar dependabot[bot] avatar ingvarso avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.