Die BIC ist nicht mehr Pflicht, wird aber dennoch oft übertragen.
Da somit die IBAN ausschlaggebend ist, vermute ich mal, dass eine Überweisung an ein Konto auch dann erfolgreich ist, wenn die BIC nicht das Merkmal 1 hat.
NACHTRAG: Ich habe gerade ausprobiert, wie in der Praxis damit umgegangen wird.
Sowohl windata als auch hibiscus verlangen zur Durchführung einer Überweisung eine BIC bzw. fügen diese automatisch in die SEPA-Nachricht ein. Führe ich mit libfintx eine Überweisung ohne BIC aus, erhalte ich eine Fehlermeldung ("SEPA-Nachrichtenformat ungültig.") von der Bank.
Es scheint, dass die Angabe BIC bei Verwendung von HBCI nach wie vor Pflicht ist ...
ist vielleicht eine blöde Frage, ich stelle sie trotzdem mal ...
Die BLZ ist ja nicht eindeutig, z.B. gibt es mehrere Banken mit der 27070024. Soweit so gut.
Jetzt steht in Wikipedia:
Die deutschen Bankleitzahlen werden in der Bankleitzahlendatei der Bundesbank auf die BICs der deutschen Kreditinstitute abgebildet ... Für den Zahlungsverkehr relevant sind jedoch nur die Datensätze mit Merkmal „1“ im Feld 2; bei diesen ist die Bankleitzahl immer eindeutig.
Mein Verständnisproblem zeigt folgendes Beispiel:
- Jemand hat ein Konto bei Deutsche Bank PGK Bad Lauterberg, BIC DEUTDEDB278, BLZ 27070024
- Dieses Konto hat kein Merkmal "1" - Ich möchte diesem Jemand Geld überweisen, und gebe ins Formular BIC und IBAN ein.
Funktioniert diese Überweisung? Ich habe ja eine BIC eingegeben, die kein Merkmal 1 hat.
... habe den Fehler gefunden. Im Segment ist die Länge des XML mit 1238 angegeben:
HKCDE:3:1+DE12100500000123456789:BELADEBEXXX+urn?:iso?:std?:iso?:20022?:tech?:xsd?:pain.001.001.03+@1238@
Die Länge wurde aufgrund eines Bugs falsch ermittelt. Korrekt wäre in dem hier beschriebenen Fall 1224.
Mit der richtigen Längenangabe werden die Nachrichten von der Bank akzeptiert ...
Mit windata funktioniert die Dauerauftragseinrichtung. Vergleiche ich die Nachrichten von libfintx und windata mit Winmerge, sind die Unterschiede minimal. Der Aufbau des HKCDE-Segments scheint mir in beiden Fällen derselbe zu sein. Auch das XML weist kaum Unterschiede auf, die Struktur ist dieselbe.
Die Bank hilft mir nicht weiter, da sie nur Support für Starmoney und S-Firm bietet.
Hat jemand eine Idee, wo das Problem liegen könnte? Übersehe ich etwas Offensichtliches?
Ja, das ist nur ein Teil der Anwendung, an der ich arbeite. Aber ein Wichtiger. Es geht um den regelmäßigen Abruf von Umsätzen und die Durchführung von Einzel-Überweisungen.
Um "unabhängig" zu bleiben, schaue ich mich im Opensource-Bereich um und versuche, das HBCI-Protokoll zu verstehen. Ob es in vertretbarer Zeit möglich ist, ohne den Einkauf von Drittherstellern auszukommen, wird sich zeigen. Zumindest hbci4java (und auch hibiscus) wirkt ausgereift.
Ich finde, es ist immer von Nachteil, eine Technologie einzusetzen, die man nicht versteht.
Alles klar, danke. In den FAQs steht, dass "in Zusammenhang mit der Einführung der starken Kundenauthentifizierung gemäß PSD2 zu sehen" ist.
In Wikipedia steht: "Die neue EU-Zahlungsdienste-Richtlinie PSD2 soll Finanz-Start-ups stärken." Das lässt hoffen, dass einem bei der Registrierung nicht unnötig Steine in den Weg gelegt werden.
bei meinen Versuchen mit hbci4java ist mir aufgefallen, dass hier eine Produkt-ID übermittelt wird. Diese ist das Resultat der Registrierung bei der Deutschen Kreditwirtschaft.
Ich konnte aber auch mit einer anderen, beliebigen Produkt-ID erfolgreich HBCI-Dialoge durchführen.
Weiß da jemand näheres? Kann ich ohne eine Registrierung meine selbstentwickelte HBCI-Software einsetzen? Ist es rechtlich zwingend, eine Produkt-Registrierung vornehmen zu lassen?
ich versuche mich gerade mit diversen OpenSource Lösungen für FinTS. Ziel ist, den Abruf von Kontoumsätzen sowie die Durchführung von Zahlungen in eine Eigenentwicklung (.NET) zu integrieren.
Meine Frage: Kann hibiscus vollständig im Headless-Mode betrieben werden, um es in meine Eigenentwicklung zu integrieren?
Es gibt ja einige Webservices beim jameica-server. Aber z.B. habe ich nicht gesehen, wie man über einen Webservice-Aufruf ein neues Konto anlegen kann, die muss man immer über die Weboberfläche anlegen.
EDIT: oder ist es besser, vor diesem Hintergrund hbci4java zu verwenden?
ich habe bereits einen anderen Thread aufgemacht, weil ich Probleme beim Abruf der Kontoumsätze mit libfintx habe.
Ich merke aber, dass ich zur Fehleranalyse erst mal ein Verständnis des Aufbaus von HBCI-Nachrichten benötige. Ich habe auch schon in den Spezifikationen gelesen, aber so richtig "Klick" hat es bei mir noch nicht gemacht.
Hier ein einfaches Beispiel, bei dem das TAN-Medium abgefragt wird:
Nachricht an die Bank:
ich versuche gerade mit libfintx einen Umsatzabruf zu machen.
Der Abruf des aktuellen Kontostands hat funktioniert. Aber der Abruf der Kontoumsätze geht mit denselben Verbindungsparametern nicht. Bank ist Berliner Sparkasse.
Hier der Auszug aus dem Protokoll (persönliche Daten sind geändert):
Code
[09.07.2018 09:21:52] HNHBK:1:3+000000000446+300+394822898281=727990621471CQCG=+2'HNVSK:998:3+PIN:2+998+1+1::F4M/wim4fWQBAACCJtAaq?+sWrAQA+1:20180709:092152+2:2:13:@8@00000000:5:1+280:10050000:123456789:V:0:0+0'HNVSD:999:1+@227@HNSHK:2:4+PIN:2+920+1388967494031118+1+1+1::F4M/wim4fWQBAACCJtAaq?+sWrAQA+1+1:20180709:092152+1:999:1+6:10:16+280:10050000:123456789:S:0:0'HKKAZ:3:6+123456789::280:10050000+N+20180625+20180709'HNSHA:4:2+1388967494031118++12345''HNHBS:5:1+2'
[09.07.2018 09:21:52] HNHBK:1:3+000000000527+300+394822898281=727990621471CQCG=+2+394822898281=727990621471CQCG=:2'HNVSK:998:3+PIN:2+998+1+2::F4M/wim4fWQBAACCJtAaq?+sWrAQA+1:20180709:092149+2:2:13:@8@00000000:5:1+280:10050000:123456789:V:0:0+0'HNVSD:999:1+@275@HNSHK:2:4+PIN:2+920+1388967494031118+1+1+2::F4M/wim4fWQBAACCJtAaq?+sWrAQA+1+1:20180709:092149+1:999:1+6:10:16+280:10050000:123456789:S:0:0'HIRMG:3:2+9050::Die Nachricht enthält Fehler.'HIRMS:4:2:3+9010::Auftragsart wird laut BPD nicht unterstützt.'HNSHA:5:2+1388967494031118''HNHBS:6:1+2'
Für mich ist das HBCI-Protokoll Neuland.
Wie kann ich der Fehlerursache auf die Schliche kommen? Ist das Format fehlerhaft? Die Meldung der Bank lautet ja: Auftragsart wird laut BPD nicht unterstützt.. Bedeutet das, dass der HKKAZ-Aufruf überhaupt nicht unterstützt wird?
ich möchte gerne Kontoumsätze von unterschiedlichen Kreditinstituten exportieren und dann automatisiert einlesen.
Für den Export verwende ich vorauss. Windata. Die Umsätze sollen in ein einheitliches Format exportiert werden. Jetzt frage ich mich: exportiere ich die Umsätze ins camt-Format oder ins MT940 Format? Ich neige eher zu camt, da es "sauberer" ist als MT940.
Die entscheidende Frage ist wohl, ob camt von allen Banken unterstützt wird? Bei MT940 ist das ja sicherlich der Fall ...
Wenn der Bevollmächtigte nun die Konten räumt, freut sich die Bank, denn der Mandant darf seine persönliche Daten nicht an Dritte weitergeben.
Hier wird also die Haftung Mandant (Bankkunde) und Bank ausgehebelt, die ja in Kürze nochmals verbraucherfreundlich minimiert wird
Damit hier keine Missverständnisse aufkommen: der "Bevollmächtigte" ist ein behördlich bestellter Betreuer (also ein gesetzlicher Vormund). Dieser ist vom zuständigen Amtsgericht beauftragt, sich um die Finanzen seines Mandanten (= der Betreute) zu kümmern, weil dieser aufgrund Alter, Krankheit, etc. dazu nicht mehr in der Lage ist. Rechtlich ist das einwandfrei, der Mandant muss sogar von Amts wegen seine persönlichen Daten rausgeben, damit der Betreuer seine Arbeit machen kann.
Also irgendwie kann ich alleine den hier besprochen Part (Kontoumsätze usw.) sowie die Begründung in #12 nicht nachvollziehen.
...
Dh. selbst wenn dies komplett Online ablaufen würde und ein hack erfolgt, wären nur die Kontoumsätze einsehbar - egal ob direkt auf der Page oder über die banking-homepage
Ich verstehe nicht 100% was Du sagen willst. In meinem Szenario hat der Bevollmächtigte vom Mandanten die Zugangsdaten für HBCI erhalten (kann übrigens auch Zahlungen vornehmen). Selbst wenn ein Krimineller sich "nur" den Zugang zu den Umsätzen verschafft, gelangt er an hochprivate Daten ran und begeht eine Straftat. Ganz zu schweigen, wenn er Zahlungen vornehmen sollte, Auch wenn das nicht publik wird: Online-Zugänge werden in seltenen Fällen geknackt und es entstehen auch finanzielle Verluste.
Windata als Hersteller ist dafür verantwortlich, dass die in Windata gespeicherten Zugangsdaten vor dem unbefugten Zugriff sicher sind. Ich gehe davon aus, dass bei Verwendung einer API wie subsembly die Zugangsdaten in "meiner" Software gespeichert werden. In dem Moment, wo ich die Zugangsdaten in meiner eigenen Software speichere, trage ich als Hersteller der Software die Verantwortung und die will ich nicht haben, deswegen überlasse ich das Windata. Anders sähe es aus, wenn die Zugangsdaten auf den Servern des Service-Providers gespeichert werden (bei konfipay ist das glaube ich so?), dann bin ich die Verantwortung los und kann ruhig schlafen.
Ich plane die Entwicklung einer Software, um für Konten von Einzelpersonen die Buchhaltung der kompletten Finanzen (alle Ein- und Ausgaben) durchzuführen. Ein Teil dieser Buchhaltung ist die tabellarische Darstellung von Kontoumsätzen, um die Ein-/Ausgaben kontrollieren zu können. Weiterhin ist es erforderlich, zu regelmäßigen Terminen eine Gesamtübersicht aller Konten zu erstellen mit allen Kontobewegungen und Saldo zu Beginn und Ende des Abrechnungszeitraums. Das betrifft nicht nur Bankkonten - es können auch "virtuelle" Konten gepflegt werden (z.B. ein Schuldenkonto bei einem Gläubiger).
Ich gehe davon, dass dass eine solche Funktionalität am besten über eine Kombination aus selbst entwickelter Buchhaltung + Banking-Programm abgedeckt wird.
Nun gibt es ja auch Buchhaltungssoftware, z.B. lexware oder sage. Habt Ihr hier Erfahrungen mit der Integration solcher Programme in Individual-Software? Können Mandanten der Individual-Software eindeutig Mandanten der Buchhaltungssoftware zugeordnet werden? Ist es möglich, Kontoumsätze eines Zeitraums zu exportieren, um eine Gesamtübersicht zu erstellen? Ist es überhaupt möglich, über eine Programmierschnittstelle (oder zumindest eine Export-Funktion) auf die Daten der Buchhaltungssoftware zuzugreifen?
Für Hinweise, die zur Ergreifung des Täters führen, bin ich dankbar