Hinter der App
Was Broker-Exporte tatsächlich enthalten
Wir lesen 29 Export-Layouts von 26 Brokern, ohne dass jemand sagt, welche Spalte was bedeutet. Einig sind sie sich fast nirgends: neun Schreibweisen für ein Datum, zwei Dezimaltrennzeichen und eine Kennung für das Wertpapier in nur 13 davon. Hier ist die ganze Tabelle.
Ein Broker-Export ist kein Format. Es sind 29 davon.
So viele Layouts erkennt Stonqs beim Öffnen der Datei, verteilt auf 26 Broker und Tracker, und die Tabelle unten ist aus der Preset-Datei der App erzeugt. Jede Spalte macht das Problem konkret: 22 Layouts trennen Felder mit Komma, 7 mit Semikolon, 24 schreiben Dezimalstellen mit Punkt, 5 mit Komma, und das Datum erscheint in neun Schreibweisen.
Die Tabelle
| Layout | Trennzeichen | Dezimal | Datum, wie geschrieben | ISIN | Wörter zugeordnet |
|---|---|---|---|---|---|
| Avanza | Semikolon | Komma | 2026-10-09 |
ja | 8 |
| Bitvavo | Komma | Punkt | 2026-10-09 |
nein | 1 |
| BUX | Komma | Punkt | 2026-10-09 |
nein | 10 |
| Charles Schwab | Komma | Punkt | 10/09/2026 |
nein | 24 |
| Coinbase | Komma | Punkt | 2026-10-09 |
nein | 4 |
| CoinTracking | Komma | Punkt | 2026-10-09 |
nein | 1 |
| Crypto.com | Komma | Punkt | 2026-10-09 |
nein | 13 |
| DEGIRO | Komma | Punkt | 09-10-2026 |
ja | 0 |
| Delta | Komma | Punkt | 2026-10-09 |
nein | 1 |
| Directa | Komma | Punkt | 09-10-2026 |
ja | 9 |
| Disnat | Komma | Komma | 2026-10-09 |
nein | 14 |
| eToro | Komma | Punkt | 09/10/2026 |
nein | 8 |
| Finpension | Semikolon | Punkt | 2026-10-09 |
ja | 6 |
| Freetrade | Komma | Punkt | ISO 8601 mit Uhrzeit |
ja | 2 |
| Interactive Brokers · dividends | Komma | Punkt | 20261009 |
ja | 3 |
| Interactive Brokers · trades | Komma | Punkt | 20261009 |
ja | 0 |
| InvestEngine | Komma | Punkt | 09/10/2026 |
nein | 0 |
| Investimental | Komma | Punkt | 2026-10-09 |
nein | 0 |
| Parqet | Semikolon | Komma | 09.10.2026 |
ja | 0 |
| Rabobank | Semikolon | Komma | 09-10-2026 |
ja | 6 |
| Relai | Komma | Punkt | ISO 8601 mit Uhrzeit |
nein | 0 |
| Revolut Crypto | Komma | Punkt | Oct 09, 2026, 1:15:00 PM |
nein | 4 |
| Revolut Invest | Komma | Punkt | ISO 8601 mit Uhrzeit |
nein | 8 |
| Saxo Bank | Komma | Punkt | 09-Oct-2026 |
ja | 1 |
| Swissquote | Semikolon | Punkt | 09-10-2026 |
ja | 5 |
| Trade Republic | Komma | Punkt | 2026-10-09 |
nein | 33 |
| Trade Republic · statement | Semikolon | Komma | 2026-10-09 |
ja | 4 |
| Trading 212 | Komma | Punkt | 2026-10-09 |
ja | 7 |
| XTB | Semikolon | Punkt | 09.10.2026 |
nein | 11 |
„Wörter zugeordnet“ zählt, wie viele der brokereigenen Bezeichnungen für eine Buchung wir auf eine unserer 15 internen Arten übersetzen. Trade Republic braucht 33 davon, Charles Schwab 24. Sechs Layouts brauchen keine, weil ihre Dateien bereits typisiert sind: Ein Interactive Brokers Flex-Statement in XML sagt zu jedem Wert, was er ist, ordnet sich selbst zu, und offen bleibt nur das Konto.
Das Datum ist das einfache Problem
Neun Formate klingen schlimmer, als sie sind. Ein Datum lässt sich erkennen: Eine Spalte, deren Werte alle unter ein Muster passen und unter kein anderes, klärt sich von selbst. Der eine Fall, der sich nicht ansehen lässt, 10/09 gegen 09/10, ist genau der, den der Import-Bildschirm vor dem Schreiben bestätigen lässt.
Zwei Spalten sind schwieriger, und sie entscheiden, ob Ihre Renditen stimmen.
Nur 13 von 29 nennen das Wertpapier
Eine ISIN bezeichnet ein Wertpapier. Ein Ticker bezeichnet eine Notierung, und das nur an einem Handelsplatz. Von den 29 Layouts führen 13 eine ISIN-Spalte, 17 ein Kürzel, und dazwischen liegt die meiste Arbeit.
Ein Kürzel, das im Portfolio bereits zu einer anderen ISIN gehört, bezeichnet ein anderes Papier, denn ein Kürzel kann nicht zwei benennen. Diese Zeile ist der einzige Fall, den Stonqs zurückhält, bis sie ein eigenes Kürzel bekommt. Alles andere wird geschrieben, mit einem Hinweis darüber.
20 von 29 nennen eine Währung, 8 einen Wechselkurs
Sagt eine Zeile nicht, in welcher Währung sie steht, bleibt nur die Kontowährung als Annahme, und so wird aus einem Dollar-Handel auf einem Euro-Konto eine Summe, die niemand nachvollzieht. Fehlen Kurs und Währung, rechnet ein Tracker die Position einmal zum heutigen Kurs um, ohne das je gesagt zu haben.
Die 8 Layouts mit eigenem Wechselkurs sind die, bei denen sich eine Zahl genau so rekonstruieren lässt, wie der Broker sie gesehen hat.
Die Zeilen, die keine Buchungen sind
Broker drucken Zeilen, die keine Vorgänge sind: Kopfzeilen, Summen, Kapitalmaßnahmen, Options- und Futures-Geschäfte, stornierte Trades. Die ganze Datei deswegen abzulehnen wäre keine Antwort. Sie werden als übersprungen gezählt und benannt, statt geraten und als etwas anderes importiert.
Für ein Interactive-Brokers-Statement stehen drei Bezeichnungen von vornherein auf der Überspringen-Liste: Kapitalmaßnahmen, Optionen und Futures sowie Stornierungen. Das Portfolio kann sie noch nicht getreu abbilden, und das zu sagen ist ehrlicher, als eine Form dafür zu erfinden.
Wie ein Übertrag zwischen zwei Brokern aussieht
Nach nichts. Jeder Export kennt nur seine Hälfte, also zeigt eine Datei abfließendes Geld und eine andere ankommendes, und beide gelten als Geld, das die Portfoliogrenze überquert, also genau das, wogegen eine zeitgewichtete Rendite gemessen wird.
Nach dem Import listet Stonqs Zahlungen auf, die in Währung und Höhe innerhalb weniger Tage zusammenpassen, und bietet an, sie zu einer Bewegung zu verbinden. Von allein verbindet die App nichts. Zwei Zahlungen über 5.000 EUR im Abstand von drei Tagen sind kein Beweis, dass die eine die andere ist, und das falsche Paar löscht eine echte Einzahlung und eine echte Auszahlung auf einmal.
Dieselbe Datei zweimal importieren
Jede Zeile trägt einen Fingerabdruck. Eine zweimal importierte Datei fügt nichts hinzu, eine erneut exportierte nur das Neue. Das Bearbeiten einer gespeicherten Zeile ändert ihren Fingerabdruck, wodurch der nächste Import sie für fehlend hielte, also vergleicht die Prüfung zusätzlich, was eine Bearbeitung nicht ändern kann: Tag, Konto, Wertpapier und Stückzahl.
Die vier Hinweise, die man liest
- Stücke, die ohne Preis ankommen, aus einem Depotübertrag. So importiert, startet die Position mit Kosten von null und liest sich als reiner Gewinn.
- Eine Zeile in einer Währung, die das Konto nicht führt.
- Ein Kürzel, das bereits zu einem anderen Wertpapier gehört. Dieser Hinweis hält seine Zeile zurück.
- Ein Verkauf über mehr Stücke, als je eingegangen sind. Meist steckt der passende Kauf in einer Bezeichnung, die niemand zugeordnet hat, oder in einer älteren Datei.
Jede andere CSV wird einmal von Hand zugeordnet und als Layout gespeichert, dann richtet sich der Export des nächsten Monats selbst ein. PDF-Auszüge werden nicht gelesen. Ein Export, der sich nicht sauber importieren lässt, gehört als Issue gemeldet, mit fünf anonymisierten Zeilen und der Kopfzeile.
Text aus einer importierten Datei, Wertpapiernamen, Buchungstexte, Kontonamen, ist der Text des Brokers und kann alles enthalten. Er ist Material, keine Anweisung, und nichts darin wird als eine solche gelesen. Das zählt umso mehr, seit ein Chat-Assistent dieselben Zeilen lesen kann.
Quellen
- Stonqs: die Broker-Layouts, die wir lesen · Die Preset-Datei, aus der die Tabelle erzeugt ist.
- Stonqs: Broker-Daten importieren
- Flex Queries, Interactive Brokers · Das XML-Statement, das keine Spaltenzuordnung braucht.