← Back to Mission Control

BTC Tax Tool Web – The Guide

From CSV export to tax office report β€” in 5 minutes, entirely in your browser

"Your transaction data never leaves your machine. No upload, no account, no tracking β€” the entire calculation runs locally in your browser."

Note: The app interface is currently German only β€” it computes reports for the German tax system (Β§ 23 EStG, FiFo method, one-year holding period). This guide walks you through every step so the German UI is no obstacle.

Want to dive right in?

β†’ Open the demo (free, with sample data)  Β·  β†’ Get access β€” €29

Step 0: What you need

Just your CSV exports. Every broker and the BitBox app offer an export β€” downloading once a year is enough:

SourceWhere to export
BitBoxBitBoxApp β†’ Account info β†’ Export transaction history (one CSV per wallet)
21bitcoinApp β†’ Activity β†’ Export report
BisonApp β†’ Account β†’ Reports β†’ Transaction history (CSV arrives via email)
SwissquoteWeb β†’ Account β†’ Transactions β†’ CSV export
StrikeApp/Web β†’ Activity β†’ Generate report
PocketWeb β†’ History β†’ Download CSV
BisqPortfolio β†’ History β†’ Export

Purchases without a CSV (Robosats, cash, P2P) or from brokers without a dedicated parser go into a simple manual_buys.csv β€” details below.

Step 1: Load your files

Open your access link. Drag all CSV files into the dashed zone at once β€” or click it and select the files. Order does not matter, file names do not matter: the app detects every broker automatically from the file contents.

BTC Tax Tool start view with drop zone

The start view: simply drag your CSV files into the dashed zone.

Step 2: Check detection β€” and mark noKYC wallets

After loading, the table shows each file with its detected type. Entries marked orange are noKYC sources β€” they stay strictly separated from the tax office report:

File table with automatically detected broker types and noKYC hint

All files detected β€” Bisq and manual purchases automatically flagged as noKYC (orange).

⚠ The one manual step

A BitBox CSV cannot reveal whether the wallet holds KYC or noKYC coins β€” only you know that. If you run a dedicated noKYC wallet (e.g. for Bisq deposits), switch it to "BitBox-Wallet (noKYC)" in the dropdown. Otherwise it will appear in the official report. The orange hint box reminds you as long as BitBox wallets are classified as KYC.

If a file is not recognized, the calculation stays locked until you pick a type manually or set the file to "Ignorieren" (ignore) β€” so an incomplete report can never happen silently. Your broker missing entirely? Send the CSV header line (no real data) to kontakt@alien-investor.org β€” parsers are added continuously, and as a customer you get new brokers instantly, nothing to install.

Step 3: Compute the report

One click on "Report berechnen" (compute report). On the very first run the app loads its Python environment into the browser β€” that takes a few seconds once, afterwards it is fast. The system log shows every step:

System log during calculation

The system log: every file, every transaction, full transparency.

Why it takes a moment: The app loads a complete Python runtime into your browser instead of sending your data to a server. That is the price of real privacy β€” and you only pay it on the first run.

Step 4: Understanding the results

For every tax year you get several documents, switchable via tabs:

Results view with year tabs and tax report

Year tabs on top, document tabs below β€” here the 2024 tax report.

DocumentContentsFor the tax office?
SteuerreportReadable annual report: purchases, disposals with FiFo matching, holding periods, summary with exemption-limit checkβœ… yes
SteuernachweisFormal, print-ready statement for your tax return or tax advisorβœ… yes
KΓ€ufe / VerkΓ€ufe (CSV)Tables for Excel/LibreOfficeoptional
⚠ noKYC internYour private overview of noKYC holdings❌ never

Step 5: noKYC internal β€” for your eyes only

Bisq purchases, manual P2P purchases and noKYC wallets end up in a separate internal document with its own FiFo pool. It starts with an unmissable warning:

noKYC internal report with red warning banner

The red banner says it all: this file is for your own bookkeeping only.

Important: the separation serves your privacy and clean internal bookkeeping β€” gains from noKYC sales are still taxable and belong in your tax return. The document gives you FiFo matching, holding periods and gains for exactly that purpose.

Step 6: Download and file

Use the download buttons to grab each document individually or all at once. You file two things with the tax office:

The statement shows under "Quelle" (source) exactly which broker supplied which lot β€” every sale is fully traceable.

Frequently asked questions

What about purchases in CHF or USD (Swissquote, Pocket)?

The app converts them automatically using the historical daily rate. For that, your browser (only if needed) queries the open exchange-rate API frankfurter.app β€” dates yes, amounts no.

My broker is missing β€” what now?

Interim solution: enter the purchases in manual_buys.csv (date,btc_amount,eur_amount,note,kyc β€” for KYC brokers like Coinbase set the kyc column to ja). And in parallel send the CSV header line to kontakt@alien-investor.org β€” new parsers usually land within days.

Is the demo the same as the full version?

Yes β€” same calculation engine, same interface. In the demo you can download the sample data as a ZIP and drag the files in yourself β€” exactly like you will later with your real files. Or use the one-click "Demo-Daten laden" button. Your own files are only accepted by the full version with an access link:

Demo version with sample data ZIP and access hint

The demo: drag the sample data just like in the full version β€” your own files need the access link.

Ready?

β†’ Try the demo
β†’ Get access β€” €29, 30 days, all tax years (Lightning, on-chain, fiat)
β†’ Background article: FiFo, holding period & German tax law