Giter Site home page Giter Site logo

moba / aqbanking-scripts Goto Github PK

View Code? Open in Web Editor NEW
8.0 24.0 1.0 24 KB

scripts that use aqbanking to fetch bank statements via HBCI/FinTS and maybe EBICS/OFX

License: Creative Commons Zero v1.0 Universal

Shell 34.61% Python 45.09% Julia 20.29%
bank gls aqbanking

aqbanking-scripts's Introduction

setup.sh

The setup script is currently broken. Every bank requires a custom setup.

You 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-gnu


julia> 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

aqbanking-scripts's People

Contributors

midzer avatar moba avatar profpatsch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

manawyrm

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.