Vorgemerkte Umsätze werden später gelöscht

 
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 37
Dabei seit: 12 / 2013
Betreff:

Vorgemerkte Umsätze werden später gelöscht

 · 
Gepostet: 06.03.2022 - 13:30 Uhr  ·  #1
Hallo,

ich bin langjähriger hibiscus-Server Nutzer und rufe Umsätze nun via "hibiscus-Desktop" ab, da das KeyFile HBCI-Verfahren ja abgeschaft wurde.

Nun stelle ich fest, dass Hibiscus vorgemerkte Umsätze einsortiert und später, liegt seitens der Bank der endgültige Buchungstext vor, diese löscht, um die finale Buchung einzusortieren.
Da ich die Daten aus Hibiscus via XML-RPC-Schnittstelle abgreife, um sie weiter zu verarbeiten, ergeben sich unangenehme Dubletten.

Vorgemerkte Buchungen werden in der Hibiscus-Umsatzansicht in grau angezeigt. Die Wertstellung liegt in der Zukunft. Ansonsten kann ich keinen Wert in der Datenbank identifizieren, der mir eine Buchung als vorgemerkt identifiziert.
Woran erkennt Hibiscus beim Abrufen der endgültigen Buchung, welcher vorherige Datensatz zu löschen ist?

Wie kann ich auf diesen Zug aufspringen, um vorgemerkte Buchungen zielsicher erst gar nicht zu verarbeiten?

Gruß
Heiko
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11070
Dabei seit: 03 / 2005
Betreff:

Re: Vorgemerkte Umsätze werden später gelöscht

 · 
Gepostet: 07.03.2022 - 09:53 Uhr  ·  #2
Zitat geschrieben von BiberBank

Nun stelle ich fest, dass Hibiscus vorgemerkte Umsätze einsortiert und später, liegt seitens der Bank der endgültige Buchungstext vor, diese löscht, um die finale Buchung einzusortieren.
Da ich die Daten aus Hibiscus via XML-RPC-Schnittstelle abgreife, um sie weiter zu verarbeiten, ergeben sich unangenehme Dubletten.


Aus dem Grund ist das Abrufen der Vormerkbuchungen beim Hibiscus-Server auch per Default deaktiviert - weil die Gefahr besteht, dass bei einer automatischen Weiterverarbeitung zu Problemen kommt.

Du kannst den Abruf auch auf dem Desktop deaktivieren. Öffne die Konfigurationsdatei "cfg/de.willuhn.jameica.hbci.HBCI.properties" in einem Texteditor und füge folgende Zeile ein (oder passe die existierende an, falls sie bereits vorhanden ist):

Code

umsatz.fetchnotbooked=false


Du findest die Konfigurationsdatei im Jameica-Benutzerordner - siehe https://www.willuhn.de/wiki/do…erzeichnis

Zitat geschrieben von BiberBank

Woran erkennt Hibiscus beim Abrufen der endgültigen Buchung, welcher vorherige Datensatz zu löschen ist?


Gar nicht. Die Bank liefert die Vormerkbuchungen jeden Tag neu. Solange bis die echte Buchung eintrifft. Hibiscus löscht einfach all jene Vormerkbuchungen, die mindestens 1 Tag alt sind und nicht mehr von der Bank geliefert werden. Eine automatische Zuordnung zwischen Vormerkbuchung und valutierter Buchung ist nicht eindeutig möglich. Das ist auch der Grund, warum die Vormerkbuchungen weggelöscht und stattdessen die valutierte Buchung als neuer Datensatz gespeichert wird. Ich hätte auch lieber gehabt, dass die Vormerkbuchung mit ihrer ID erhalten bleibt und ledgilich den Status von Vormerkung auf Valutiert ändert. Die Zuordnung lässt sich aber wie gesagt leider nicht eindeutig herstellen. Daher der Umweg über das Löschen.

Zitat geschrieben von BiberBank

Wie kann ich auf diesen Zug aufspringen, um vorgemerkte Buchungen zielsicher erst gar nicht zu verarbeiten?


Das geht nur, indem du wie oben beschrieben den Abruf der Vormerkbuchungen deaktivierst. Das Vormerkbuchungsmerkmal (in der Spalte "flags" gespeichert) wird bei der XML-RPC-Schnittstelle nicht mit übertragen.
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 37
Dabei seit: 12 / 2013
Betreff:

Re: Vorgemerkte Umsätze werden später gelöscht

 · 
Gepostet: 07.03.2022 - 13:34 Uhr  ·  #3
Zitat geschrieben von hibiscus


Aus dem Grund ist das Abrufen der Vormerkbuchungen beim Hibiscus-Server auch per Default deaktiviert - weil die Gefahr besteht, dass bei einer automatischen Weiterverarbeitung zu Problemen kommt.

Du kannst den Abruf auch auf dem Desktop deaktivieren. Öffne die Konfigurationsdatei "cfg/de.willuhn.jameica.hbci.HBCI.properties" in einem Texteditor und füge folgende Zeile ein (oder passe die existierende an, falls sie bereits vorhanden ist):

Code

umsatz.fetchnotbooked=false




Super! Total genial! Herzlichen Dank!

Gruß Heiko
Labi
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 06 / 2025
Betreff:

Re: Vorgemerkte Umsätze werden später gelöscht

 · 
Gepostet: 18.10.2025 - 10:34 Uhr  ·  #4
Da es themenmäßig passt, ergänze ich eine aktuelle Fehlermeldung mit Lösung hier (für andere User):
Abruf bei Norisbank Girokonto mit einem vorgemerkten Umsatz (Zahlung vom gleichen Tag) erzeugt eine Exception:
Code
[Fri Oct 17 19:41:56 CEST 2025][INFO][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] got no new booked entries
[Fri Oct 17 19:41:56 CEST 2025][INFO][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] applying not-booked (vorgemerkte) entries
[Fri Oct 17 19:41:56 CEST 2025][ERROR][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] error while adding umsatz, skipping this one
de.willuhn.util.ApplicationException: Datum fehlt.
  at de.willuhn.jameica.hbci.server.UmsatzImpl.insertCheck(UmsatzImpl.java:74)
  at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:649)
  at de.willuhn.jameica.hbci.server.UmsatzImpl.insert(UmsatzImpl.java:129)
  at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:314)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.store(AbstractHibiscusDBObject.java:99)
  at de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted(HBCIUmsatzJob.java:357)
  at de.willuhn.jameica.hbci.server.hbci.AbstractHBCIJob.markExecutedInternal(AbstractHBCIJob.java:415)
  at de.willuhn.jameica.hbci.server.hbci.AbstractHBCIJob.handleResult(AbstractHBCIJob.java:328)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.executeJobs(HBCISynchronizeBackend.java:371)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync(HBCISynchronizeBackend.java:273)
  at de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run(AbstractSynchronizeBackend.java:399)
  at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)

[Fri Oct 17 19:41:56 CEST 2025][INFO][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] clean obsolete notbooked entries
[Fri Oct 17 19:41:56 CEST 2025][INFO][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] removed entries: 0
[Fri Oct 17 19:41:56 CEST 2025][INFO][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] done. new entries: 0, skipped entries (already in database): 0
[Fri Oct 17 19:41:56 CEST 2025][INFO][bg-task:Worker][de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.markExecuted] umsatz list fetched successfully


"Datum fehlt" stimmt, auch im Browser wird kein Datum angezeigt.
Nach Einbau der oben genanten Config-Zeile "umsatz.fetchnotbooked=false" tritt der Fehler nicht mehr auf. Also alles gut.
Gewählte Zitate für Mehrfachzitierung:   0