Du hast Bitcoin in Selbstverwahrung. Gut. Du kaufst über mehrere Broker. Noch besser. Und jetzt kommt das Finanzamt und fragt, welche Coins du wann gekauft hast, welche davon steuerfrei sind und wie hoch dein steuerpflichtiger Gewinn exakt ist.
Für genau dieses Problem gibt es das BTC Steuertool — ein Open-Source CLI-Tool das ich selbst für meine eigene Steuererklärung entwickelt habe. Es liest deine CSV-Exporte von BitBox, 21bitcoin, Bison, Swissquote, Strike und Pocket und berechnet daraus automatisch, was ans Finanzamt muss und was steuerfrei bleibt.
„Don't Trust, Verify — auch beim Steuerberater. Wenn du weißt wie die Berechnung funktioniert, bist du nicht ausgeliefert."
🛸 NEU: Die Web-Version — CSV reinziehen, Report bekommen
Kein Python, kein Terminal, keine Installation: Das Steuertool gibt es jetzt als Web-App. Du ziehst deine CSV-Exporte in den Browser, die App erkennt jeden Broker automatisch am Dateiformat und berechnet alle Steuerjahre auf einmal — Steuerreport, formaler Nachweis fürs Finanzamt und Excel-Exporte zum Download.
Und jetzt der Punkt, der sie von CoinTracking & Co. unterscheidet: Deine Dateien verlassen deinen Rechner nicht. Die komplette Berechnung läuft per WebAssembly lokal in deinem Browser — es gibt keinen Upload, keinen Account, kein Tracking. Der Server liefert nur die App aus und sieht deine Daten nie. Der Rechenkern ist derselbe quelloffene Code wie im CLI-Tool — jeder kann prüfen, dass das stimmt.
- Alle unterstützten Quellen: BitBox, 21bitcoin, Bison, Swissquote, Strike, Pocket, Bisq + manuelle Käufe/Verkäufe
- noKYC-Bestände strikt getrennt — wie im CLI-Tool
- 30 Tage Zugang, unbegrenzte Berechnungen, alle Updates inklusive
→ Demo kostenlos ausprobieren (mit fiktiven Beispieldaten)
→ Die Anleitung — Schritt für Schritt mit Screenshots
→ Zugang holen — 29 €, 30 Tage (wie funktioniert's?)
1. Die Grundlage: Was das deutsche Steuerrecht sagt
Bitcoin gilt in Deutschland als privates Veräußerungsgeschäft (§ 23 EStG). Die Regeln:
| Situation | Steuerlich |
|---|---|
| BTC weniger als 365 Tage gehalten, dann verkauft | Gewinn steuerpflichtig |
| BTC mehr als 365 Tage gehalten, dann verkauft | Gewinn steuerfrei |
| Übertrag zwischen eigenen Wallets/Konten | Kein steuerpflichtiger Vorgang |
| Gewinn unter 600 EUR/Jahr (bis 2023) | Freigrenze — kein Cent Steuer |
| Gewinn unter 1.000 EUR/Jahr (ab 2024) | Freigrenze — kein Cent Steuer |
Die Methode heißt FiFo — First In, First Out. Das bedeutet: was man zuerst kauft, verkauft man auch zuerst. Klingt simpel, wird aber schnell komplex wenn du bei fünf Brokern kaufst und deine BTC zwischen mehreren Wallets wandern.
Die Freigrenze ist eine Falle
Viele denken: „Ich bin unter 1.000 EUR, also irrelevant." Falsch. Die Freigrenze ist kein Freibetrag. Bei Überschreitung wird der gesamte steuerpflichtige Gewinn versteuert, nicht nur der Teil darüber. Ein Gewinn von 1.001 EUR ist damit vollständig steuerpflichtig — nicht nur der eine Euro.
2. Das Problem bei Selbstverwahrung
Steuer-Apps wie CoinTracking oder Blockpit funktionieren gut für Börsen die alles aufzeichnen. Für echte Selbstverwahrer mit Hardware-Wallets entstehen dabei Probleme:
- Du überträgst BTC von deiner BitBox zur Börse für einen Verkauf — das sieht wie ein Kauf aus.
- Du hast mehrere Wallets — die Kostenbasis wandert mit.
- Swissquote kauft in USD — der historische Wechselkurs muss korrekt eingerechnet werden.
- Du gibst deine kompletten Finanzdaten in eine Cloud-App ein — das widerspricht dem ganzen Sinn von Selbstverwahrung.
Das BTC Steuertool läuft lokal auf deinem Rechner. Keine Cloud, keine Registrierung, keine fremden Server. Deine Daten bleiben bei dir.
Ab hier: der Weg für Techniker (freies CLI-Tool)
Die folgenden Abschnitte 3–5 beschreiben das kostenlose CLI-Tool von GitHub —
für alle, die gern im Terminal arbeiten.
Nutzt du die Web-Version? Dann gibt es nichts zu
installieren. Kein Python, kein Download, kein Setup — Browser öffnen, CSVs
reinziehen, fertig. Spring direkt zu Abschnitt 6: Was du dem
Finanzamt gibst.
3. CLI-Tool installieren (einmalig — nur GitHub-Version)
Du brauchst Python 3 — auf Linux und macOS ist das bereits installiert. Auf Windows musst du es ggf. erst installieren (python.org).
Mac / Linux:
git clone https://github.com/Alien-Investor/btc-steuertool.git cd btc-steuertool python3 -m venv .venv .venv/bin/pip install -r requirements.txt
Windows:
git clone https://github.com/Alien-Investor/btc-steuertool.git cd btc-steuertool python -m venv .venv .venv\Scripts\pip install -r requirements.txt
Das war es. Keine Datenbank, kein Server, kein Abo.
4. Deine CSV-Dateien ablegen (CLI)
Exportiere deine CSV-Dateien aus den jeweiligen Apps und lege sie in die entsprechenden Ordner.
Die Ordner bitbox/ und Broker/ existieren nach dem Klonen noch nicht —
sie sind in .gitignore eingetragen damit deine Finanzdaten nie versehentlich auf GitHub landen.
Du musst sie einmalig selbst anlegen:
Mac / Linux:
mkdir -p bitbox Broker
Windows:
mkdir bitbox mkdir Broker
| Quelle | Ordner | Dateiname |
|---|---|---|
| BitBox (Hardware-Wallet) | bitbox/ |
beliebig, alle *.csv werden geladen |
| 21bitcoin | Broker/ |
muss mit 21bitcoin beginnen |
| Bison | Broker/ |
Bison-CSV-Gesamt.csv |
| Swissquote | Broker/ |
Swissquote_CSV-Gesamt.csv |
| Strike | Broker/ |
strike_2024.csv, strike_2025.csv usw. |
Broker/ |
muss mit Pocket beginnen |
|
| noKYC-Käufe (Bisq, Robosats, P2P, Bargeld) | Projektordner | manual_buys.csv — optional, selbst anlegen |
| Private Verkäufe (P2P ohne Broker) | Projektordner | manual_sales.csv — optional, selbst anlegen |
Deine Daten bleiben lokal
Die Ordner bitbox/ und Broker/ sowie die Dateien
manual_buys.csv und manual_sales.csv sind in der
.gitignore eingetragen — sie werden niemals versehentlich in Git
eingecheckt oder online gestellt. Deine Finanzdaten bleiben auf deinem Rechner.
noKYC-Käufe und private Verkäufe
Wer BTC ohne KYC-Broker kauft — über Bisq, Robosats, HodlHodl oder direkt von Person zu Person —
hat keine Broker-CSV. Dafür gibt es manual_buys.csv: eine einfache Textdatei
im Projektordner, in die du jeden Kauf mit Datum, BTC-Menge und EUR-Betrag einträgst.
date,btc_amount,eur_amount,note 2024-03-10,0.01000000,550.00,Bisq P2P Kauf 2024-07-22,0.00500000,280.00,Robosats Trade
Gleiches Prinzip für private Verkäufe ohne Broker: manual_sales.csv im gleichen Format.
Das Tool liest beide Dateien automatisch ein und verarbeitet sie wie jeden anderen Kauf oder Verkauf.
Zur Rechtslage: Du bist nicht verpflichtet, deinen vollständigen Wallet-Fingerprint offenzulegen. Solange die Anschaffungskosten korrekt angegeben sind und steuerpflichtige Gewinne vollständig gemeldet werden, ist das steuerrechtlich unbedenklich. Das Finanzamt hat keinen Anspruch auf deine komplette UTXO-Historie.
⚡ Update Juni 2026: Bisq-Direktimport + strikte noKYC-Trennung
Das Tool unterstützt jetzt den direkten Import der Bisq-Trade-History-CSV. Einfach den Export aus Bisq ("Portfolio → Verlauf → Exportieren") als bisq.csv in den Broker/-Ordner legen — das Tool erkennt alle abgeschlossenen Käufe automatisch.
- Bisq-Direktimport: Kein manuelles Abtippen mehr. Der Parser liest Preis, BTC-Menge, EUR-Betrag und Gebühren direkt aus dem Bisq-Export.
- Eigene noKYC-Datei: noKYC-Käufe tauchen in keinem Finanzamt-Dokument auf. Sie landen in einer separaten Datei
nokyc_intern_JAHR.txt— mit deutlichem Warnhinweis am Dateianfang, damit sie nie versehentlich mit eingereicht wird. - Getrennte FiFo-Pools: KYC- und noKYC-Bestände laufen in zwei strikt getrennten FiFo-Töpfen. Ein Broker-Verkauf kann einem Bisq-Kauf nie als Kostenbasis zugeordnet werden — der offizielle Nachweis bleibt garantiert in sich konsistent.
- noKYC-Wallets: Du führst eine dedizierte Wallet nur für noKYC-Sats? CSV in den Unterordner
bitbox/nokyc/legen — alle Bewegungen erscheinen ausschließlich im internen Report. - noKYC-Verkäufe:
manual_sales.csvhat jetzt eine optionale Spalteno_kyc. P2P-Verkäufe aus dem noKYC-Bestand werden intern mit FiFo-Zuordnung, Haltedauer und Gewinn berechnet — erscheinen aber nur in der internen Datei.
Außerdem: Die Haltefrist wird jetzt kalendergenau berechnet (Jahrestag statt starrer 365-Tage-Zählung) — korrekt auch über Schaltjahre.
Für Robosats, HodlHodl und andere P2P-Käufe ohne CSV-Export bleibt manual_buys.csv der richtige Weg — ebenfalls mit noKYC-Trennung.
Bisq ist aktuell die einzige noKYC-Plattform mit dediziertem Parser. Das Tool steht unter MIT-Lizenz — wer einen Importer für Robosats, HodlHodl oder andere Plattformen beisteuern möchte, ist herzlich willkommen.
5. Der erste Report (CLI)
Einen Report für ein bestimmtes Jahr ausgeben:
.venv/bin/python src/main.py --year 2024
Alle Jahre auf einmal:
.venv/bin/python src/main.py --all
Mit formalem Nachweis für den Steuerberater oder das Finanzamt:
.venv/bin/python src/main.py --year 2024 --csv --nachweis
Das Ergebnis landet in reports/: ein lesbarer Steuerreport, ein druckfertiger
formaler Nachweis und optional CSV-Tabellen für Excel.
6. Was du dem Finanzamt gibst (Web & CLI)
Der Nachweis allein reicht nicht. Das Finanzamt will wissen, dass die Kaufdaten echt sind. Deshalb immer zwei Teile einreichen:
- Den Steuernachweis — was das Tool erzeugt (
steuernachweis_JAHR.txt). - Die Original-CSVs der Broker — als Beleg dass die Käufe wirklich stattgefunden haben.
Das Tool zeigt im Nachweis unter "Quelle" genau welcher Broker welches Lot geliefert hat — damit kannst du jeden einzelnen Verkauf lückenlos zurückverfolgen.
7. Was das Tool nicht ist
Kein Steuerberater-Ersatz. Wenn du steuerpflichtige Gewinne hast, lass die Ergebnisse prüfen — besonders im ersten Jahr. Das Tool rechnet korrekt nach FiFo, aber du bist verantwortlich für die Richtigkeit deiner Eingaben.
Was es ist: ein Werkzeug das dich informiert und vorbereitet — statt dich blind auf eine Cloud-App vertrauen zu lassen die du nicht kontrollierst.
Zugang zur Web-Version
Die Web-Version kostet 29 € einmalig — dafür bekommst du einen persönlichen Zugangslink, 30 Tage gültig, mit unbegrenzten Berechnungen für alle deine Steuerjahre. Kommt während deiner Zugangszeit ein neuer Broker-Parser dazu, hast du ihn automatisch. Kein Abo, keine automatische Verlängerung.
So funktioniert es — wie bei allen Alien-Investor-Services:
- Zahlen: 29 € über die Service-Zahlungsseite — Bitcoin (Lightning oder On-Chain), Banküberweisung oder Karte via Ko-fi. In den Verwendungszweck bzw. die Notiz:
Steuertool Web-Zugang. - Bestell-Mail schicken: Über den Button unten — der Text ist vorbereitet, du ergänzt nur deinen Zahlungsweg.
- Zugang erhalten: Dein persönlicher Link kommt per Mail — in der Regel innerhalb von 24 Stunden.
⚡ 1. Jetzt zahlen — 29 € 📨 2. Bestell-Mail senden
Die Bestell-Mail enthält deine Zustimmung zur sofortigen Bereitstellung (dadurch erlischt das Widerrufsrecht mit Zusendung des Links — so verlangt es das Gesetz bei digitalen Inhalten). Alle Details: AGB, Widerrufsbelehrung & Datenschutz. Gemäß § 19 UStG wird keine Umsatzsteuer ausgewiesen.
Klartext: Das Tool ist eine reine Berechnungshilfe — keine Steuerberatung. Mein Support hilft dir bei Technik und Dateiformaten (fehlt dein Broker? Schick mir die CSV-Kopfzeile!), beantwortet aber keine individuellen Steuerfragen — das darf nur ein Steuerberater. Für die Richtigkeit deiner Steuererklärung bist du selbst verantwortlich.
Open Source auf GitHub & Codeberg
Der vollständige Code ist öffentlich, kostenlos und quelloffen. Du kannst nachvollziehen, wie jede Zeile der Berechnung funktioniert. Fiktive Beispieldaten für alle unterstützten Broker sind ebenfalls dabei — so kannst du das Tool testen bevor du deine echten Daten einliest.
github.com/Alien-Investor/btc-steuertool · 🔗 codeberg.org/Alien-Investor/btc-steuertool