Commerzbank-CSV-Import scheitert bei US-Aktien

Hallo liebe Portfolio Ninjas,

ich habe ein Portfolio bei der Commerzbank. In deren Webinterface kann man sich ein CSV ziehen. Ich scheitere beim Import. Offensichtlich ist die Spaltenzuordnung nicht richtig. Ist das irgendwo mal genauer erklärt?

Die Aktie ist als USD eingerichtet. Das Depot als Eur. Wechselkurs ist im CSV enthalten.

Zuordnung ist wie folgt:
image

Fehlermeldung:
image

Ich freue mich über Tipps.

Ein schönes Wochenende.
Ralf

Ich habe das Gleiche Probelm
Portfolio Performance support

Ich weiß nicht, wie es geht, aber es gehört jedenfalls zu diesem Thread:

Danke chirlu,

den dortigen und alle dort erwähnten Threads habe ich durch … ohne eine Lösung. Irgendwie ist das nicht befriedigend.

Ich konnte den Import von Dividenden von Aktien in ausländischen Währungen nicht importieren bisher … Bin ich der einzige, der das Problem hat? Wie kann man das weiter debuggen?

Kurz zur Situation und alle Infos um das mal nachzustellen.

Depot

Mein Depot is in Euro, denn ich habe ein internationales Depot was die Inhalte angeht, aber Steuern zahle ich in Deutschland.

Aktie

Ich hab unter anderem die Johnson & Johnson im Depot. Mein Depot ist in EUR. Die Aktie ist in US:
image

CSV

Die CSV die mir vorliegt hat folgende Infos. Zur Lesbarkeit habe ich die Daten transformiert, Natürlich ist in der CSV die erste Zeile mit allen Headern und die zweite Zeile mit allen Werten.

image

Hier noch mal die CSV als Text

Depotinhaber;Depotnummer;Geschäftstag;Umsatzart;Menge;WKN;ISIN;WP-Bezeichung;Kurs / Ausschüttung;Kurs Währung;Devisenkurs;Kurswert;Kurswert Währung;Endbetrag;Endbetrag Währung;Ausführungsplatz;Ausführungszeit;Buchungstag;Valuta;Verwahrart;Verwahrart Bezeichnung;Stückeart;Stückeart Bezeichnung;Sperre;Transaktionsnummer;Kosten gesamt;Stückzinsen
RALF;500400xxxxxx;22.08.22;Ausschüttung;75,00;853260;US4781601046;JOHNSON + JOHNSON    DL 1;1,13;USD;0,993;;EUR;72,577;EUR;;00:00;05.09.22;08.09.22;701;USA/Kanada;0;Komplette Stücke, ohne Besonderheiten;;07431623000001000;;0,00

Konfiguration

Zur Veranschaulichung oben in der Tabelle dargestellt. Hier noch mal der Export der Konfiguration als JSON:

{
    "delimiter": ";",
    "columns": [
        {
            "label": "Depotinhaber"
        },
        {
            "field": "portfolio",
            "label": "Depotnummer"
        },
        {
            "field": "date",
            "format": "dd.MM.yy",
            "label": "Geschäftstag"
        },
        {
            "field": "type",
            "format": "DEPOSIT=Einlage;REMOVAL=Entnahme;INTEREST=Zinsen;INTEREST_CHARGE=Zinsbelastung;DIVIDENDS=Ausschüttung;FEES=Gebühren;FEES_REFUND=Gebührenerstattung;TAXES=Steuern;TAX_REFUND=Steuerrückerstattung;BUY=Kauf;SELL=Verkauf;TRANSFER_IN=Umbuchung (Eingang);TRANSFER_OUT=Umbuchung (Ausgang)",
            "label": "Umsatzart"
        },
        {
            "field": "shares",
            "format": "0.000,00",
            "label": "Menge"
        },
        {
            "field": "wkn",
            "label": "WKN"
        },
        {
            "field": "isin",
            "label": "ISIN"
        },
        {
            "field": "name",
            "label": "WP-Bezeichung"
        },
        {
            "label": "Kurs / Ausschüttung"
        },
        {
            "field": "currencyGross",
            "label": "Kurs Währung"
        },
        {
            "field": "exchangeRate",
            "format": "0.000,00",
            "label": "Devisenkurs"
        },
        {
            "label": "Kurswert"
        },
        {
            "field": "currency",
            "label": "Kurswert Währung"
        },
        {
            "field": "value",
            "format": "0.000,00",
            "label": "Endbetrag"
        },
        {
            "field": "currencyGross",
            "label": "Endbetrag Währung"
        },
        {
            "label": "Ausführungsplatz"
        },
        {
            "label": "Ausführungszeit"
        },
        {
            "label": "Buchungstag"
        },
        {
            "label": "Valuta"
        },
        {
            "label": "Verwahrart"
        },
        {
            "label": "Verwahrart Bezeichnung"
        },
        {
            "label": "Stückeart"
        },
        {
            "label": "Stückeart Bezeichnung"
        },
        {
            "label": "Sperre"
        },
        {
            "field": "note",
            "label": "Transaktionsnummer"
        },
        {
            "field": "fees",
            "format": "0.000,00",
            "label": "Kosten gesamt"
        },
        {
            "label": "Stückzinsen"
        }
    ],
    "isFirstLineHeader": true,
    "skipLines": 0,
    "label": "Kauf&Verkauf-Eur",
    "encoding": "UTF-8",
    "target": "account-transaction"
}

