Finanzsoftware: Unterschied zwischen den Versionen
Codica (Diskussion | Beiträge) |
Codica (Diskussion | Beiträge) |
||
Zeile 277: | Zeile 277: | ||
* [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). | * [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 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 === | === Boobank === |
Version vom 8. September 2022, 14:46 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, Kontonummer und PIN durchgeführt. Das gilt auch nach der SEPA-Einführung (Stand: Juli 2016).
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
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]
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.
- Aktuelles zu GnuCash
- GnuCash Wiki
- Mit GnuCash lässt sich auch eine Einnahme-Überschuss-Rechnung realisieren.
- Meta-Bug für deutsche Benutzer von GnuCash
- GnuCASHs Online-Banking kann via AqBanking auch auf deutsche Banken nach dem HBCI/FinTS-Standard zugreifen.
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
- Akaunting - PHP-basiert
- Apache OfBiz - Java-basiert, Web-Anwendung
- Open Z, für 2 Nutzer kostenloses nach eigenen Angaben Open Source ERP
- SQL-Ledger, ein ERP-Programm
- Lx-Office ist eine Variante, die 2003 sich von SQL-Ledger abtrennte und auf deutsche Besonderheiten Rücksicht nimmt.
- Compiere-Derivate
- Compiere, ein ERP-Programm, dessen Kern OpenSource ist.
- Adempiere
- metasfresh - Schweizer Projekt, daher ausführliche deutschsprachige Dokumentation
- iDempiere - Java/OSGi-basiert
- Pecunia Banking ist eine auf HBCI4Java basierende Anwendung für den Mac.
Open-Source-Programme für Linux
Eqonomize
Skrooge
- Skrooge verfügt auch über QIF-Im- und -Export. Skrooge ist Bestandteil der Ubuntu-Distribution. Es basiert auf KDE.
KMyMoney
AqBanking-CLI
Auf der Konsole lässt sich mittels AqBanking-CLI auf ein HBCI-Konto zugreifen.
- AqBanking-HOWTo
- AqBanking-Handbuch oder direkt hier
- http://blog.philippklaus.de/blog/2010/02/25/aqbanking-cli/
- http://www.loebhard.com/linux/homebanking
- AqBanking als Cron-Job
- Skripts für AqBanking mit Ledger
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 {
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
- Reckon
- CSV2Ledger
- ledger-import, inspiriert von Reckon
- das Handbuch zur Version 3.0 (ab Ubuntu 14.10) von Ledger und dort das Kommando
convert
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
- hledger-web ist ein einfaches Web-Interface für das Ledger-Derivat hledger.
- Das Projekt npoacct - accounting-api zielt darauf ab, eine REST-Api zum lesenden und schreibenden Zugriff auf Ledger zu erstellen.
Alternativen zu Ledger
- Ein Nachbau von Ledger ist hLedger.
- 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
- Ledger
- ConceptERP, Warenwirtschaft, Schnittstellen zu Lexware und anderen Buchhaltungssystemen, deutsch
- Kivitendo (ehemals Lx-Office), deutsch, basiert auf Perl und PostGresSQL
- Nuclos
- OpenBravo
- xTuple, english
- Tryton, eine Abspaltung von OpenERP bietet:
- Buchhaltung
- Fakturierung
- Verkauf
- Einkauf
- Kostenstellen
- Lagerverwaltung
- openTaps
- Apache Open for Business OFBiz
- webERP
- ERP5
- Helium V
Weitere
- Übersicht Freie ERP bei Wikipedia
- Tudo, Warenwirtschaft und Finanzbuchhaltung
Proprietäre Alternativen
- Microsoft DynamicsNAV
- SAP
- SAP HANA Express Edition erlaubt SAP HANA in einer kleineren Version auf dem lokalen Rechner oder in der Cloud kostenlos zu installieren.
- Oracle
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
- HBCI4Java ist eine OpenSource-API, die auch von Hibiscus genutzt wird.
- Der von Hibiscus verwendete Fork findet sich auf GitHub.
- Ein weiterer Fork von adorsys wird in deren Multibanking-Tool verwendet.
- Siehe auch oben #AqBanking-CLI
- 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.
- Produkte zum FinTS-Zugriff müssen angeblich bei der Deutschen Kreditwirtschaft registriert werden.
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 hier (inkl. Zertifikat).
- In Online-Banking-Software muss man dem Namen des "BestSign-Gerät" üblicherweise ein "SO:" voranstellen. Also z.B. "SO:MamaHandy", wenn man sein Gerät in der Postbank-Web-Oberfläche "MamaHandy" genannt hat.
- Weitere Parameter finden sich im Wiki von OpenHBCI.
- Angeblich soll auch BestSign mit aqbanking und GnuCash funktionieren:
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
- Der Open Source 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 github.com.
- Der Open Source Java EBICS Client von Uwe Maurer ist ein Fork des oben genannten EBICS Client.
- Der Open Source EBICS-Client epics basiert auf Ruby/ JRuby. Siehe dazu diesen Blogeintrag des Herstellers.
- 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
- EBICS-Testzugang der DZBank (normaler EBICS-Zugang bei der DZ wird dazu benötigt).
- Die EBICS-Zugangsdaten der UniCredit Bank AG (Hypovereinsbank) finden sich auf hypovereinsbank.de.
Weitere Informationen
Z.B. von der Hypovereinsbank/Unicredit:
- https://www.hypovereinsbank.de/hvb/unternehmen/digitales-banking/antraege-formulare#parsys_download_center
- 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
camt-Nachrichten
Zur Ablösung von bisherigen Großkunden-Datenformaten wie MT940 sind die sog. camt-Nachrichten normiert.
Siehe
- Überblick über camt-Nachrichtentypen und vertiefende Infos bei Hettwer
- camt-Testdateien auf sepa-tool.de
- 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.[4] Siehe dazu
- Info zur Registrierungsdatenbank
- Datenbank der Bafin - Nach ZAG-Institute suchen - Filter: Registriertes Zahlungsinstitut
Weiterführendes zu PSD2-APIs
Siehe
- https://www.openbankingeurope.eu/
- Standard der Berlin Group
- PSD2-API-Testumgebung der DKB
- älterer Übersichtsartikel
- PSD2-Sandbox
- Kritisch zu OpenBanking-APIs im Vergleich zu bestehenden Standards wie FinTS und EBICS
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
- Microsoft Dynamics
- SAP S/4HANA Finance