⬅ Zurück zur Zentrale

Bitcoin-Steuer selbst berechnen: FiFo, Haltefrist & das Open-Source Tool fürs Finanzamt 🧾

von Alien Investor

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."

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:

Das BTC Steuertool läuft lokal auf deinem Rechner. Keine Cloud, keine Registrierung, keine fremden Server. Deine Daten bleiben bei dir.

3. Installation (einmalig)

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

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.
Pocket 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.

5. Der erste Report

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

Der Nachweis allein reicht nicht. Das Finanzamt will wissen, dass die Kaufdaten echt sind. Deshalb immer zwei Teile einreichen:

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.

📦 Open Source auf GitHub

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

🧰 Tools für echte Eigentümer

Tools, die ich selbst nutze – für Bitcoin-Selbstverwahrung und digitale Souveränität:

Hinweis: Bei einigen Links handelt es sich um Affiliate-Links. Wenn du sie nutzt, unterstützt du meine Arbeit, ohne dass es dich mehr kostet. Danke! 👽

0 (Lokal)

🔋 Energie aufladen (Spenden)

Treibstoff für das Mutterschiff senden

Danke für deine Unterstützung – für freie Inhalte, Finanzsouveränität und den außerirdischen Widerstand! 👽🛸