Finanzsoftware

Aus CodicaTipps
(Weitergeleitet von Ledger)
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.

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