Finanzsoftware: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
 
(98 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 10: Zeile 10:
  
 
* [http://www.willuhn.de/products/hibiscus/ Offzielles und Aktuelles zu Hibiscus]
 
* [http://www.willuhn.de/products/hibiscus/ Offzielles und Aktuelles zu Hibiscus]
 +
 +
==== Hibiscus Mashup ====
 +
[https://hibiscus-mashup.derrichter.de/index.php/faq 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.<ref> Siehe https://homebanking-hilfe.de/forum/topic.php?t=22157</ref>
 +
 +
Siehe
 +
* [https://hibiscus-mashup.derrichter.de/index.php/download/plugins-und-addons-stable Plugins für manuelle Installation]
 +
 +
==== 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.<ref> Vgl. [http://microsoft.public.de.money.narkive.com/JA2LXiV1/postbank-limit-fur-finanzsoftware Forumsbeitrag], [https://antworten.postbank.de/frage/ueber-die-anwahl-mit-postbank-id-und-passwort-lassen-sich-die-limitwer-59212.html?tag=finanzsoftware&open=17 Antwort von der Postbank] .</ref>
 +
 +
Der Umstieg der Postbank-IT auf diejenige der Deutschen Bank scheint [https://homebanking-hilfe.de/forum/topic.php?t=25882&page=2 auch mit Hibiscus lösbar].
  
 
=== SynTAX ===
 
=== SynTAX ===
Zeile 36: Zeile 55:
 
Siehe die [http://www.gnuaccounting.org/fileadmin/gnuaccounting/documents/gnuaccounting-manual-de.pdf Übersicht im Anhang zum Handbuch von Gnuaccounting]
 
Siehe die [http://www.gnuaccounting.org/fileadmin/gnuaccounting/documents/gnuaccounting-manual-de.pdf Übersicht im Anhang zum Handbuch von Gnuaccounting]
  
 +
* [https://github.com/akaunting/akaunting Akaunting] - PHP-basiert
 +
* [https://ofbiz.apache.org/ Apache OfBiz] - Java-basiert, Web-Anwendung
 +
 +
* [https://www.openz.de/ Open Z], für 2 Nutzer kostenloses nach eigenen Angaben Open Source ERP
 +
** [https://sourceforge.net/projects/openz/files/ OpenZ ist eine Web-Anwendung, die von einem Tomcat-Server bedient wird]
 
* [http://www.sql-ledger.com/ SQL-Ledger], ein ERP-Programm
 
* [http://www.sql-ledger.com/ SQL-Ledger], ein ERP-Programm
 
* [http://lx-office.org/index.php?id=home Lx-Office] ist eine Variante, die 2003 sich von [[SQL-Ledger]] abtrennte und auf deutsche Besonderheiten Rücksicht nimmt.
 
* [http://lx-office.org/index.php?id=home Lx-Office] ist eine Variante, die 2003 sich von [[SQL-Ledger]] abtrennte und auf deutsche Besonderheiten Rücksicht nimmt.
 
** [http://debian.asconix.com/lx-office-debian-lenny-howto Anleitung zur Installation von Lx-Office 2.6] auf [[Debian]] Lenny
 
** [http://debian.asconix.com/lx-office-debian-lenny-howto Anleitung zur Installation von Lx-Office 2.6] auf [[Debian]] Lenny
* [http://www.compiere.com/products/index.php Compiere], ein ERP-Programm, dessen Kern [[OpenSource]] ist.
+
* Compiere-Derivate
 +
** [http://www.compiere.com/products/index.php Compiere], ein ERP-Programm, dessen Kern [[OpenSource]] ist.
 +
** [http://www.adempiere.net/web/guest/welcome Adempiere]
 +
** [https://metasfresh.com/ metasfresh] - Schweizer Projekt, daher ausführliche deutschsprachige Dokumentation
 +
** [https://www.idempiere.org/ iDempiere] - Java/OSGi-basiert
 +
* [http://www.pecuniabanking.de/ Pecunia Banking] ist eine auf [[HBCI4Java]] basierende Anwendung für den Mac.
  
 
== Open-Source-Programme für Linux ==
 
== Open-Source-Programme für Linux ==
Zeile 63: Zeile 92:
 
* [http://suesz.de/wiki_public_homepage/HBCI_auf_der_Kommandozeile_unter_Linux AqBanking als Cron-Job]
 
* [http://suesz.de/wiki_public_homepage/HBCI_auf_der_Kommandozeile_unter_Linux AqBanking als Cron-Job]
 
* [http://www.khjk.org/log/2009/oct/ledger.html Skripts für AqBanking mit Ledger]
 
* [http://www.khjk.org/log/2009/oct/ledger.html Skripts für AqBanking mit Ledger]
 +
 +
* [https://joachim-wilke.de/blog/2016/01/22/Online-Banking-auf-der-Linux-Kommandozeile/ Joachim Wilkes Blog zu Aqbanking-cli]
 +
 +
* [https://wiki.gnucash.org/wiki/AqBanking GnuCash-Wiki zu AqBanking]
 +
* [https://github.com/aqbanking/aqbanking AqBanking Source Code Mirror auf GitHub]
  
 
==== Beispiel für Postbank ====
 
==== Beispiel für Postbank ====
  
* Einrichtung Konto
+
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 '''6'''920
 +
  aqhbci-tool4 setTanMediumId -u $UNIQUE_UID -m "SO:$DEVICE_ID"
  
  aqhbci-tool4 adduser -t pintan --context=1 -b $BANKLEITZAHL -u $GIROKONTONUMMER -N "$VORNAME $NACHNAME" -s https://hbci.postbank.de/banking/hbci.do
+
$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.
  aqhbci-tool4 adduserflags -b $BANKLEITZAHL -u $GIROKONTONUMMER -f forceSsl3
 
  aqhbci-tool4 getsysid -u $GIROKONTONUMMER
 
  
* Wahl mobileTAN-Mode
 
  aqhbci-tool4 listitanmodes -u $GIROKONTONUMMER
 
  aqhbci-tool4 setitanmode -u $GIROKONTONUMMER -m 901
 
  
 
* Abruf Konten
 
* Abruf Konten
   aqhbci-tool4 getaccounts -u $GIROKONTONUMMER
+
   aqhbci-tool4 getaccounts -u $UNIQUE_UID
 
   aqhbci-tool4 listaccounts
 
   aqhbci-tool4 listaccounts
 
   aqbanking-cli listaccs
 
   aqbanking-cli listaccs
Zeile 115: Zeile 167:
 
* [http://www.dkb.de/kundenservice/haeufige_fragen/internetbanking/ Infos von DKB über HBCI]
 
* [http://www.dkb.de/kundenservice/haeufige_fragen/internetbanking/ Infos von DKB über HBCI]
 
* [http://linuxwiki.de/OpenHBCI/GetesteteBanken/DKB OpenHBCI zu DKB]
 
* [http://linuxwiki.de/OpenHBCI/GetesteteBanken/DKB OpenHBCI zu DKB]
i111.by.s-hbci.de
+
 
 +
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
 +
* [http://www.kaiwu.de/cgi-bin/sbb//sbb.cgi?&a=show&forum=37&show=65 FinTS-Zugangsdaten der Wüstenrot-Bank nach der 2017er-Umstellung]
 +
 
 +
* 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 ====
 
==== PIN speichern ====
Zeile 150: Zeile 230:
 
   profile {
 
   profile {
 
[http://www.onlinebanking-forum.de/phpBB2/printview.php?t=11118&start=0 achten].
 
[http://www.onlinebanking-forum.de/phpBB2/printview.php?t=11118&start=0 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 ====
 
==== Schnittstelle PHP zu HBCI ====
  
 
Siehe [http://wiki.shopware.de/Allgemein-PHP-und-HBCI-Teil-1_detail_631.html Software-Projekt]
 
Siehe [http://wiki.shopware.de/Allgemein-PHP-und-HBCI-Teil-1_detail_631.html 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
 +
* https://www.aquamaniac.de/rdm/projects/aqbanking/wiki/Paypal_einrichten
  
 
=== Ledger ===
 
=== Ledger ===
  
 
[http://ledger-cli.org/features.html Ledger] ist eine Kommandozeilen-[[Doppelte Buchführung]]. Sie bietet aber auch einen Web-Browser-Zugang.
 
[http://ledger-cli.org/features.html Ledger] ist eine Kommandozeilen-[[Doppelte Buchführung]]. Sie bietet aber auch einen Web-Browser-Zugang.
 +
Zum Import von CSV-Dateien siehe
 +
* [https://github.com/cantino/reckon Reckon]
 +
** [http://blog.andrewcantino.com/blog/2013/02/16/command-line-accounting-with-ledger-and-reckon/ kurze Einführung zu Reckon]
 +
* [https://github.com/jwiegley/CSV2Ledger CSV2Ledger]
 +
* [https://www.npmjs.com/package/ledger-import ledger-import], inspiriert von Reckon
 +
* das Handbuch zur Version 3.0 (ab Ubuntu 14.10) von Ledger und dort das Kommando <code>convert</code>
 +
 +
Ein PPA mit einem neueren Ledger findet sich [https://launchpad.net/~mbudde/+archive/ubuntu/ledger bei mbudde].
 +
 +
Diagramme lassen sich aus Ledger z.B. mit [https://github.com/elazar/ledger-stats Ledgers-Stats (Websoftware)] erzeugen.
 +
 +
Siehe zu Ledger-cli auch
 +
* [http://matthewturland.com/category/ledger/ Blog von Matthew Turland]
 +
 +
==== Web-Interface für Ledger ====
 +
 +
* hledger-web ist ein einfaches Web-Interface für das Ledger-Derivat [[hledger]].
 +
* Das Ledger von [https://howeyc.github.io/ledger/Web_Overview.html howeyc bietet auch ein Web-Interface].
 +
* Das Projekt [http://npoacct.sfconservancy.org/accounting-api/restapi.html npoacct - accounting-api] zielt darauf ab, eine REST-Api zum lesenden und schreibenden Zugriff auf Ledger zu erstellen.
 +
 +
* [https://github.com/feramhq/transity 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/
 +
* [https://furius.ca/beancount/ 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 [https://crates.io/crates/rust_ledger rust_ledger].
 +
* Ein auf einem TOML-Format statt auf einem Text-Format basierendes ledger auf Basis von [[Rust]] ist [https://crates.io/crates/bankroll bankroll]
 +
 +
=== Boobank ===
 +
 +
Ein Kommandozeilenprogramm zum Auslesen von bestimmten Bank-Websites und PayPal ist [http://weboob.org/applications/boobank Boobank von weboob.org].
  
 
=== ERP-Software ===
 
=== ERP-Software ===
Zeile 185: Zeile 315:
 
* [http://www.bemme.de/download.html Tudo], Warenwirtschaft und Finanzbuchhaltung
 
* [http://www.bemme.de/download.html Tudo], Warenwirtschaft und Finanzbuchhaltung
  
Proprietäre Alternativen:
+
==== Proprietäre Alternativen ====
 
* [http://msdn.microsoft.com/en-us/library/dd355398.aspx Microsoft DynamicsNAV]
 
* [http://msdn.microsoft.com/en-us/library/dd355398.aspx Microsoft DynamicsNAV]
 
* SAP
 
* SAP
 +
** [https://developers.sap.com/topics/sap-hana.html#deployment SAP HANA Express Edition] erlaubt SAP HANA in einer kleineren Version auf dem lokalen Rechner oder in der Cloud kostenlos zu installieren.
 
* Oracle
 
* Oracle
  
Zeile 197: Zeile 328:
  
 
* [http://www.easylinux.de/Artikel/ausgabe/2006/01/044-kassenbuch/index.html Kassenbuch mit OpenOffice führen]
 
* [http://www.easylinux.de/Artikel/ausgabe/2006/01/044-kassenbuch/index.html Kassenbuch mit OpenOffice führen]
 +
 +
== Zahlungsverkehr ==
 +
 +
 +
Siehe
 +
* [[Finanzsoftware#EBICS]]
 +
* [[Finanzsoftware#FinTS]]
 +
 +
=== 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.
 +
* [https://bluecode.com/de/ 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 [https://www.girocode.de/ Girocode].
  
 
== Programmierschnittstellen ==
 
== Programmierschnittstellen ==
Zeile 205: Zeile 369:
  
 
* Allgemeine Informationen zu HBCI gibt's im [http://linuxwiki.de/HBCI LinuxWiki].
 
* Allgemeine Informationen zu HBCI gibt's im [http://linuxwiki.de/HBCI LinuxWiki].
* [http://hbci4java.kapott.org/ HBCI4Java] ist eine [[OpenSource]]-API, die auch von [[Hibiscus]] genutzt wird. Der von Hibiscus verwendete Branch findet sich auf [https://github.com/willuhn/hbci4java GitHub].
 
* Siehe auch oben [[AqBanking-CLI]]
 
  
=== Postbank ===
+
* [https://www.hbci-zka.de/spec/spezifikation.htm FinTS-Spezifikationen]
 +
 
 +
==== FinTS-Zugriff ====
 +
 
 +
* HBCI4Java ist eine [[OpenSource]]-API, die auch von [[Hibiscus]] genutzt wird.
 +
** Der von [[Hibiscus]] verwendete Fork findet sich auf [https://github.com/hbci4j/hbci4java GitHub].
 +
** Ein weiterer [https://github.com/adorsys/hbci4java-adorsys Fork von adorsys] wird in deren [https://github.com/adorsys/multibanking Multibanking-Tool] verwendet.
 +
 
 +
* Siehe auch oben [[#AqBanking-CLI]]
 +
 
 +
* Der [[TypeScript]]-basierte [https://github.com/Prior99/fints fints.js] erlaubt das Abfragen von Umsätzen. Es bietet eine Library und einen Command-Line-Client.
 +
 
 +
* Die Open Source-Version des [https://www.npmjs.com/package/open-fin-ts-js-client 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.
 +
 
 +
* Produkte zum FinTS-Zugriff müssen angeblich bei der Deutschen Kreditwirtschaft registriert werden.
 +
** Siehe https://www.hbci-zka.de/register/register_faq.htm
 +
 
 +
==== FinTS-Testserver ====
 +
 
 +
Neben dem genannten Testserver des Open-FinTS-JS-Clients gibt es weitere Ansätze, einen solchen Server zur Verfügung zu stellen:
 +
 
 +
* https://prototypefund.de/project/libspsd2-freie-api-und-sandbox-fuer-das-europaeische-finanzsystem/
 +
* https://github-wiki-see.page/m/jHetzer/erpnextfints/wiki/FinTS-Test-Server
 +
* https://github.com/thomet/hbci4javaserver - nicht gepflegt, zeigt aber, wie man mit der hbci4java einen Test-Server aufbaut
 +
 
 +
==== Postbank ====
  
 
* Die HBCI-Adresse der Postbank findet sich [http://www.postbank.de/privatkunden/pk_banking_postbank_de.html hier (inkl. Zertifikat)].
 
* Die HBCI-Adresse der Postbank findet sich [http://www.postbank.de/privatkunden/pk_banking_postbank_de.html hier (inkl. Zertifikat)].
 +
* In Online-Banking-Software muss man dem Namen des "BestSign-Gerät" (seit dem Umzug der Technik zur Deutschen Bank Anfang 2023) nicht mehr ein "SO:" voranstellen.
 
* Weitere Parameter finden sich im [http://linuxwiki.de/OpenHBCI/GetesteteBanken Wiki von OpenHBCI].
 
* Weitere Parameter finden sich im [http://linuxwiki.de/OpenHBCI/GetesteteBanken Wiki von OpenHBCI].
 +
* Angeblich soll auch BestSign mit aqbanking und GnuCash funktionieren:
 +
** https://lists.gnucash.org/pipermail/gnucash-de/2021-August/012195.html
 +
 +
=== EBICS ===
 +
 +
Nur für Großkunden ist der französisch-deutsche Standard für die Bankenkommunikation namens [http://www.ebics.de/ EBICS] geeignet. Die Spezifikation gibt es [http://www.ebics.org/ auch auf einer englischsprachigen Website].
 +
 +
==== EBICS-Software ====
 +
 +
* Der [[Open Source]] [http://sourceforge.net/projects/ebics/ EBICS Client] implementiert EBICS Version 2.4. Er stellt eine Java-API zur Kommunikation mit den Banken via EBICS zur Verfügung.
 +
** Diese Java-API gibt es auch als [[Maven]]-Artifakt auf [https://github.com/cyrill62/ebics-java github.com].
 +
* Der [[Open Source]] [[Java]] [https://github.com/uwemaurer/ebics-java-client EBICS Client von Uwe Maurer] ist ein Fork des oben genannten [http://sourceforge.net/projects/ebics/ EBICS Client].
 +
* Der [[Open Source]] [https://github.com/railslove/epics EBICS-Client epics] basiert auf [[Ruby]]/ [[JRuby]]. Siehe dazu [https://www.railslove.com/stories/ebics-client-for-ruby diesen Blogeintrag des Herstellers].
 +
 +
* Business Logics [http://www.business-logic.de/blbanking.html BL Banking] verfügt auch über eine EBICS-Schnittstelle.
 +
* Die [http://www.hypovereinsbank.de/portal?view=/de/services/ebanking-en/support-multicash-en.jsp UniCredit MultiCash]-Software für Windows unterstützt ebenfalls EBICS und ist nicht auf die Kommunikation mit der UniCredit beschränkt.
 +
 +
==== Einzelne Banken ====
 +
 +
* [https://www.dzbank.de/content/dzbank_de/de/home/unsere_kunden/firmenkunden/produkte_und_leistungen/transaction_banking/konto/ebanking/EBICS/EBICSTestzugang.html EBICS-Testzugang der DZBank] (normaler EBICS-Zugang bei der DZ wird dazu benötigt).
 +
* Die EBICS-Zugangsdaten der UniCredit Bank AG (Hypovereinsbank) finden sich [http://www.hypovereinsbank.de/portal?view=/de/services/ebanking-en/overview.jsp# auf hypovereinsbank.de].
 +
 +
==== Weitere Informationen ====
 +
 +
Z.B. von der Hypovereinsbank/Unicredit:
 +
 +
* https://www.hypovereinsbank.de/hvb/unternehmen/digitales-banking/antraege-formulare#parsys_download_center
 +
* [https://www.hypovereinsbank.de/hvb/unternehmen/konto-zahlungsverkehr/ebanking-loesungen/ferndiagnose-go-to-assist HilfeCenter]
 +
 +
=== 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
 +
* [https://www.hypovereinsbank.de/content/dam/hypovereinsbank/unternehmen/pdf/Downloadcenter/SEPA-Formate-de.pdf kommentierte XML-Datei mit pain.001.001.03-Nachricht]
 +
 +
=== camt-Nachrichten ===
 +
 +
Zur Ablösung von bisherigen Großkunden-Datenformaten wie MT940 sind die sog. camt-Nachrichten normiert.
 +
 +
Siehe
 +
* [https://www.hettwer-beratung.de/sepa-spezialwissen/sepa-technische-anforderungen/camt-format-xml-nachrichtentypen/ Überblick über camt-Nachrichtentypen und vertiefende Infos bei Hettwer]
 +
* [http://www.sepa-tool.de/camt-testdateien.html camt-Testdateien auf sepa-tool.de]
 +
* [http://www.ebics.de/spezifikation/dfue-abkommen-anlage-3-formatstandards/ Spezifikation der Formate seitens der Deutschen Kreditwirtschaft (DK)]
 +
 +
=== 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.<ref>Vgl. https://www.heise.de/newsticker/meldung/PSD2-Banken-muessen-Schnittstellen-fuer-Testphase-freigeben-4336579.html</ref> Siehe dazu
 +
* [https://www.bafin.de/DE/PublikationenDaten/Datenbanken/ZahlungsinstituteRegister/register_zahlungsinstitute_node.html Info zur Registrierungsdatenbank]
 +
* [https://portal.mvp.bafin.de/database/ZahlInstInfo/suche.do Datenbank der Bafin] - Nach ZAG-Institute suchen - Filter: Registriertes Zahlungsinstitut
 +
 +
 +
==== Weiterführendes zu PSD2-APIs ====
 +
Siehe
 +
* https://www.openbankingeurope.eu/
 +
* [https://www.berlin-group.org/psd2-access-to-bank-accounts Standard der Berlin Group]
 +
* [https://www.dkb.de/info/psd2-api/ PSD2-API-Testumgebung der DKB]
 +
* [https://paymentandbanking.com/psd2-das-neue-tor-in-die-bank/ älterer Übersichtsartikel]
 +
* [https://github.com/OpenBankProject/OBP-API/wiki/PSD2-Sandbox PSD2-Sandbox]
 +
* [https://www.ebicsblog.com/2020/04/open-banking-ebics-versus-api.html Kritisch zu OpenBanking-APIs] im Vergleich zu bestehenden Standards wie [[FinTS]] und [[EBICS]]
 +
 +
=== APIs ===
 +
 +
==== figo ====
 +
[https://www.figo.io/figo-fur-jeden-service/ 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.
 +
* [https://www.alphavantage.co/ AlphaVantage ] gibt an, die Nutzung der API via API-Key für immer kostenlos zu halten.
 +
 +
Einen Überblick über Wertpapierinformations-APIs gibt
 +
* https://www.datadriveninvestor.com/2019/02/25/6-alternatives-to-the-yahoo-finance-api/#
 +
 +
== Proprietäre Finanzsoftware ==
 +
=== Enterprise Resource Planning Software ===
 +
* Microsoft Dynamics
 +
* [[SAP S/4HANA Finance]]
 +
 +
-------
 +
<references/>
  
 
[[Category:Plattformübergreifende Software]]
 
[[Category:Plattformübergreifende Software]]
Zeile 217: Zeile 493:
 
[[Category:Java]]
 
[[Category:Java]]
 
[[Category:DesktopSoftware]]
 
[[Category:DesktopSoftware]]
 
-------
 
 
<references/>
 

Aktuelle Version vom 30. Juni 2024, 14:04 Uhr

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