hibiscus 2.13-nightly: comdirect: CAMT: de.willuhn.util.ApplicationException: Datum fehlt.

[ERROR] Nicht alle empfangenen Umsätze konnten gespeichert werden. Bitte prüfen Sie das System-Protokoll

 
fmms2
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 07 / 2025
Betreff:

hibiscus 2.13-nightly: comdirect: CAMT: de.willuhn.util.ApplicationException: Datum fehlt.

 · 
Gepostet: 30.01.2026 - 20:41 Uhr  ·  #1
Hallo,

ich habe folgende Versionen:
Software-Version: 2.13.0-nightly (30.1.2026)
HBCI4Java-Version: 4.1.7
Datenbank-Version: 71 [Datum 20260130]

Ich habe ein Konto bei der comdirect. Beim Abruf der Umsätze wird folgendes in Hibiscus angezeigt:
[ERROR] Nicht alle empfangenen Umsätze konnten gespeichert werden. Bitte prüfen Sie das System-Protokoll


Im Log sehe ich folgendes:

Code

[Fri Jan 30 20:07:06 CET 2026][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:651)
  at de.willuhn.jameica.hbci.server.UmsatzImpl.insert(UmsatzImpl.java:129)
  at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:316)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.store(AbstractHibiscusDBObject.java:109)
  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:401)
  at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)



Mit dem Logginglevel TRACE erhalte ich folgende Details:
Code

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02">
    <BkToCstmrAcctRpt>
        <GrpHdr>
            <MsgId>9EDECAF758ED4E4A8864FB3FE872F947</MsgId>
            <CreDtTm>2026-01-30T20:07:06.562+01:00</CreDtTm>
            <MsgPgntn>
                <PgNb>0</PgNb>
                <LastPgInd>true</LastPgInd>
            </MsgPgntn>
        </GrpHdr>
        <Rpt>
            <Id>EC577B19E87A4A899EE9768EF10B14E0</Id>
            <FrToDt>
                <FrDtTm>2026-01-30T00:00:00.000+01:00</FrDtTm>
                <ToDtTm>2026-01-30T00:00:00.000+01:00</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>DE17200411330XXXXXXXXX</IBAN>
                </Id>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>OPBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">12345.67</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <DtTm>2026-01-30T00:00:00.000+01:00</DtTm>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>CLBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">12345.67</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <DtTm>2026-01-30T00:00:00.000+01:00</DtTm>
                </Dt>
            </Bal>
            <Ntry>
                <Amt Ccy="EUR">123.45</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>PDNG</Sts>
                <BkTxCd>
                    <Prtry>
                        <Cd>700</Cd>
                        <Issr></Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties/>
                        <RmtInf>
                            <Ustrd>Hotel DEU 20</Ustrd>
                            <Ustrd>26-01-25T15:58:28</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
            <Ntry>
                <Amt Ccy="EUR">123.45</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>PDNG</Sts>
                <BkTxCd>
                    <Prtry>
                        <Cd>700</Cd>
                        <Issr></Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties>
                            <Cdtr>
                                <Nm>FMMS XXXX</Nm>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <IBAN>DE882004123123131312</IBAN>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RmtInf>
                            <Ustrd>cominvest Sparplan</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
            <Ntry>
                <Amt Ccy="EUR">12.34</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>PDNG</Sts>
                <BkTxCd>
                    <Prtry>
                        <Cd>700</Cd>
                        <Issr></Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties/>
                        <RmtInf>
                            <Ustrd>Restaurant AUT       20</Ustrd>
                            <Ustrd>26-01-30T11:48:29</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
            <Ntry>
                <Amt Ccy="EUR">1234.56</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>PDNG</Sts>
                <BkTxCd>
                    <Prtry>
                        <Cd>700</Cd>
                        <Issr></Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties/>
                        <RmtInf>
                            <Ustrd>Hotel AUT         20</Ustrd>
                            <Ustrd>26-01-30T19:24:10</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Rpt>
    </BkToCstmrAcctRpt>
</Document>


Ist dies ein Fehler bei der comdirect für vorgemerkte Umsätze oder könnte Hibiscus damit etwas robuster umgehen? Ich habe einige Threads mit ähnlichen Problemen gelesen und bin daher für CAMT auf das aktuellste 2.13 nightly umgestiegen.

Vielen Dank
fmms
fmms2
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 07 / 2025
Betreff:

Re: hibiscus 2.13-nightly: comdirect: CAMT: de.willuhn.util.ApplicationException: Datum fehlt.

 · 
Gepostet: 04.02.2026 - 22:32 Uhr  ·  #2
was hilft an weiteren Informationen, um dieses Problem zu lösen?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11477
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus 2.13-nightly: comdirect: CAMT: de.willuhn.util.ApplicationException: Datum fehlt.

 · 
Gepostet: 05.02.2026 - 08:41 Uhr  ·  #3
Sorry, dein Posting ist in der Masse untergegangen. Ich weiss leider nicht, wie ich das Problem lösen kann. Die Bank sendet die Vormerkbuchungen ohne Datum. Die Start- und Endsalden sowie der Report selbst sind zwar mit Datumsangaben versehen (FrDtTm, ToDtTm, DtTm). Die Buchungen selbst (alles innerhalb von "Ntry" haben aber kein Datum. Das im zweiten Wert von "<Ustrd>" sieht zwar aus wie ein Datum, "<Ustrd>" ist aber das Feld für den Verwendungszweck. Das Datum wird in Hibiscus aber für die Speicherung eines Umsatzes zwingend gebraucht. Ich kann auch nicht alternativ ein anderes Datum verwenden, weil das beim nächsten Abruf dann wieder anders sein könnte und dann der Abgleich mit den bereits in der Datenbank vorhandenen fehlschlagen kann. Ich habe hier im Moment leider keine Lösung.
fmms2
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 07 / 2025
Betreff:

Re: hibiscus 2.13-nightly: comdirect: CAMT: de.willuhn.util.ApplicationException: Datum fehlt.

 · 
Gepostet: 06.02.2026 - 00:53 Uhr  ·  #4
Danke für die Antwort Olaf!

Ist dies damit ein Verstoß gegen das Protokoll der comdirect und eine Korrektur ist zu erwarten?

Oder ist die Anpassung des Abgleichs in Hibiscus notwendig? Da es sich ja nur um vorgemerkte Umsätze handelt, die man ja bspw. auch noch nicht kategorisieren kann, sollte es doch eine Option sein, diese Umsätze vor jedem Abruf zu löschen, oder? Dann kann es zu keinen Duplikaten kommen. Sollte ich vor kurzer Zeit schon einmal abgerufen haben, dann kommt der Umsatz wieder als vorgemerkt ansonsten würde er dann als echter Umsatz gespeichert werden.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11477
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus 2.13-nightly: comdirect: CAMT: de.willuhn.util.ApplicationException: Datum fehlt.

 · 
Gepostet: 06.02.2026 - 13:24 Uhr  ·  #5
Auch bei den Vormerkbuchungen findet ein Abgleich mit den bereits in der Datenbank vorhandenen statt. Ein Löschen findet erst statt, wenn sie von der Datenbank nicht mehr gemeldet werden. Ich habe den Abruf jetzt so geändert, dass bei fehlendem Datum versucht wird, dieses anderweitig (aus dem Start- oder Endsaldo des Abrufs) zu ermitteln. Wenn das ebenfalls nicht vorhanden ist, wird das tagesaktuelle Datum verwendet. Ich kann nicht beurteilen, ob es dann zu Dopplern in den Vormerkbuchungen kommen wird. Ist ab morgen im Nightly-Build.
Gewählte Zitate für Mehrfachzitierung:   0