Saldo für einen bestimmten Tag abfragen

 
OlliL
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 71
Dabei seit: 03 / 2015
Betreff:

Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 31.03.2015 - 16:03 Uhr  ·  #1
Hallo zusammen,

ich möchte gerne (mittels hbci4java) ermitteln, welchen Kontostand ein Konto am Ende eines definierten Tages hatte.
Eine einfache HKSAL Abfrage hilft mir also nicht weiter, da diese scheinbar nur den Saldo zum aktuellen Zeitpunkt liefern kann.

Ich habe mir nun folgendes überlegt:

1. Abfrage des aktuellen Kontostandes
2. Abfrage aller Buchungen seit meinem gewünschten Datum bis zum heutigen Tag

- Sollte ich nun keinerlei Buchungen bekommen, ist der Kontostand an meinem Wunschtag = dem heutigen Kontostand - Ermittlung abgeschlossen
- Sollte ich Buchungen zurück bekommen, müsste ich erstmal prüfen ob Buchungen an meinem Wunschtag vorliegen, und dann von diesem die "letzte" Buchung nehmen welche dann auch den Saldo nach dieser Buchung enthällt.
- Sollte an meinem Wunschtag keine Buchung vorliegen, müsste ich die am nächsten liegende Buchung nehmen und von dem dort mitgelieferten Saldo den Wert der Buchung abziehen um so zu dem Saldo "vor" dieser nächsten Buchung und somit von meinem Wunschtag zu bekommen.

Beispiele

Annahme: Saldo heute 100 Euro
Fragestellung: Wie hoch war das Saldo am 28.02.2015

Fall 1
  • keine Buchungen zwischen dem 28.02.2015 und heute
  • Ergebnis: Das Saldo am 28.02.2015 war 100 Euro


Fall 2

  • drei Buchungen am 28.02.2015
  • -100 EUR Saldo 1000 EUR
  • +200 EUR Saldo 1200 EUR
  • - 50 EUR Saldo 1150 EUR
  • Ergebnis: Das Saldo am 28.02.2015 war 1150 Euro


Fall 3
  • keine Buchung am 28.02.2015, aber 2 Buchungen am 01.03.2015
  • -60 EUR Saldo 1300 EUR
  • +50 EUR Saldo 1350 EUR
  • Ergebnis: 1300-(-60) Euro ergibt für den 28.02.2015 einen Saldo von 1360 Euro


Kann man das so machen? Ist die Reihenfolge der Buchungen "garantiert" und ich mich auf "die erste" oder "die letzte" verlassen kann?
Wie würdet Ihr die Fragestellung lösen?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11492
Dabei seit: 03 / 2005
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 01.04.2015 - 12:15 Uhr  ·  #2
Mache taeglich ein HKSAL und speichere das Ergebnis.
Die meisten Banken halten die Umsaetze nur fuer die letzten 90 Tage bereit. Dein Ansatz wuerde also i.d.R. ohnehin nur fuer maximal 90 Tage in der Vergangenheit funktionieren.
Holger Fischer
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Alter: 54
Beiträge: 6248
Dabei seit: 02 / 2003
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 01.04.2015 - 13:21 Uhr  ·  #3
Zitat geschrieben von hibiscus

Die meisten Banken halten die Umsaetze nur fuer die letzten 90 Tage bereit. Dein Ansatz wuerde also i.d.R. ohnehin nur fuer maximal 90 Tage in der Vergangenheit funktionieren.

Nicht einmal das! 90 Tage ist eher schon lang.

Viele Grüße

Holger
OlliL
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 71
Dabei seit: 03 / 2015
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 01.04.2015 - 15:42 Uhr  ·  #4
Zitat geschrieben von hibiscus

Mache taeglich ein HKSAL und speichere das Ergebnis.


Kann leider nicht garantieren, das dies täglich möglich ist (Rechner aus bei längerer Abwesenheit) - ich brauche also eine Möglichkeit das "historisch" zu ermitteln. Dabei würde ich mal sagen "maximal 3 Wochen" historisch zurück.

Und ich müsste bei HKSAL das ja auch irgendwie terminiert nachts um 23:59:59 machen oder so....
martin_d
Benutzer
Avatar
Geschlecht:
Herkunft: Kurpfalz
Beiträge: 224
Dabei seit: 10 / 2006
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 01.04.2015 - 16:54 Uhr  ·  #5
Dann bleibt wohl nur anhand des Werstellungs-Datums vom aktuellen Saldo zurückzurechnen.
OlliL
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 71
Dabei seit: 03 / 2015
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 03.04.2015 - 21:55 Uhr  ·  #6
Kommt man eigentlich irgendwie an die Info ran, wie lange zurück die Bank maximal Umsätze liefern würde? Das wäre interessant zu wissen, wenn man z.B. gar keine Umsätze bekäme und man ermitteln könnte das die Bank maximal 90 Tage liefert, kann man für die letzten 2 Monate den aktuellen Saldo als Monatssaldo festschreiben.

Ich hatte irgendwo mal gelesen, das man das evtl. aus den Bankparameterdaten bekommt, aber habe in den BPD Properties nix beim "drüberscrollen" im Debugger gesehen.....
infoman
Benutzer
Avatar
Geschlecht:
Beiträge: 8196
Dabei seit: 06 / 2008
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 04.04.2015 - 03:34 Uhr  ·  #7
das ist sehr unterschiedlich von Bank zu Bank, hinzu kommt dass der Weg des Abrufs relevant ist, dh bei einem Abruf über Webbanking andere Daten, wie über HBCI-Karte.
weiterhin hat sich dies im Laufe der Zeit geändert, früher gingen nur x-Tage heute bspw. y-Tage.

Leider halten sich manche Entwickler/Software/Unternehmen (= bspw. DATEV) strikt beim Abruf an die BPD, wo evtl. 30 Tage vorgegeben sind obwohl systemtechnisch (ca. 1 Jahr möglich wären = wenn ich über Alternative-Software abrufe wie Starmoney/Banking 4W).
(workaround: um zu ermitteln wie weit effektiv zurück, wie o.e. nur für diesen Test eine "nackige Software"-Abruf durchführen, dann siehst man es ja)


wenn man genauer wüsste, warum die Ermittlung wie in #1 erfolgen soll, kann evtl. eine Alternative angedacht werden.
OlliL
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 71
Dabei seit: 03 / 2015
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 07.04.2015 - 09:47 Uhr  ·  #8
Zitat geschrieben von infoman

Leider halten sich manche Entwickler/Software/Unternehmen (= bspw. DATEV) strikt beim Abruf an die BPD, wo evtl. 30 Tage vorgegeben sind


Wo genau im BPD steht es denn? Ich habs nicht gefunden wie ich da ran komme.

Zitat geschrieben von infoman

wenn man genauer wüsste, warum die Ermittlung wie in #1 erfolgen soll, kann evtl. eine Alternative angedacht werden.


Wie sollte es denn sonst erfolgen heute den Monats-End-Saldo für März und wenn möglich Februar zu ermitteln?
martin_d
Benutzer
Avatar
Geschlecht:
Herkunft: Kurpfalz
Beiträge: 224
Dabei seit: 10 / 2006
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 07.04.2015 - 10:30 Uhr  ·  #9
Wie schon in #5 geschrieben kannst du doch den aktuellen Saldo nehmen und alle Buchungen mit Werstellung > gewünschter Tag davon abziehen?
OlliL
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 71
Dabei seit: 03 / 2015
Betreff:

Re: Saldo für einen bestimmten Tag abfragen

 · 
Gepostet: 07.04.2015 - 20:45 Uhr  ·  #10
Jo aber da ich nicht weiss, wie weit zurück ich Umsätze abrufen kann, weiss ich nicht wieweit rückwirkend ich Monatssalden annehmen kann wenn ich z.B. gar keinen Umsatz zurück bekomme von der Bank... oder nur einen....

Aktuell habe ich es nun so implementiert, das ich mir alle Umsätze geben lasse, und diese durchiteriere und bei einem Wechsel von Monat oder Jahr für den Monat des letzten Datensatzes dessen Saldo als Endsaldo festschreibe. Dann wird der gleiche Saldo auch für alle Monate festgeschrieben welche zwischen dem letzten Datensatz und dem aktuellen Datensatz liegen (sofern da Monate dazw. sind) und am Ende wird noch geschaut ob der letzte abgerufene Buchungssatz vor dem aktuellen Monat liegt und dessen Saldo wird dann in diese Fall auch für alle Monate bis auf den jetzigen weitergeschrieben.
Sind gar keine Buchungen abholbar wird der aktuelle Saldo für den letzten Monat festgeschrieben bzw. wenn die Bank korrekt das "letzte Buchungsdatum" in der Saldenabfrage füllt für alle Monate seit diesem Datum.

Wenn ich nun wüsste wieviel zurück Umsätze bei der jeweiligen Bank abrufbar sind, könnte ich weiter zurück liegende Annahmen treffen. z.B. Bank liefert Umsätze aktuell bis Dezember. Ich habe nur eine Buchung im März... also ist das Märzsaldo auch gleichzeitig das Endsaldo für Dezember, Januar und Februar.

Wenn ich aber nicht weiss wieweit zurück die Umsätze abrufbar sind, kann ich nur das Märzsaldo mit Sicherheit bestimmen.
Gewählte Zitate für Mehrfachzitierung:   0