https://github.com/moba/aqbanking-scripts
scripts that use aqbanking to fetch bank statements via HBCI/FinTS and maybe EBICS/OFX
https://github.com/moba/aqbanking-scripts
aqbanking bank gls
Last synced: 2 days ago
JSON representation
scripts that use aqbanking to fetch bank statements via HBCI/FinTS and maybe EBICS/OFX
- Host: GitHub
- URL: https://github.com/moba/aqbanking-scripts
- Owner: moba
- License: cc0-1.0
- Created: 2016-06-06T16:25:25.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-05-12T18:15:24.000Z (over 5 years ago)
- Last Synced: 2025-04-02T10:24:13.475Z (6 months ago)
- Topics: aqbanking, bank, gls
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 8
- Watchers: 22
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## setup.sh
*The setup script is currently broken. Every bank requires a custom setup.*
* https://www.aquamaniac.de/rdm/projects/aqbanking/wiki/AqBanking6_Bankentabelle
* https://www.aquamaniac.de/rdm/projects/aqbanking/wiki/SetupPinTanYou need this once to initialize aqbanking. It requires manual editing where you at least edit USER to contain your user account name at GLS (VRK000....).
Aqbanking stores its data in ~/.aqbanking.
## update.sh
`update.sh` is work in progress to fetch updates and intelligently merge new transactions to a continuously complete CSV export. It is meant to be run periodically, e.g. via cron. At this point it is a demo, and you will likely want to test it and customize to your own needs.
## fetch.sh
This fetches data via HBCI using aqbanking and puts it into `data/`. It needs to know which month you're interested in and does not do any sophisticated checking whatsoever.
./fetch.sh 201604
=> produces `data/transactions-201604.csv` and `data/transactions-201604.ctx` (aqbanking db)
## count_amounts.py
This should probably be moved to https://github.com/moba/bank-transaction-stats .
```
❯ ./count_amounts.py data/transactions-201604.csv ✚ ✭
-1969.84 | 1 |
-1400.0 | 1 |
-1000.0 | 1 |
-232.0 | 1 |
-17.49 | 1 |
-2.0 | 1 |
5.0 | 2 |
6.68 | 1 |
10.0 | 25 |
15.0 | 3 |
20.0 | 1 |
23.42 | 1 |
30.0 | 22 |
50.0 | 3 |
70.0 | 1 |
120.0 | 1 |
600.0 | 1 |
1969.84 | 1 |Total: -696.39
❯ ./count_amounts.py data/transactions-201605.csv ✚ ✭
-1400.0 | 1 |
-232.0 | 1 |
-2.0 | 1 |
5.0 | 3 |
10.0 | 27 |
15.0 | 3 |
20.0 | 1 |
23.42 | 1 |
30.0 | 22 |
50.0 | 4 |
70.0 | 1 |
119.71 | 1 |
350.0 | 1 |Total: 139.13
```
## list-spendings.jl
First, you need to install julia
```
apt install julia
```Then you can run the script, the first run will take some time (~1 min)
because julia will compile several base libraries and install some dependencies.I recommend running the script via `include()` in the interactive julia shell
because this way you get beautifull pretty-printing of the tables at the end.
This is done by:```
$ julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.4.5 (2016-03-18 00:58 UTC)
_/ |\__'_|_|_|\__'_| |
|__/ | x86_64-linux-gnujulia> include("list-spendings.jl")
2×3 DataFrames.DataFrame
│ Row │ purpose │ remoteName │ value_value │
├─────┼──────────────────────────────────────────────────────────────────────────────────────┼─────────────────┼─────────────┤
│ 1 │ "Abrechnung vom 29.04.2016" │ "" │ -2.0 │
│ 2 │ "16 VK: 21422139323 gruenstrom easy60 PG24/16 VK: 2421912332 gruenstrom easy60 PG24" │ "Mahlzahn GmbH" │ -232.0 │```
The disadvantage of the *"repl-include"* approach lies in the fact that it's not possible to supply cli-arguments via
the `include()` function. Therefore the name of the input-csv-file had to be hardcoded and is currently set to
```
demo.csv
```
Which means you have to name your input-csv-file `demo.csv` to get read by list-spendings.jl.## Licensed under CC0
Do whatever you want with it.
https://creativecommons.org/publicdomain/zero/1.0/legalcode