julci 3. November Hallo zusammen, ich habe aus verschiedenen Gründe einen großen Teil meines ETF-Portfolios bei Interactive Brokers (ua da ich es als Sicherheit für Optionshandel und insbesondere Box Spreads nutze). Häufig habe ich hier im Forum und anderswo gelesen, dass die steuerliche Komplexität so hoch sei, dass sich das so nicht lohnt bei einem ausländischen Broker. Insbesondere die Vorabpauschalen seien schwierig zu berücksichtigen und insbesondere nachzuverfolgen. Diese Beiträge haben größtenteils Recht, es ist kompliziert und aufwendig. Ich habe auch kein Tool gefunden mit dem ein Tracking möglich ist, auch mit Excel bin ich daran gescheitert (es mag irgendwie gehen, ich bin aber kein Excel-Gott). Dennoch wollte ich nur so eine steuerliche Komplexität nicht als unüberwindbares Hindernis für meine Anlagestrategie akzeptieren, daher habe ich eine kleines Programm mit GUI geschrieben wo ich ETF-Aktivitäten (kann man einfach vom Broker oder PP übernehmen) und tatsächlich gezahlte Vorabpauschalen (kann man aus der eigenen Steuersoftware bekommen) über Jahre eintragen kann die dann bei Verkauf berücksichtigt werden können. Im Kern betrachtet das Tool jede einzelne "Charge" von Anteilen (also gleiches Anschaffungsdatum- und Kurs von im Depot vorhandenen Anteilen) und berechnet daraus jegliche Werte (mit FIFO-Prinzip). Das Speicherformat ist eine reine CSV-Datei. Tatsächlich habe ich nun bereits eine Steuererklärung mit Hilfe des Tools gemacht (mit Verkauf und Anrechnung einer Vorabpauschale) und tracke meine ETF-Bestände damit nun seit knapp 2 Jahren. Da ich das Gefühl habe, dass diese Fragestellungen auch ein paar weitere Leute betreffen möchte ich es hiermit teilen (ist komplett OpenSource, kein kommerzielles Interesse). Natürlich kann ich keinerlei Gewähr für die Richtigkeit der Berechnungen übernehmen und empfehle dringend die Werte genau zu prüfen. Ich freue mich über jedes Feedback, Fragen und Verbesserungsvorschläge. Ich weiß, es ist nicht besonders schön anzusehen, ich habe es rein auf Funktion ausgelegt und bin kein Designer. Ist auch meine erste GUI-Anwendung mit Python. Auf Github gibt es weitere Informationen, Bilder, eine Anleitung und das Programm kann runtergeladen werden (für Windows gibt es eine reine exe, für Linux empfehle ich aktuell eine Installation per pip): https://github.com/just1436/etf-steuernotizbuch/ Diesen Beitrag teilen Link zum Beitrag
chirlu 4. November Zitat Mit dem Button Vorabpauschale eintragen können für einzelne Kalenderjahre Vorabpauschalen eingetragen werden. Es sind die Werte für die Vorabpauschale einzutragen, nicht etwa der Wert der bezahlten Steuer darauf. Pro Kalenderjahr ist natürlich nur eine Vorabpauschale erlaubt. Ich finde es schon einmal beruhigend, dass dir der Unterschied zwischen der Vorabpauschale und der Steuer darauf bewusst ist. Die falsche Bezeichnung im Screenshot („gezahlte Vorabpauschalen“) hatte mich da schon Schlimmes befürchten lassen. Wie geht das Programm damit um, wenn sich die eingetragene Vorabpauschale auf mehrere Tranchen (bei dir „Chargen“) bezieht, die womöglich im Vorjahr in unterschiedlichen Monaten angeschafft worden sind? Und wie wird Teilfreistellung berücksichtigt? Diesen Beitrag teilen Link zum Beitrag
stagflation 4. November Von mir gibt es erst einmal dafür, dass Du eine Software geschrieben hast und auch dafür, dass Du sie als Open Source über GitHub verfügbar machst! Python ist eine gute Wahl für solche Projekte. Und matplotlib ist ein wunderbares Tool zum Zeichnen von Diagrammen. Ich werde mir das Programm in den nächsten Tagen anschauen. Diesen Beitrag teilen Link zum Beitrag
julci 4. November vor 6 Stunden von chirlu: Ich finde es schon einmal beruhigend, dass dir der Unterschied zwischen der Vorabpauschale und der Steuer darauf bewusst ist. Die falsche Bezeichnung im Screenshot („gezahlte Vorabpauschalen“) hatte mich da schon Schlimmes befürchten lassen. Wie geht das Programm damit um, wenn sich die eingetragene Vorabpauschale auf mehrere Tranchen (bei dir „Chargen“) bezieht, die womöglich im Vorjahr in unterschiedlichen Monaten angeschafft worden sind? Und wie wird Teilfreistellung berücksichtigt? Danke für die Rückmeldung, du hast Recht, "gezahlt" könnte irreführend sein. Ich wollte nicht "berechnet" schreiben, da das unversierte Nutzer dazu verführen könnte diese auf irgendwelchen Online-Rechnern zu berechnen (leider sind die meisten Online-Rechner zu ungenau, berücksichtigen zB nicht die unterjährige Anschaffung). Ich selbst nehme dazu den Wert der tatsächlich abgegebenen Steuererklärung aus WISO, dort ist der Wert nachvollziehbar akkurat. Werde es wohl zu "In früheren Steuererklärungen angegebene Vorabpauschalen" oder so ändern. Zu unterjähriger Anschaffung in verschiedenen Monaten: Tatsächlich ein wichtiger Punkt der die Situation nochmal deutlich komplizierter werden lässt als es sein müssten. Hier eine möglichst einfache Darstellung: - Ich berechne für jede Charge die Anzahl der angebrochenen gehaltenen Monate des Vorjahrs. - Dann multipliziere ich die Anzahl der Anteile der einzelnen Chargen mit dieser Monatszahl. - Dann nehme ich die Vorabpauschale des Jahres zu dessen Beginn diese angefallen ist und teile diese gemäß dem berechneten Produkt auf. Beispiel: - Charge 1 von 20 Anteilen das ganze Jahr gehalten (nicht im Vorjahr gekauft) -> 12 Monate * 20 Anteile = 240 MonatAnteile - Charge 2 von 10 Anteilen im Dezember gekauft -> 1 Monat * 10 Anteile = 10 MonateAnteile - Angenommen die Vorabpauschale ist 25€ gewesen - Dann wird 25€ / (240 MonateAnteile+10 MonateAnteile) = 0,1 (€/MonateAnteile) gerechnet um den Gewichtungsfaktor zu bekommen - Für Charge 1 folgt: 240 MonateAnteile * 0,1€/MonateAnteile = 24€ (Für diese Charge für dieses Jahr abziehbare Vorabpauschale) - Für Charge 2 folgt: 10 MonateAnteile * 0,1€/MonateAnteile = 1€ (Für diese Charge für dieses Jahr abziehbare Vorabpauschale) -> In Summe sind es wieder 25€ Hier der entsprechende Code-Ausschnitt (es ist etwas anders geschrieben, ist aber das selbe nur quasi "andersrum"). Die Funktion "gibAnzahlVorjahresmonateEinerVorabpauschale" addiert hierbei die Vorjahresmonate aller Positionen, die im Vorjahr oder früher angeschafft wurden. def gibSpezielleVorabpauschaleProAnteilEinerPosition(vorabpauschale, position): vorabpauschaleHoeheProVorjahresmonate = vorabpauschale.hoehe/gibAnzahlVorjahresmonateEinerVorabpauschale(vorabpauschale) vorabpauschaleHoeheProVorjahresmonateProAnteil = vorabpauschaleHoeheProVorjahresmonate / gibAnzahlAnteileZuDatum(vorabpauschale.datumFaelligkeit) if position.kaufdatumWert.tm_year < vorabpauschale.datumFaelligkeit.tm_year - 1: #nicht im Vorjahr gekauft? return vorabpauschaleHoeheProVorjahresmonateProAnteil * 12 * len(berechnePositionenZuDatum(vorabpauschale.datumFaelligkeit)) # Wert pro Vorjahresmonate * 1 Jahr * Anzahl der Positionen else: #im Vorjahr gekauft return vorabpauschaleHoeheProVorjahresmonateProAnteil * (13 - position.kaufdatumWert.tm_mon) * len(berechnePositionenZuDatum(vorabpauschale.datumFaelligkeit)) # Wert pro Vorjahresmonate * Monate gehalte * Anzahl der Positionen Ich muss leider sagen, dass in der Übersicht der Wert unten rechts (pro Anteil: ...) noch ein einfacher Durchschnittswert ist. Denke den werde ich rausnehmen da es verwirrend ist und evtl. fälschlicherweise darauf hindeutet, dass die aufwendige Berechnung nicht gemacht wird. Die Teilfreistellung wird an allen Punkten berücksichtigt an denen eine tatsächliche Steuerlast berechnet wird. Soweit ich es sehe ist die Teilfreistellung nur für diesen letzten Schritt relevant. Das ist eigentlich schon eine Zusatzfunktion, der Kern der Software ist eigentlich ja nur, den Gewinn pro verkaufter Charge zu ermitteln. Der Steuersatz wird dann ja durch das Finanzamt berechnet. Trotzdem fand ich es cool so eine Steuersimulation einzubauen da der Aufwand gering war. Ich fand immer diese Steuersimulation der Comdirect super um schon vor einem Verkauf steuerliche Auswirkungen sehen zu können. Auf den Screenshots in Github siehst du auch die beiden Punkte an denen sie berücksichtigt wird: Im "Jahressteuerbericht" und in der "Steuersimulation", jeweils im letzten Schritt. Die Höhe der Teilfreistellung wird bei der Anlage des WP festgelegt und dann immer im CSV gespeichert. Diese kann 0%, 15, 30%, 60% und 80% betragen. Diesen Beitrag teilen Link zum Beitrag
chirlu 5. November vor 20 Stunden von julci: Werde es wohl zu "In früheren Steuererklärungen angegebene Vorabpauschalen" oder so ändern. Der Gesetzgeber nennt es „angesetzte“ Vorabpauschalen, so in § 19 Abs. 1 S. 2 InvStG: Zitat Der Gewinn ist um die während der Besitzzeit angesetzten Vorabpauschalen zu vermindern. vor 20 Stunden von julci: - Ich berechne für jede Charge die Anzahl der angebrochenen gehaltenen Monate des Vorjahrs. - Dann multipliziere ich die Anzahl der Anteile der einzelnen Chargen mit dieser Monatszahl. - Dann nehme ich die Vorabpauschale des Jahres zu dessen Beginn diese angefallen ist und teile diese gemäß dem berechneten Produkt auf. Ja, das sollte einigermaßen sinnvolle Werte ergeben (ohne den Code jetzt näher angeschaut zu haben). vor 20 Stunden von julci: Die Teilfreistellung wird an allen Punkten berücksichtigt an denen eine tatsächliche Steuerlast berechnet wird. Soweit ich es sehe ist die Teilfreistellung nur für diesen letzten Schritt relevant. Es setzt voraus, dass der Benutzer die Vorabpauschalen auch „vor Teilfreistellung“ eingibt. Das könnte bei jemandem, der sie in der KAP-INV selbst berechnet, besser klappen als bei jemandem, der Werte aus der Abrechnung einer deutschen Bank übernimmt. Diesen Beitrag teilen Link zum Beitrag
Emitter 6. November · bearbeitet 6. November von Emitter Am 3.11.2025 um 23:25 von julci: Ich habe auch kein Tool gefunden mit dem ein Tracking möglich ist, auch mit Excel bin ich daran gescheitert (es mag irgendwie gehen, ich bin aber kein Excel-Gott). Ich habe ein rudimentäres Exceltool geschrieben, siehe Signatur. War aber eine andere Motivation, nicht Tracking, sondern um vorherzusehen, wie viel Cash man auf das Verrechnungskonto Anfang des Jahres packen muss. (Und um wie viel sich das Jahreseinkommen bei der Familienversicherung erhöht.) Diesen Beitrag teilen Link zum Beitrag
stagflation 7. November · bearbeitet 7. November von stagflation Das Berechnen der Vorabpauschalen geht recht gut mit einer Tabellenkalkulation. Eine gute Tabellenkalkulation, mit der man Tranchen tracken kann, habe ich aber noch nicht gesehen. Gibt es so etwas? Es ist vermutlich schwierig - und man bräuchte neben Formeln viel zusätzlichen Programm-Code. Insofern ist die Idee, ein Python-Programm zu schreiben, naheliegend. Aber auch hier stößt man auf ein Problem. Wenn man es richtig gut machen will, muss man erheblichen Aufwand in das Programm stecken. Meine Anlagestruktur ändert sich gelegentlich und auch die Auswertungen, die ich möchte. Ab und zu ändern sich auch die gesetzlichen Vorgaben oder die Art und Weise, wie Broker Vorabpauschalen abrechnen und die Steuern abführen. Wenn man ein Programm schreibt, wird man also häufig nachprogrammieren und nachtesten müssen. Dieser Aufwand ist mir zu hoch. Deshalb tracke ich die Chargen zurzeit händisch in LibreOffice Calc-Tabellen. Dass nervt zwar, ist aber (für mich) immer noch die schnellste und flexibelste Methode. Diesen Beitrag teilen Link zum Beitrag
julci 7. November vor 7 Stunden von stagflation: Eine gute Tabellenkalkulation, mit der man Tranchen tracken kann, habe ich aber noch nicht gesehen. Gibt es so etwas? Es ist vermutlich schwierig - und man bräuchte neben Formeln viel zusätzlichen Programm-Code. Theoretisch ist sowas wahrscheinlich mit inkludiertem VB-Code bei Excel oder so möglich. Ich kann sowas aber nicht. vor 7 Stunden von stagflation: Ab und zu ändern sich auch die gesetzlichen Vorgaben oder die Art und Weise, wie Broker Vorabpauschalen abrechnen und die Steuern abführen Ist das tatsächlich bisher seit der Einführung in 2018 passiert? Was wurde an der grundlegenden Methode geändert? Soweit ich weiß hat sich lediglich der Basiszinssatz wie vorgesehen geändert (zeitweise 0%). vor 7 Stunden von stagflation: Wenn man ein Programm schreibt, wird man also häufig nachprogrammieren und nachtesten müssen. Ich habe versucht das Programm möglichst offen und einfach zu halten. In den gespeicherten CSV-Dateien sind nur enthalten: - Metadaten des Fonds (Name, Broker, ISIN, % Teilfreistellung) - Transaktionsdaten - bereits angefallene Vorabpauschalen pro Jahr (Infos zu einzelnen Chargen werden hier nicht gespeichert da nicht erforderlich. Eventuell baue ich in Zukunft mal eine Exportfunktion für externe Verwendung) Alles (bis vielleicht auf die Höhe der Teilfreistellung) sollte sich auch in Zukunft nicht (rückwirkend) ändern. Transaktionsdaten sind fix, Vorabpauschalen versteuert und damit auf jeden Fall in Zukunft anrechenbar. Aus diesen Daten kann man nach heutiger Gesetzgebung alles steuerlich relevante berechnen und das tut mein Programm. Klar, es bezieht sich auf die heutige Gesetzgebung, bei einer neuen Gesetzgebung wäre es anzupassen. Aber die gespeicherten Dateien sind so jederzeit einfach in LibreOffice verwendbar (ich selbst nutze ansonsten außer PP auch LibreOffice für mein finanzielles Tracking). Das Programm hat übrigens gerade mal 900 Zeilen, davon nochmal viel GUI-Zeug. Denke man findet sich in dem Code schnell zurecht wenn mal eine Änderung erforderlich ist. Diesen Beitrag teilen Link zum Beitrag
Ooze6923 20. November Erstmal ein riesengroßes Dankeschön, dass du dieses Tool zur Verfügung stellst! Da ich programmiertechnisch so versiert bin wie unser Familienhund, ist dieses kleine Programm eine große Hilfe. Auch ich bin auf Grund von Optionsverkäufen und Box-Spreads seit ein paar Jahren bei IB und habe das "Problem" mit der Vorabpauschale bisher absolut stümperhaft durch den VanEck Dividend Leaders gelöst, was mich langfristig allerdings überhaupt nicht zufriedenstellt. Ich habe in der letzten Woche mit deinem Programm rumgespielt und werde ab Januar damit beginnen, jedes Quartal den All-World von Invesco zu kaufen und mit Hilfe deines Programm die Vorabpauschale zu tracken. Kleines Gedankenspiel meinerseits: Invesco hat ja vor einiger Zeit einen ETF-Split ihres S&P 500 Etfs im Verhältnis 100:1 bekanntgegeben. Siehst du vielleicht eine Möglichkeit, dies durch eine Funktion in deinem Tool ebenfalls zu berücksichtigen, sollte einer unserer ETF's davon in Zukunft betroffen sein? Diesen Beitrag teilen Link zum Beitrag
julci 24. November Am 20.11.2025 um 11:41 von Ooze6923: Ich habe in der letzten Woche mit deinem Programm rumgespielt und werde ab Januar damit beginnen, jedes Quartal den All-World von Invesco zu kaufen und mit Hilfe deines Programm die Vorabpauschale zu tracken. Super, es freut mich wenn es auch anderen hilft (und über Bug-Reports). Am 20.11.2025 um 11:41 von Ooze6923: Kleines Gedankenspiel meinerseits: Invesco hat ja vor einiger Zeit einen ETF-Split ihres S&P 500 Etfs im Verhältnis 100:1 bekanntgegeben. Siehst du vielleicht eine Möglichkeit, dies durch eine Funktion in deinem Tool ebenfalls zu berücksichtigen, sollte einer unserer ETF's davon in Zukunft betroffen sein? Guter Hinweis, es betraf auch meinen Amundi 2x World ETF den ich da zum Glück bei einem deutschen Broker gehalten habe. Es ist kein einfaches Feature da sich vergangene Preise und Vorabpauschalen plötzlich auf andere Stückzahlen beziehen. Da es ziemlich sicher irgendwann wichtig wird, werde ich es wohl umsetzen müssen, wahrscheinlich mache ich es dann so, dass einmalig und rückwirkend alles umgerechnet wird (unumkehrbare Aktion). Ich glaube bei der Steuererklärung rechnet man dann auch immer in neuen Anteilen (wenn nicht bitte korrigieren). Also wird ein Kauf von (fiktiv) 500 statt (tatsächlich) 5 Anteilen zum Kurs von 1/100stel des tatsächlichen Kaufpreises in die Steuererklärung eingetragen. Werde also alle Transaktionspreise vor dem Split-Stichtag durch den Split-Faktor teilen und Mengen mit dem Faktor multiplizieren. Sobald es eine neue Version gibt werde ich das hier schreiben, kann ein paar Wochen dauern. Diesen Beitrag teilen Link zum Beitrag