Finanzsoftware

Aus CodicaTipps
Zur Navigation springen Zur Suche springen

Allgemeines

Im GnuCash-Wiki gibt es eine Einführung in die Doppelte Buchführung samt Darstellung von Kontenrahmen und der englischen Entsprechungen.

Plattformübergreifende Software

Hibiscus

Hibiscus ist im Wesentlichen eine Homebankingsoftware. Als Java-Anwendung handelt es sich um Plattformübergreifende Software.

Hibiscus Mashup

Hibiscus Mashup bietet kostenlose Plugins zur Anbindung von Non-FinTS-Konten wie PayPal oder verschiedene Kreditkarten wie Barclays.

Achtung: Die Mashup-Plugins nutzen manchmal Komponenten auf von Hibiscus-Plugins abweichendem Versionsstand. Deshalb kann manchmal die XML-RPC-API, das Webadmin-Interface o.Ä. nicht funktionieren.[1]

Siehe

Hibiscus und Postbank-Online-Banking

Die Anmeldung eines Postbankkontos bei Hibiscus wird mit Hilfe von Bankleitzahl, Postbank-ID (vor 2023: Kontonummer) und PIN (das Passwort im Online-Banking) durchgeführt. Das gilt auch nach der SEPA-Einführung (Stand: 2023). Die Postbank-ID trägt man bei "Kundenkennung" und "Benutzerkennung" ein.

Die TAN bekommt man über die BestSign-App. Siehe dazu https://www.willuhn.de/wiki/doku.php?id=support:list:tan-verfahren#pushtan_apptan_bestsign Man beachte, dass seit 2023 der Name des Sicherheitsmediums in Hibiscus angegeben werden muss, nicht mehr wie früher mit dem Präfix "SO:"

Um Überweisungen mit Hibiscus (oder einer anderen Banking-Software auf Basis von FinTS/HBCI) vorzunehmen, muss bei der Postbank das entsprechende Auftragslimit im Online-Banking-Portal der Postbank unter Einstellungen -> Auftragslimit bei "Finanzsoftware" gesetzt werden. Bei Einloggen mit Benutzername und Passwort werden die Limite für die Finanzsoftware jedoch nicht angezeigt. Dafür muss man mit Kontonummer und PIN sich einloggen; dann sieht alles gleich aus, nur dass die Finanzsoftware-Limite angegeben werden.[2]

Der Umstieg der Postbank-IT auf diejenige der Deutschen Bank scheint auch mit Hibiscus lösbar.

SynTAX

Vom selben Hersteller wie Hibiscus ist die "Finanzbuchhaltung für Selbständige und 'Nichtbilanzierer' nach SKR03/04" SynTAX.

GnuCash

GnuCash läuft zumindest unter Linux und Windows.

Siehe


GnuAccounting

GnuAccounting unterstützt sowohl die Belegverwaltung als auch doppelte Buchführung. Außerdem besitzt es eine HBCI/FinTS-Schnittstelle.

Weitere

Siehe die Übersicht im Anhang zum Handbuch von Gnuaccounting

Open-Source-Programme für Linux

Eqonomize

  • Eqonomize verfügt auch über QIF-Im- und -Export. Eqonomize ist Bestandteil der Ubuntu-Distribution.

Skrooge

  • Skrooge verfügt auch über QIF-Im- und -Export. Skrooge ist Bestandteil der Ubuntu-Distribution. Es basiert auf KDE.

KMyMoney

  • KMyMoney verfügt auch über QIF-Im- und -Export. KMyMoney ist Bestandteil der Ubuntu-Distribution.


AqBanking-CLI

Auf der Konsole lässt sich mittels AqBanking-CLI auf ein HBCI-Konto zugreifen.

Beispiel für Postbank

Die Postbank hat auch bei der FinTS-Schnittstelle von der Identifikation via Kontonummer auf die Postbank-ID umgestellt. Daher muss man diese und nicht die Kontonummer als Identifikationsmittel angeben.

  • Einrichtung Benutzer
 aqhbci-tool4 adduser -t pintan --context=1 -b $BANKLEITZAHL -u $POSTBANK_ID -c $POSTBANK_ID -N "$VORNAME $NACHNAME" -s https://hbci.postbank.de/banking/hbci.do
  • Abfrage unique user id (Zahl ganz am Ende der ausgegebenen Zeile):
 aqhbci-tool4 listusers
  • Abruf Konten
 aqhbci-tool4 getsysid -u $UNIQUE_UID
 aqhbci-tool4 getaccounts -u $UNIQUE_UID
 aqhbci-tool4 listaccounts 
 
  • Abruf Konto
 aqhbci-tool4 getaccsepa -a $ACCOUNT_ID

