HBCI/FinTS mit HIBISCUS und ein bisschen Perl (für mich)

Ich bin heute auf Twitter über einen Thread zum Thema HBCI / FinTS / hibiscus gestoßen, und ich möchte “jeden” ermutigen, hibiscus-server zu benutzen.

Ich hatte schon vor einiger Zeit einige Links und Notizen hier zusammengeschrieben:

Bei Bedarf erläutere ich auch gerne meine Vorgehensweise mit Shell und Perl noch etwas ausführlicher.

Meine Motivation zu diesem Thema: Ich habe etliche Jahre lang per Web-Scraping (Perl) die Konto-Umsätze von ein paar Konten bei der Postbank und bei der Berliner Sparkasse abgeholt. Das wuchs mir schlicht über den Kopf. Der Ausweg: HBCI/FinTS.

Hier nur kurz:

  • hibiscus-server+jameica herunterladen + entpacken
  • (ungefähr) so starten: /usr/local/hibiscus-server/jameicaserver.sh
  • man kann als Datenbank H2 (“Embedded”) oder MySQL verwenden, ich verwende H2
  • mit der neuen Software ein HBCI/FinTS-fähiges Konto einrichten

Bis hierher geht das in garantiert weniger als 2 Stunden und total reibungslos, jedenfalls im Vergleich zu “allem”, was ich bisher in diesem Bereich versuchte.

  • Der Server bietet etliche REST-Services an, die liefern als Ergebnis JSON.
  • Ich rufe die mit curl ab.
  • Ich konvertiere JSON mit dem CPAN-Modul JSON in eine Perl-Datenstruktur  (siehe u.a. Perl-Script!).
  • Bei Bedarf (manchmal mehrmals am Tag) hole ich per Browser-Schnittstelle für (derzeit) 3 Konten (alle auf einmal ohne weitere Einstellungen) per hibiscus die aktuellen Kontoumsätze ab: “Synchronisierung jetzt manuell starten“, dabei verfolge ich per tailf das Log-File .jameica/jameica.log .
  • Danach starte ich ein Shell-Script, welches aus dem JSON wiederum per Perl-Script [hibiscus-json2csv.pl] ein sehr spezielles CSV-Format erzeugt. Dieses “sehr spezielle CSV-Format” habe ich mal aus dem HTML für Kontoumsätze der Postbank abstrahiert / spezifiziert.
  • Dieses Shell-Script vergleicht so ein CSV-File mit dem letzten CSV-File für das selbe Konto.
  • Wenn es einen Unterschied gibt, wird das Delta an das “rohe Gesamt-CSV” und an das “von Hand gepflegte Gesamt-CSV” angehängt, und in ein Log-File wird für jeden Check geschrieben, ob es eben einen Unterschied und also neue Umsätze gibt. (Das “von Hand gepflegte Gesamt-CSV” ist mein “Kontoführungs-Schatz” – da schreibe ich alles hinein, was mir zu Abbuchungen / Überweisungen / etc. einfällt.)

Ich mag HBCI/FinTS und insbesondere mit hibiscus+jameica, weil ich das Gefühl habe, dass die “Synchronisation” von HBCI/FinTS-Server und -Client dazu führen, dass immer nur die neuesten Kontoauszugsdaten quasi als Delta zum Client übertragen werden.

Ich würde den Entwickler Olaf Willuhn gerne finanziell unterstützen. Was mich bisher davon abhielt? Er schrieb mir, es gebe da im hibiscus-Client einen Menüpunkt … Bisher benutze ich den hibsicus-Client aber gar nicht, denn mein eigentliches Banking betreibe ich (einigermaßen) zufrieden mit Lexware Quicken.

Fortsetzung folgt (evtl)…


Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.