Schweizer Steuerauszug selbst erstellen: Excel, Open-Source-CLI oder Browser-Tool?
Wer sein Depot bei DEGIRO, Interactive Brokers, Trading 212 oder Saxo hat, kennt das Problem: keine dieser Broker stellt einen Schweizer eSteuerauszug aus. Du bekommst CSVs, PDFs in Englisch, Beträge in EUR oder USD — und keinen Barcode, den dein kantonales Steuerprogramm mit einem Klick einliest. Den eCH-0196-konformen Steuerauszug musst du selbst erzeugen.
In der Schweizer DIY-Community haben sich dafür drei Wege etabliert. Hier der ehrliche Vergleich.
Weg 1: Manuell mit Excel und ICTax-Lookup
Der Klassiker. Du exportierst aus deinem Broker die Transaktionsliste und den Dividendenreport, baust dir in Excel ein Wertschriftenverzeichnis nach kantonaler Vorlage und schlägst pro ISIN den Steuerwert per 31.12. und den steuerbaren Ertrag bei ictax.admin.ch nach.
Was du brauchst:
- Excel oder LibreOffice
- die ICTax-Webseite
- einen freien Abend pro Steuerjahr
Wo es kippt:
- bei mehr als ~15 Positionen wird das fehleranfällig (FX-Kurse am Auszahlungstag pro Dividende, Quellensteuer pro Land, Verrechnungssteuer auf CH-Werte)
- bei thesaurierenden ETFs musst du den Anteilsbestand am Record-Date manuell rekonstruieren (siehe unser Beitrag zum Record-Date)
- DA-1-Berechnung muss separat in der Steuerprogramm-Maske erfasst werden
- du bekommst keinen Barcode — das kantonale Steuerprogramm muss alles abtippen oder du importierst Position für Position manuell
Wofür gut: Wenn du nur 2–3 Positionen hältst und gerne selbst Kontrolle behältst. Auch als Lernübung sehr empfehlenswert — danach versteht man, was die Schweizer Steuerlogik eigentlich verlangt.
Weg 2: Open-Source-CLI (opensteuerauszug)
Das Open-Source-Projekt opensteuerauszug ist ein Python-Kommandozeilen-Tool, das aus Broker-Exporten ein eCH-0196-PDF inklusive Barcode erzeugt. Voll unterstützt sind Interactive Brokers, Charles Schwab und Fidelity; DEGIRO ist als experimentell markiert.
Was du brauchst:
- Terminal-Kenntnisse (Linux, macOS oder Windows Subsystem for Linux)
- Python und das Tool
uvfür die Installation - eine
config.toml, die du selber anlegst und editierst - die ICTax-Kursliste, die du separat per Befehl herunterlädst
- bei DEGIRO: zwei spezifisch benannte CSV-Dateien in einem Verzeichnis
Was es leistet:
- echter eCH-0196-Output mit Barcode
- Kursliste-Pipeline mit direktem ESTV-Bezug
- Verifikations-Modus gegen existierende Steuerauszüge
- aktiv gepflegt, Code offen einsehbar
Wo es kippt:
- die DEGIRO-Unterstützung ist nicht produktiv freigegeben; einzelne bekannte Themen wie Cash-Balance-Akkumulation sind dokumentierte offene Issues
- ohne CLI-Erfahrung ist die Einstiegshürde hoch
- kein dediziertes DA-1-Feature; Quellensteuer wird gemappt, aber nicht als separate DA-1-Sektion ausgegeben
- keine grafische Oberfläche, keine Web-Variante
Wofür gut: Wenn du IBKR oder Schwab nutzt, technisch versiert bist und Wert auf vollständige lokale Kontrolle plus Code-Transparenz legst. Open Source ist und bleibt der robusteste Trust-Anker.
Weg 3: Browser-basiertes Tool (esteuer-broker)
esteuer-broker ist eine Web-App, die genau diesen Workflow ohne lokale Installation abbildet. Aktueller Fokus ist DEGIRO, weitere Broker sind in der Pipeline.
Was du brauchst:
- einen Browser
- aus deinem DEGIRO-Konto: die Jahresübersicht als PDF und die Kontobewegungen als CSV
- ein Login (Google SSO oder E-Mail)
Was es leistet:
- vollständiger Workflow im Browser: Upload → Vorschau → Download
- die ICTax-Kursliste ist serverseitig integriert, du musst nichts herunterladen oder pflegen
- automatische Reconciliation zwischen Broker-Daten und ICTax-Werten mit Warnungen bei Abweichungen
- dedizierte DA-1-Sektion mit Treaty-Rates pro Land
- finaler Output: eCH-0196-konformes PDF mit Barcode, importierbar in eTax ZH, ZHprivateTax, BalTax, GeTax und andere kantonale Tools
- Verarbeitung mehrerer Record-Dates pro thesaurierendem ETF automatisch
Wo es kippt:
- aktuell nur DEGIRO vollständig unterstützt — wer IBKR oder Schwab nutzt, ist bei Weg 2 besser aufgehoben
- proprietäre Hosting-Lösung; kein lokal-only-Modus
- in der Beta-Phase: einzelne Edge-Cases können noch zu Warnungen führen, die manuell geprüft werden müssen
Wofür gut: Wenn du keine Lust auf Terminal-Setup hast, dein Depot bei DEGIRO ist und du einen Steuerauszug in 10 Minuten statt 2 Stunden willst.
Direkter Vergleich
| Excel | opensteuerauszug | esteuer-broker | |
|---|---|---|---|
| Setup | Excel auf | uv tool install + config.toml |
Browser, Login |
| Broker-Fokus | alle | IBKR, Schwab, Fidelity, DEGIRO experimentell | DEGIRO |
| eCH-0196 mit Barcode | nein | ja | ja |
| ICTax-Lookup | manuell | automatisch nach Setup | automatisch, kein Setup |
| DA-1 | manuell | nicht dediziert | dediziert mit Treaty-Rates |
| Akkumulierende ETFs | manuell pro Record-Date | implizit über Kursliste | automatisch pro Record-Date |
| Reconciliation Broker vs. ICTax | nein | implizit | explizit, mit Warnungen |
| Code-Transparenz | n/a | Open Source | proprietär (Hosted) |
| Aufwand pro Steuerjahr | mehrere Stunden | 30–60 min (nach Setup) | ~10 min |
Welcher Weg passt zu wem
Die ehrliche Empfehlung:
- Excel, wenn du wenige Positionen hast, gerne kontrollierst und einmalig pro Jahr drei Stunden investieren willst — oder die Schweizer Steuerlogik wirklich verstehen möchtest.
- opensteuerauszug, wenn du IBKR oder Schwab nutzt, mit dem Terminal arbeitest und Code-Transparenz wichtig ist. Für DEGIRO derzeit noch nicht der produktive Weg, aber das kann sich ändern.
- esteuer-broker, wenn du bei DEGIRO bist, keine Lust auf Setup hast und einen produktiven 1-Klick-Workflow willst — inklusive Vorab-Warnungen, falls deine Daten Auffälligkeiten enthalten.
Drei Wege, ein Ziel: ein Schweizer Steuerausweis, den dein kantonales Steuerprogramm akzeptiert und der bei einer Prüfung Bestand hat. Welcher der richtige für dich ist, hängt am Ende vor allem von deinem Broker und deiner Komfortzone mit der Kommandozeile ab.
Du bist DeGiro-Anleger und willst es selbst ausprobieren? Während der Beta ist esteuer-broker kostenlos. Hier zur Anmeldung.