Konto per HCBI synchronisieren, Transaktionen werden seltsam geparst

Hallo!
Wenn ich eine CSV Datei mit meinen exportierten Umsätzen aus dem online banking importiere, kann ich festlegen, welche Felder importiert und zugeordnet werden.
Ich habe versucht mein Konto per HBCI zu synchronisieren, werde aber nicht gefragt, welche Felder wie zuzuordnen sind. Daraufhin muss ich jeder Transaktion eine Kategorie zuweisen, weil ich nicht auswählen kann, welches Feld der Transaktionsdaten als Kategorie gesetzt werden soll.
Konkret möchte ich die Felder “int transactionCode” und “char transactionText” verwenden. Wo und wie kann ich die Regeln zum parsen meiner HBCI importe ändern?
LG, nils

Das geht ausschließlich im Sourcecode des KBanking Plugins. Allerdings ist KMyMoney in der Lage sein, die Zuordnung auf Grund von historischen Transaktionen bzw. der geplanten Zahlungen selber vorzunehmen.

Danke, das hatte ich befürchtet :wink:
Es geht hierbei um den ersten Import mit Transaktionen seit 2016.
Es wäre sehr aufwändig alles per Hand zu editieren. Vielmehr scheint der Parser Felder zu ignorieren, die ich hingegen aus einer CSV Datei importieren kann.
Wird beim Import aus kbanking das Feld “KATEGORIE” überhaupt gesetzt? Wenn nicht, wie kompliziert wäre es, das zu ändern und wo passiert das parsing im Code?
LG, nils

Über ein Feld “KATEGORIE” (das auch von einer Bank noch sinnvoll befüllt wird) bin ich bis jetzt bei HBCI noch nicht gestolpert :frowning:

Der Source Code befindet sich in der Methode KBankingExt::_xaToStatement. Wo wird denn dieses Feld in AqBanking zur Verfügung gestellt? Wenn es da eine sinnvolle Nutzung gibt können wir das gerne einbauen (wie heißt es so schön: patches welcome).

Hallo und danke für die Antwort :slight_smile:
Wenn ich eine CSV Datei importiere, nehme ich immer “transactionText” als KATEGORIE. Dieses Feld wird z.B. beim Import aus kbanking verworfen, obwohl es bei meiner Bank u.a. “KARTENZAHLUNG”, “FOLGELASTSCHRIFT”, “DAUERAUFTRAG” usw. beinhaltet und sich als Kategorie daher anbietet. Weiterhin sind auch “transactionKey” und “transactionCode” interessant. Eines dieser Felder als KATEGORIE setzen zu können, wäre schon alles, was ich brauche. Am schönsten wäre allerdings der selbe Dialog, der mich beim CSV Import fragt, wie ich die Felder zuordnen möchte, aber das übersteigt meine geringen Kompetenzen bei weitem :wink:
Ich habe hier mal eine Transaktion als Beispiel:

      transaction {
        char type="statement"
        char subType="none"
        char command="none"
        char status="unknown"
        int  uniqueAccountId="0"
        char acknowledge="never"
        int  uniqueId="0"
        int  refUniqueId="0"
        int  idForApplication="0"
        int  sessionId="0"
        int  groupId="0"
        char fiId="XXXXXXXXXX"
        char localIban="XXXXXXXXXXXXXXX"
        char localBic="XXXXXXXX"
        char localName="ISSUER"
        char remoteIban="XXXXXXXXXXXX"
        char remoteName="XXXXXXXXX"
        char date="XXXXXXXXXXX"
        char valutaDate="XXXXXXXXXXX"
        char value="-XXXX%2F100%3AEUR"
        int  transactionCode="106"
        char transactionText="KARTENZAHLUNG"
        char transactionKey="DDT"
        int  textKey="0"
        char primanota="9248"
        char purpose="XXXXXXXX"
        char bankReference="NONREF"
        char endToEndReference="XXXXXXXXXXXXXXXXXXXXXX"
        char ultimateCreditor="XXXXXXXXXXXXXX"
        char sequence="unknown"
        char charge="unknown"
        char period="unknown"
        int  cycle="0"
        int  executionDay="0"
        int  estatementNumber="0"
        int  estatementMaxEntries="0"
      } #transaction

LG, nils

Das Feld wird in der Tat nicht von KBanking ausgewertet. Die Kategorien in KMyMoney sind allerdings anders zu verstehen, denn in KMyMoney wird man z.B. für Autozubehör und Getränke zwei Kategorien (eingentlich Konten) anlegen und für beide kannst Du mit der Karte (KARTENZAHLUNG) bezahlen. Das gleiche gilt z.B. für Miete und Energielieferungen: beide werden DAUERAUFTRAG oder FOLGELASTSCHRIFTEN sein, so ich eine sinnvolle Zuordnung zu Miete oder Energielieferung auf Grund des Feldes “transactionText” (noch) nicht sehe.

Das transactionText Feld ist nicht perfekt, aber wahrscheinlich besser, als für die Kategorie gar kein Feld zu setzen, da man sonst tausende Einträge von Hand kategorisieren muss. Man könnte dann von der automatischen Zuordnung ausgehen und Split Buchungen ergänzen.
Wahrscheinlich wäre es wirklich nur praktikabel, wenn man in der Lage wäre selbst eine Zuordnung der verfügbaren Felder nach dem Abruf der Transaktionen vorzunehmen, so wie beim Import von CSV Dateien.
Grundsätzlich finde ich aber, dass transactionText, transactionCode und transactionKey trotzdem ausgewertet werden sollten, da die Info, ob es sich um einen Dauerauftrag, eine Lastschrift usw. (teilweise sogar deckungsgleich mit den preset Kategorien) handelt, mit dem Import durch kbanking verloren geht, bei CSV nicht.
LG, nils