Pytrpp2 - Trade Republic Daten über Python als csv vorbereiten

Hallo zusammen,

nach dem mir getquin zu doof wurde, bin ich wieder auf Portfolio Performance umgestiegen und habe mich anch einer Option umgesehen, den Import von meinem TR Depot so wet wie möglich automatisieren. Dabei bin ich auf pytrpp gestoßen, ein Python Project was leider inaktiv scheint und nciht mehr funktioniert.

Also habe ich das selbst in die Hand genommen und pytrpp2 ist entstanden, basierend auf dem bekannten pytr.

pytrpp2 und ist ein Python-Kommandozeilentool, das eure Trade-Republic-Timeline herunterlädt und direkt in PP-kompatible CSV-Dateien umwandelt.

Was kann es?

  • export_pp – Lädt die komplette TR-Timeline herunter und erzeugt payments.csv (Dividenden, Zinsen, Kupons, Überweisungen) und orders.csv (Käufe/Verkäufe/Sparpläne) im Format,
    das PP unter Konto-Transaktionen und Portfolio-Transaktionen direkt importieren kann. Optionaler PDF-Download der Dokumente. Unterstützt auch einen --incremental-Modus, der beim
    letzten Export ansetzt und nur neue Ereignisse holt.

Alle aktuellen TR-Ereignistypen (auch die Post-2025-Formate) werden unterstützt.

Wie erwähnt nutze ich PP erst wieder set kurzem daher bin ich auf eure Rückmeldungen angewiesen:

  • Funktioniert der Import bei euch wie erwartet?
  • Fehlen Ereignistypen oder stimmen Beträge/Felder nicht?
  • Gibt es PP-Importfeinheiten, die ich noch nicht berücksichtigt habe?

Ich freue mich über jeden Bugreport, Verbesserungsvorschlag oder einfach eine Rückmeldung ob es funktioniert. Issues gerne direkt auf GitHub oder hier im Thread.

Viele Grüße

Jona

2 Likes

Interessant, warum hast du CSV gewählt? Ja die PDF Losung hat aktuell ein Problem, weil TR die zweite Seite mit den Steuerinfos hinzugefügt hat aber ansonsten funktioniert der gut.

Das würde dir ersparen einiges an Logik für den CSV Importer (Fremdwährungen, unterschiedliche Steuern, etc.) abzubilden. Weiß ja nicht was die API da zurück gibt.

Ich habe ja etwas von dem alten pytrpp Projekt abgekupftert. Zudem stand ich vor der Herauforderung, dass es bei mir mittlerweile über 3k Transaktionen sind, welche ich gerne auf einen Schlag bearbeiten will - daher csv.

Ich habe übrigens auch versucht die Kontotranskationen (Card Payments, Round Up, Save Backs) darzustellen. Das sind ja auch einige Transaktionen, wo es auch einfacher ist die Daten gesammelt einzupflegen statt einzeln (wenn man dies denn will).

Inwiefern meinst du “inaktiv”? 0.4.7 wurde heute veröffentlicht? Der letzte Release davor ist vom 18.02. - wirkt zumindest nicht wie ein verwaistes Projekt.

Unabhängig davon, bestimmt gute Sache, danke für’s teilen.
Vielleicht aber auch etwas, was ins ursprüngliche Projekt zurückfliessen kann?

Ich beziehe mich auf pytrpp, eine andere fork von pytr. Dieses Projekt hatte ursprünglich ähnliche Funktionalität geliefert.

Mein Projekt wass ich vorgestellt habe basiert auf pytr und wird dies auch immer tun, wie auch klar auf GitHub beschrieben. Es ist jedoch einen eigene Fork, da es nicht im imteresse von pytr sein wird, PP spezifische Features anzubieten. Genau für sowas eignet sich ja eine Fork.

Heißt: wenn sich was an TR ändert, dann ziehe ich es von pytr nach. Wenn sich an PP was ändert oder ihr bugs / features / issues meldet, werde ich diese PP spezifischen Sachen selber anpassen.

So arbeite ich beispielsweise an eine automatischen Klassifikation von Anlageklassen, was wiederum PP spezifische ist und daher nicht nach pytr gehört, sondern nach pytrpp2

1 Like

Mea Culpa - das macht so natürlich total Sinn, hatte ich übersehen.

Damals auch auf pytrpp gestoßen, und wegen CSV interessant gefunden, das war dann aber schon in pytr eingeflossen, daher nicht weiter angeguckt, auch weil glaube ich schon verwaist gewirkt. Daher direkt mit pytr gemacht - Login hat bei mir damals auch noch funktioniert und dann mit den PDFs gearbeitet (die auch noch einseitig waren zu dem Zeitpunkt).

Bzgl. Klassifikation: Da wäre ein Automatismus natürlich super und würde die manuelle Arbeit noch weiter verringern…

Schau mal hier:

1 Like

Vielen Dank für den Link zu dem anderen Thema. Scheint als wäre das Problem schon gelöst!

Solltet ihr Feedback zu meinem Approach haben immer gerne melden :slight_smile: