1
1
# Ynabber
2
2
3
- Ynabber sets out to read and write bank transactions from one or more sources
4
- (known as readers) to one or more destinations (known as writers).
3
+ Ynabber is a tool that reads and writes bank transactions from one or more
4
+ sources (called readers) to one or more destinations (called writers). This
5
+ makes it easier to pull in your bank transactions automatically and push them to
6
+ personal finance apps like YNAB.
5
7
6
- For a list of supported see the [ readers] ( #readers ) and [ writers] ( #writers )
7
- subsections .
8
+ See subsection [ readers] ( #readers ) and [ writers] ( #writers ) for a list of
9
+ supported banks and services .
8
10
9
11
## Installation
10
12
11
- Install [ Go] ( https://go.dev/ ) and run ` go install ` to install binary
13
+ You can use [ Go] ( https://go.dev/ ) or
14
+ [ Docker] ( https://www.docker.com/get-started/ ) to install and run Ynabber. Choose
15
+ whichever option you find more convenient.
12
16
13
17
``` bash
18
+ # Install with Go
14
19
go install github.com/martinohansen/ynabber/cmd/ynabber@latest
20
+
21
+ # Install with Docker
22
+ docker pull ghcr.io/martinohansen/ynabber:latest
15
23
```
16
24
17
25
## Usage
18
26
19
- Ynabber is configured with environment variables. To read from
20
- [ Nordigen] ( https://nordigen.com/en/ ) (now known as GoCardless) and write to YNAB
21
- use these values:
27
+ Ynabber is configured via environment variables. Below is an example setup for
28
+ reading transactions from
29
+ [ GoCardless] ( https://gocardless.com/bank-account-data/ ) (formerly known as
30
+ Nordigen) and writing them to YNAB.
22
31
23
32
``` bash
24
33
cat << EOT >> ynabber.env
@@ -34,19 +43,17 @@ NORDIGEN_SECRET_KEY=<nordigen secret key>
34
43
EOT
35
44
```
36
45
37
- _ All valid config options can be found [ here] ( https://pkg.go.dev/github.com/martinohansen/ynabber#Config ) _
38
-
39
- Once the environment variables are set, run the binary:
46
+ Then run Ynabber:
40
47
41
48
``` bash
42
- # Read environment variables from file first
49
+ # Load environment variables from the file
43
50
set -a; . ./ynabber.env; set +a; ynabber
51
+
52
+ # Then run
44
53
ynabber
45
54
```
46
55
47
- Or run in a container with
48
- [ Docker] ( https://docs.docker.com/engine/reference/run/ ) :
49
-
56
+ Or using Docker:
50
57
51
58
``` bash
52
59
docker run \
@@ -56,32 +63,37 @@ docker run \
56
63
ghcr.io/martinohansen/ynabber:latest
57
64
```
58
65
66
+ _ All valid config variables can be found [ here] ( https://pkg.go.dev/github.com/martinohansen/ynabber#Config ) _
67
+
59
68
## Readers
60
69
61
- Currently tested readers and verified banks, but any bank supported by Nordigen
62
- should work.
70
+ Readers are how Ynabber fetches your transactions from the bank. Below are some
71
+ tested examples. Generally, any bank supported by
72
+ [ GoCardless] ( https://gocardless.com/bank-account-data/ ) (formerly known as
73
+ Nordigen) should work:
63
74
64
- | Reader | Bank | |
65
- | ---------- | ----------------- | --- |
66
- | [ Nordigen] ( /reader/nordigen/ ) [ ^ 1 ] | ALANDSBANKEN_AABAFI22 | ✅
67
- | | NORDEA_NDEADKKK | ✅
68
- | | NORDEA_NDEAFIHH | ✅
69
- | | NORWEGIAN_FI_NORWNOK1 | ✅
70
- | | S_PANKKI_SBANFIHH | ✅
75
+ | Reader | Bank | Verified? |
76
+ | : -------| : -----| : ---------: |
77
+ | [ Nordigen] ( /reader/nordigen/ ) [ ^ 1 ] | ALANDSBANKEN_AABAFI22 | ✅ |
78
+ | | NORDEA_NDEADKKK | ✅ |
79
+ | | NORDEA_NDEAFIHH | ✅ |
80
+ | | NORWEGIAN_FI_NORWNOK1 | ✅ |
81
+ | | S_PANKKI_SBANFIHH | ✅ |
71
82
72
83
[ ^ 1 ] : Please open an [ issue] ( https://github.com/martinohansen/ynabber/issues/new ) if
73
84
you have problems with a specific bank.
74
85
75
86
## Writers
76
87
77
- The default writer is YNAB (that's really what this tool is set out to handle)
78
- but we also have a JSON writer that can be used for testing purposes.
88
+ Writers tell Ynabber where to send the fetched transactions.
79
89
80
90
| Writer | Description |
81
- | --------- | - --------------|
82
- | [ YNAB] ( /writer/ynab/ ) | Pushes transactions to YNAB |
83
- | [ JSON] ( /writer/json/ ) | Writes transactions to stdout in JSON format |
91
+ | : --------| : --------------|
92
+ | [ YNAB] ( /writer/ynab/ ) | Pushes transactions to a YNAB budget |
93
+ | [ JSON] ( /writer/json/ ) | Writes transactions as JSON to stdout (useful for testing) |
84
94
85
95
## Contributing
86
96
87
- Pull requests are welcome.
97
+ Pull requests are welcome! If you encounter a bug or have an idea for
98
+ improvement, feel free to [ open an issue] ( https://github.com/martinohansen/ynabber/issues/new ) .
99
+ We’d love your help in making Ynabber better for everyone!
0 commit comments