Fehlermeldung

image

Damit sollte alles da sein, um das mal nachzustellen.

Ich bin echt verzweifelt. Ich kann die ganzen Buchungen doch nicht manuell eingeben.

Bin gerne bereit was zu testen, oder Logs hochzuladen oder ähnliches. Ich wäre echt dankbar, wenn mir jemand helfen könnte.

Gruss
Ralf

Hallo @rak
ich habe mir das mal angeschaut und kann dir sicherlich helfen.

Test.txt (588 Bytes) ← rename in *.csv
csv-config-for-test.txt (1,4 KB) ← rename in *.json

grafik
grafik

Das Wertpapier wird dann in EUR angelegt.

Ich denke der Fehler liegt in deiner CSV Datei.
Wenn ein Wechselkurs vorhanden ist, dann muss auch ein Kurswert in dem Wechselkurs bzw. ein Bruttowert in der Fremdwährung angegeben werden. Dieser ist bei dir nicht vorhanden.
Wir schauen im CSV-Importer auf den Bruttowert, wenn er vorhanden ist, und legen das Wertpapier in dieser Währung an. Wenn dieser Wert nicht vorhanden oder unvollständig ist, dann wird das Wertpapier in der Buchungswährung angelegt.
Hier mal eine Korrektur deiner Spaltenzuordnung.
grafik

Als Hinweis, per PDF-Import geht natürlich auch. Sollten Dokumente nicht funktionieren, dann einen PDF-Debug erstellen und wir werden Ihn bearbeiten.
Wie das funktioniert, schaust du dir am besten im Video-Tutorial an.

Video-Tutorial:
PDF-Dokumente für die Fehlersuche extrahieren

Gruß
Alex

1 Like

Hallo,

danke für den Versuch zu helfen. Das Wertpapier ist schon in der Vergangenheit in der lokalen Währung (hier USD) angelegt worden. Etliche Buchungen (Kauf/Verkauf) sind schon gelaufen. Deshalb sollte die Dividende jetzt auch in der lokalen Währung eingetragen werden.

Ich verstehe deine Lösung so, dass das Papier in EUR angelegt wird. Das möchte ich nicht.

Ich lese die CSV von der Commerzbank jetzt in einem Python Script in ein Pandas Dataframe ein und ergänze die entsprechende fehlende Spalte:

        df_out['Kurswert']  = (df_out['Endbetrag'] / df_out['Devisenkurs']).round(4)

Das klappt auch soweit mit der folgenden Konfiguration, die ich nach deinem Input modifiziert habe.

Ausschüttung.txt (2,7 KB) → dateiname in Ausschüttung.json ändern

jj2.txt (594 Bytes) → dateiname in jj2.csv ändern

Damit klappt es mit einem USD Papier jetzt auch.

Jetzt hab ich nur ein weiteres Problem. Werden die Gesamtbeträge sehr klein, ergeben sich Rundungsfehler die PP nicht erlaubt und einen Fehler auswirft. Irgendwie passt das noch nicht.

Es ändert sich nichts, wenn man das berechnete Ergebnis nicht auf 4 Nachkommastellen rundet.

image

Gruss
Ralf

Hallo @rak
1.) Versuch mal bitte das Runden auf 8 Stellen nach dem Komma.
2.) Aus deinem *.cvs Beispiel, konnte ich nicht den Fehler reproduzieren.

Es hilf sehr viel, wenn man einen Testfall beschreibt und auch die Testfile anhängt. :nerd_face:
Also *.csv mit dem Fehlerfall und die Konfigurationsdatei.

Gruß
Alex