$ACCOUNT_ID ist die Nummer, die "listaccounts" anzeigt.


  • Wahl BestSign-TAN-Mode
 aqhbci-tool4 listitanmodes -u $UNIQUE_UID
 aqhbci-tool4 setitanmode -u $UNIQUE_UID -m 6920
 aqhbci-tool4 setTanMediumId -u $UNIQUE_UID -m "SO:$DEVICE_ID"

$DEVICE_ID ist der Name, der unter "Sicherheitsverfahren" im Postbank-OnlineBanking für das BestSign-Gerät ("SO" ist die Abkürzung von SealOne) angezeigt wird.


  • Abruf Konten
 aqhbci-tool4 getaccounts -u $UNIQUE_UID
 aqhbci-tool4 listaccounts
 aqbanking-cli listaccs
  • Abruf Kontostand
 aqbanking-cli request -b $BANKLEITZAHL --balance
  • Abruf Gut-/Lastschriften
 aqbanking-cli request -b $BANKLEITZAHL --transactions

Beispiel für Netbank

Auch die Netbank lässt HBCI-Zugriff zu:

  • Einrichtung Konto
 aqhbci-tool4 adduser -t pintan --context=1 -b $BANKLEITZAHL -u $GIROKONTONUMMER -N "$VORNAME $NACHNAME" -s https://www.bankingonline.de/hbci/pintan/PinTanServlet
 aqhbci-tool4 getsysid -u $GIROKONTONUMMER
  • Wahl iTAN-Mode
 aqhbci-tool4 listitanmodes -u $GIROKONTONUMMER
 aqhbci-tool4 setitanmodes -u $GIROKONTONUMMER -m 997
  • Abruf Konten
 aqhbci-tool4 getaccounts -u $GIROKONTONUMMER
 aqhbci-tool4 listaccounts
 aqbanking-cli listaccs
  • Abruf Kontostand
 aqbanking-cli request -b $BANKLEITZAHL --balance
  • Abruf Gut-/Lastschriften
 aqbanking-cli request -b $BANKLEITZAHL --transactions

DKB

Einrichtung Konto

aqhbci-tool4 adduser -t pintan --hbciversion=300 -b $BANKLEITZAHL -u $GIROKONTONUMMER -N "$VORNAME $NACHNAME" -s https://banking-dkb.s-fints-pt-dkb.de/fints30
aqhbci-tool4 getsysid -u $GIROKONTONUMMER


Wahl iTAN-Mode

 aqhbci-tool4 setitanmode -u $GIROKONTONUMMER -m 1900

Beispiel für Wüstenrot Bank

Siehe

  • Einrichten des Kontos
 export BANKLEITZAHL=60420020
 export GIROKONTONUMMER=123456789 #Hier den Wüstenrot Key angeben, NICHT die Girokontonummer
 export VORNAME=Vorname
 export NACHNAME=Nachname
 aqhbci-tool4 adduser -t pintan --context=1 -b $BANKLEITZAHL -u $GIROKONTONUMMER -N "$VORNAME $NACHNAME" --hbciversion=300 -s https://hbci-pintan.gad.de/cgi-bin/hbciservlet 
 aqhbci-tool4 getsysid -u $GIROKONTONUMMER
  • PIN speichern

Bei Speicherung der PIN gibt

 aqhbci4-tool mkpinlist

eine falsche Form aus: Statt der Kontonummer muss hier manuell die Wüstenrot-Key angegeben werden. Als PIN ist die Online-PIN des Wüstenrot-Kontos anzugeben.

PIN speichern

Um die PIN nicht jedesmal eingeben zu müssen, erstellt man NACH Einrichten der Konten eine pindatei.txt

 aqhbci-tool4 mkpinlist > pindatei.txt

In diese selbsterklärende Datei muss man dann die PIN(s) mittels eines Editors eingeben.

Der Aufruf von aqbanking-cli muss dann einen Hinweis auf den PIN-Speicher erhalten:

 aqbanking-cli -P pindatei.txt request -b $BANKLEITZAHL --balance

Hilfe

Mittels

 aqbanking-cli --help

werden die möglichen Befehle angezeigt

Zu jedem Befehl gibt es dann genauere Hilfe, z.B. für request:

 aqbanking-cli request --help

