Vom CSV-Export zum Finanzamt-Report: Die komplette Berechnung läuft lokal auf deinem Gerät. Kein Upload, kein Account, kein Tracking.
Nur deine CSV-Exporte. Einmal pro Jahr herunterladen reicht:
Käufe ohne CSV (Robosats, Bargeld, P2P) oder bei Brokern ohne eigenen Parser trägst du in eine manual_buys.csv ein (siehe Fragen unten).
Ziehe alle CSV-Dateien gleichzeitig in die gestrichelte Zone, oder klicke darauf und wähle sie aus. Ein ZIP mit CSVs geht auch. Reihenfolge und Dateinamen sind egal: Die App erkennt jeden Broker am Inhalt der Datei.
Die Tabelle zeigt jede Datei mit dem erkannten Typ. Orange markierte Einträge sind noKYC-Quellen, sie bleiben strikt vom Finanzamt-Report getrennt.
Der eine Handgriff: Eine BitBox-CSV verrät nicht, ob die Wallet KYC- oder noKYC-Coins enthält. Führst du eine eigene noKYC-Wallet, stelle sie im Auswahlfeld auf „BitBox-Wallet (noKYC)“. Sonst erscheint sie im Finanzamt-Report.
Wird eine Datei nicht erkannt, bleibt die Berechnung gesperrt, bis du den Typ selbst wählst oder die Datei auf „Ignorieren“ stellst. So entsteht nie unbemerkt ein unvollständiger Report.
Ein Klick auf „Report berechnen“. Beim Start lädt die App ihren Rechenkern (Python); das dauert einen Moment, danach geht es schnell. Das System-Log zeigt jede Datei und jede Transaktion.
Pro Steuerjahr gibt es mehrere Dokumente, umschaltbar über die Tabs:
Auch Gewinne aus noKYC-Verkäufen sind steuerpflichtig und gehören in die Steuererklärung. Die Trennung dient deiner Privatsphäre und einer sauberen Buchführung, nicht dem Verschweigen.
Mit den Knöpfen unter der Report-Ansicht speicherst du das angezeigte Dokument einzeln oder alle Dokumente als ZIP. Interne Dateien liegen im ZIP im Ordner INTERN-NICHT-WEITERGEBEN.
Fürs Finanzamt zählen der Steuernachweis (steuernachweis_JAHR.txt) und die Original-CSVs deiner Broker als Beleg. Der Nachweis zeigt unter „Quelle“, welcher Broker welches Lot geliefert hat.
Käufe in CHF oder USD (Swissquote, Pocket)?
Die App rechnet sie mit dem EZB-Referenzkurs des Kauftags in EUR um (Wochenende/Feiertag: letzter Kurs davor). Die Kurstabelle liegt in der App, es wird kein Kursdienst angefragt. Liegt ein Kauf nach dem Datenstand der Tabelle, bricht die App mit einer Erklärung ab, statt einen alten Kurs zu nehmen.
Mehrere Wallets und Konten?
Die App rechnet FiFo je Wallet (BMF-Schreiben vom 06.03.2025, Rn. 62) und behandelt dabei auch jedes Börsenkonto als eigene Wallet: Jede BitBox-Wallet und jedes Konto ist ein eigener Bestand. Bei einem Übertrag zwischen deinen Wallets gibt die abgebende Wallet ihre ältesten Einheiten ab; Kaufdatum und Einstand wandern mit in die empfangende Wallet. Überträge erkennt die App an der Transaktions-ID, sonst an Betrag und Zeitpunkt (48 Stunden). Ein Abgang ohne passenden Eingang gilt als Übertrag in eine nicht eingelesene eigene Wallet und wird im Log gemeldet, nie still als Verkauf gebucht. Lade deshalb die Exporte aller Wallets. Sonderfälle wie eine Sammelauszahlung löst die optionale Datei transfer_zuordnung.csv (Format im Repository, docs/DATENFORMATE.md). In den Finanzamt-Dokumenten heißt deine Wallet nur „BitBox-Wallet“, bei mehreren „BitBox-Wallet 1“, „BitBox-Wallet 2“ und so weiter; die echten Namen stehen allein in der internen Datei „Wallet-Abgleich“.
Überträge zwischen meinen Wallets und ihre Gebühren?
Der übertragene Bestand bleibt steuerneutral und behält sein Kaufdatum (siehe „Mehrere Wallets“). Die Netzwerk- oder Auszahlungsgebühr in Bitcoin bucht die App als kleine Veräußerung des Gebührenanteils: Die Gebühr ist ein Tausch gegen eine Dienstleistung (abgeleitet aus dem BMF-Schreiben vom 06.03.2025, Rn. 33, 54, 60). FiFo-Zuordnung, Bewertung zum Tagesschlusskurs (Rn. 91), eigener Abschnitt „GEBÜHREN IN BITCOIN“ im Report.
Bitcoin verschenkt oder gespendet?
Trag in der BitBoxApp vor dem Export ein Wort wie „Spende“, „Geschenk“ oder „Schenkung“ in die Notiz der Transaktion ein. Die App bucht die Zeile dann als unentgeltliche Übertragung: kein Verkauf, kein Gewinn, aber ein Abgang aus dem Bestand. Der Report nennt je Lot Kaufdatum und Einstand, weil dem Empfänger die Anschaffung zugerechnet wird (§ 23 Abs. 1 Satz 3 EStG). Eine dabei gezahlte Netzwerkgebühr bleibt eine kleine Veräußerung (siehe oben). Notizen mit „Gutschein“ oder „Gift Card“ und verneinte Formen wie „kein Geschenk“ wertet die App nicht als Schenkung.
Mein Broker fehlt?
Käufe in manual_buys.csv eintragen (date,btc_amount,eur_amount,note,kyc,wallet; bei KYC-Brokern wie Coinbase die Spalte kyc auf ja; wallet optional: die eigene Wallet, an die geliefert wurde). Und die CSV-Kopfzeile ohne echte Daten an kontakt@alien-investor.org schicken. Neue Parser kommen mit einem Update.
Erst mal ausprobieren?
„Mit Beispieldaten testen“ lädt fiktive Daten für alle unterstützten Broker. Oder die Beispieldaten als ZIP speichern und selbst in die Zone ziehen.
Keine Steuerberatung. Das Tool ist eine reine Berechnungshilfe für private Veräußerungsgeschäfte (§ 23 EStG) nach der FiFo-Methode, walletbezogen (BMF-Schreiben vom 06.03.2025, Rn. 61 f.). Für deine Steuererklärung bist du selbst verantwortlich. Bei komplexen Fällen (Mining, Staking, Lending, gewerblicher Handel) einen Steuerberater fragen.
Ausführliche Anleitung mit Bildern: alien-investor.org/steuertool-guide.html
From CSV export to tax office report: the entire calculation runs locally on your device. No upload, no account, no tracking.
Just your CSV exports. Downloading once a year is enough:
Purchases without a CSV (Robosats, cash, P2P) or from brokers without a dedicated parser go into a simple manual_buys.csv (see questions below).
Drag all CSV files into the dashed zone at once, or click it and select them. A ZIP containing CSVs works too. Order and file names do not matter: the app detects every broker from the file contents.
The table shows each file with its detected type. Entries marked orange are noKYC sources; they stay strictly separated from the tax office report.
The one manual step: A BitBox CSV cannot reveal whether the wallet holds KYC or noKYC coins. If you run a dedicated noKYC wallet, switch it to "BitBox wallet (noKYC)" in the dropdown. Otherwise it will appear in the official report.
If a file is not recognized, the calculation stays locked until you pick a type yourself or set the file to "Ignore". So an incomplete report can never happen silently.
One click on "Calculate report". On start the app loads its calculation core (Python); this takes a moment, after that it is fast. The system log shows every file and every transaction.
Each tax year has several documents, switchable via the tabs. The reports are in German, since they are made for the German tax office:
Gains from noKYC sales are taxable too and must be declared. The separation serves your privacy and clean bookkeeping, not concealment.
The buttons below the report view save the displayed document on its own or all documents as a ZIP. Internal files sit in the ZIP folder INTERN-NICHT-WEITERGEBEN ("internal, do not pass on").
For the tax office, what counts is the Steuernachweis (steuernachweis_YEAR.txt) plus your brokers' original CSVs as evidence. Under "Quelle" the statement shows which broker supplied which lot.
Purchases in CHF or USD (Swissquote, Pocket)?
The app converts them to EUR at the ECB reference rate of the purchase day (weekend/holiday: last rate before). The rate table ships with the app; no rate service is queried. If a purchase lies after the table's data date, the app stops with an explanation instead of using an old rate.
Several wallets and accounts?
The app applies FiFo per wallet (German Federal Ministry of Finance letter of 06.03.2025, para. 62) and treats every exchange account as a wallet of its own: every BitBox wallet and every account is a separate holding. On a transfer between your wallets, the sending wallet gives up its oldest units; purchase date and cost travel with them into the receiving wallet. The app matches transfers by transaction ID, otherwise by amount and time (48 hours). An outgoing transfer without a matching incoming one counts as a transfer to one of your wallets that was not loaded and is reported in the log, never silently booked as a sale. So load the exports of all your wallets. Special cases such as a pooled withdrawal are solved with the optional file transfer_zuordnung.csv (format in the repository, docs/DATENFORMATE.md). In the documents for the tax office your wallet is only called "BitBox-Wallet", with several wallets "BitBox-Wallet 1", "BitBox-Wallet 2" and so on; the real names appear solely in the internal file "Wallet check".
Transfers between my wallets and their fees?
The transferred holding stays tax-neutral and keeps its purchase date (see "Several wallets"). The network or withdrawal fee paid in bitcoin is booked as a small disposal of the fee share: the fee is an exchange for a service (derived from the German Federal Ministry of Finance letter of 06.03.2025, paras. 33, 54, 60). FiFo matching, valued at the daily closing price (para. 91), own section "GEBÜHREN IN BITCOIN" in the report.
Gave bitcoin away or donated it?
Before exporting, put a word like "gift", "donation", "Spende", "Geschenk" or "Schenkung" into the transaction note in the BitBoxApp. The app then books the line as a gratuitous transfer: no sale, no gain, but the coins leave your holdings. The report lists purchase date and cost per lot, because the acquisition is attributed to the recipient (§ 23 (1) sentence 3 EStG). A network fee paid along the way is still a small disposal (see above). Notes containing "gift card" or "Gutschein" (voucher) and negations such as "not a gift" are not treated as gifts.
My broker is missing?
Enter purchases in manual_buys.csv (date,btc_amount,eur_amount,note,kyc,wallet; for KYC brokers like Coinbase set kyc to ja; wallet is optional: your own wallet the coins were delivered to). And send the CSV header line without real data to kontakt@alien-investor.org. New parsers arrive with an update.
Try it first?
"Try with sample data" loads fictitious data for all supported brokers. Or save the sample data as a ZIP and drag it into the zone yourself.
No tax advice. The tool is a pure calculation aid for private disposals (§ 23 EStG) using the FiFo method per wallet (German Federal Ministry of Finance letter of 06.03.2025, paras. 61 f.). You remain responsible for your tax return. For complex cases (mining, staking, lending, commercial trading) ask a tax advisor.
Detailed guide with pictures: alien-investor.org/en/steuertool-guide.html
| Datei | Größe | Erkannt als |
|---|