Transaktionen als CSV

Wenn man die Transaktionen mittels

 aqbanking-cli  -P pindatei.txt request  -b $BANKLEITZAHL --transactions --ctxfile=$CTXFILE

in der Datei $CTXFILE gespeichert hat, kann man sie mittels

 aqbanking-cli listtrans --ctxfile=$CTXFILE

im CSV-Format ausgeben lassen.

Bei selbstgestrickten Output-Profilen auf das einleitende

 profile {

achten.

SEPA-Überweisung

 aqbanking-cli -P .credentials/pindatei.txt sepatransfer -b $BANKLEITZAHL --riban="$EMPFAENGER_IBAN_OHNE_LEERZEICHEN" -v "$BETRAG" --rname="$EMPFAENGER_NAME" --purpose="$VERWENDUNGSZWECK"

$BETRAG kann verschiedene Formen haben, z.B.:

  • "500"
  • "500,02:EUR"


Schnittstelle PHP zu HBCI

Siehe Software-Projekt


Umsatzabruf von PayPal

aqbanking-cli kann auch die Umsätze von PayPal über deren API-Schnittstelle abrufen. Die entsprechenden Schlüssel bekommt man - auch für ein privates PayPal-Konto - unter https://www.paypal.com/businessmanage/credentials/apiAccess .

Siehe

Ledger

Ledger ist eine Kommandozeilen-Doppelte Buchführung. Sie bietet aber auch einen Web-Browser-Zugang. Zum Import von CSV-Dateien siehe

Ein PPA mit einem neueren Ledger findet sich bei mbudde.

Diagramme lassen sich aus Ledger z.B. mit Ledgers-Stats (Websoftware) erzeugen.

Siehe zu Ledger-cli auch

Web-Interface für Ledger

  • Transity ist von ledger inspiriert, geht aber leicht andere Wege.

Alternativen zu Ledger

  • Ein Nachbau von Ledger in Haskell ist hLedger.
  • Ein Nachbau von Ledger in Go findet sich unter https://howeyc.github.io/ledger/
  • Beancount ist von Ledger inspiriert, lässt aber weniger Freiheiten (z.B. nur Unterkonten der 5 Haupttypen Aktiva, Verbindlichkeiten, Eigenkapital, Erlös und Aufwand).
  • Ein auf einem yaml-Format statt auf einem Text-Format basierendes ledger auf Basis von Rust ist rust_ledger.
  • Ein auf einem TOML-Format statt auf einem Text-Format basierendes ledger auf Basis von Rust ist bankroll

Boobank

Ein Kommandozeilenprogramm zum Auslesen von bestimmten Bank-Websites und PayPal ist Boobank von weboob.org.

ERP-Software

Weitere

Proprietäre Alternativen

Android Apps

  • Die NIBC-App lässt auch die Verwaltung von Konten anderer Banken zu. Voraussetzung ist aber ein Konto bei der NIBC.

Buchführung mit Tabellenkalkulation

Zahlungsverkehr

Siehe

Zahlungsverkehr am POS

Siehe zunächst

  • Debitkartenzahlung
  • Kreditkartenzahlung
  • Kartenzahlung kontaktlos
  • Zahlung per Smartphone via Kreditkarte
    • Google Pay
    • Apple Pay

Anbieter, die mittels QR-/Barcode die Zahlungsinformationen an der Kasse übertragen, sind z.B.

  • BlueCode
  • ePassi
  • Momo Pocket
  • Pagaqui
  • Pivo
  • Vipps

Diese wollen lt. Handelsblatt vom 11.6.2019 einen gemeinsamen Europäischen Standard für diese QR-Codes etablieren. Er soll auf einem Format von Alipay (vom chinesischen Konzern Alibaba) basieren.

Weitere Anbieter dieser Art sind

  • Swish
  • Twint

Auch die Kwitt-App der Sparkassen und Genossenschaftsbanken soll mit QR-Codes umgehen können, derzeit Girocode.

Zahlungsannahme via Android NFC

Wie Apple Tap to Pay kann man auch mit Android-Smartphones, die einen NFC-Chip haben, Zahlungen annehmen:

Apps zur Zahlungsannahme
Anbieter unmittelbar für POS
  • SumUp berechnet eine Gebühr von 1,39% des Zahlbetrags (Stand: 4.10.24).
    • Bei Zahlungen mit physischen Karten gibt es ein Limit von 50 €, nicht dagegen bei Zahlungen mit virtuellen Karten (Google Pay, Apple Pay etc).
  • Adyen bietet verschiedene Zahlungsmethoden, u.a. wohl auch Tap To Pay auf iPhone- und Android-Geräten.
    • Das Gebührenmodell setzt sich aus einer Transaktionsgebühr von 0,11 € und einer zweigeteilten Umsatzgebühr (fester Prozentsatz nach Kartenanbieter und meist Interchange-Rate) zusammen.
    • Tap to Pay on Iphone findet sich in der Übersicht der Zahlungsmethoden vor Ort, Tap to Pay on Android aber (noch) nicht (Stand: 4.10.2024).
White Label-Produkte
  • Rubean PhonePOS. Dieses Produkt wird nicht direkt vertrieben, sondern nur über Finanzinstitute.
    • Angeblich gibt es das Produkt unter dem Namen SparkassenPOS mit Einrichtungskosten von rd. 20 € und 0,89 % des Zahlbetrags als Gebühren.
  • Syngenio POSsible ist ebenfalls ein WhiteLabel-Produkt. Es kann sowohl als Stand alone-App als auch mit Hilfe des SDK als Teil einer umfangreicheren App auf Android genutzt werden. Als Kunde kann man über den Netzbetreiber und den Acquirer entscheiden.

Programmierschnittstellen

FinTS

FinTS ist der Nachfolger von HBCI[3]

  • Allgemeine Informationen zu HBCI gibt's im LinuxWiki.

FinTS-Zugriff

  • Der TypeScript-basierte fints.js erlaubt das Abfragen von Umsätzen. Es bietet eine Library und einen Command-Line-Client.
  • Die Open Source-Version des Open-Fin-TS-JS-Clients erlaubt lediglich die Abfrage des Kontos, nicht aber eine Überweisung.
    • Diese API läuft jedenfalls mit Node.js.
    • Das unterstützte Protokoll ist FinTS 3.0.
    • Ein Testserver ist integriert.

FinTS-Testserver

Neben dem genannten Testserver des Open-FinTS-JS-Clients gibt es weitere Ansätze, einen solchen Server zur Verfügung zu stellen:

Postbank

EBICS

Nur für Großkunden ist der französisch-deutsche Standard für die Bankenkommunikation namens EBICS geeignet. Die Spezifikation gibt es auch auf einer englischsprachigen Website.

EBICS-Software

  • Business Logics BL Banking verfügt auch über eine EBICS-Schnittstelle.
  • Die UniCredit MultiCash-Software für Windows unterstützt ebenfalls EBICS und ist nicht auf die Kommunikation mit der UniCredit beschränkt.

Einzelne Banken

Weitere Informationen

Z.B. von der Hypovereinsbank/Unicredit:

PAIN-Nachrichten

Im Verhältnis Kunde zu Bank spielen die Nachrichten im PAIN-Format eine Rolle.

So kann beispielsweise mit pain.001.001.03 eine SEPA-Zahlung (SEPA-Überweisung) angestoßen werden. Siehe

camt-Nachrichten

Zur Ablösung von bisherigen Großkunden-Datenformaten wie MT940 sind die sog. camt-Nachrichten normiert.

Siehe

PSD2-API

Die Banken müssen Drittanbietern nach Zustimmung der Kunden Zugriff auf Kontoinformationen nach Maßgabe der 2. Zahlungsverkehrsrichtlinie (Payment Service Directive 2 - PSD2) geben und Zahlungsvorgänge über eine API auslösen lassen.

Registrierung bei der Bafin

Genutzt werden dürfen solche APIs aber nur von der Finanzaufsicht zugelassene Drittanbieter.[4] Siehe dazu


Weiterführendes zu PSD2-APIs

Siehe

APIs

figo

figo bietet seine Banking-API für den In-House-Gebrauch kostenlos an. Es gibt Schnittstellen u.a. zu Java und iOS. Im Java-SDK ist auch eine simple Web-Demo mit OAuth-Zugang enthalten.

APIs für Wertpapierhandel

Früher war die Yahoo Finance-API der Standard für kleine Handelsprogramme / Webseiten. Heutzutage muss man Alternativen suchen, z.B.

  • AlphaVantage gibt an, die Nutzung der API via API-Key für immer kostenlos zu halten.

Einen Überblick über Wertpapierinformations-APIs gibt

Proprietäre Finanzsoftware

Enterprise Resource Planning Software