Metadata-Version: 2.4
Name: krypto-steuerbericht
Version: 1.0.1
Summary: Krypto-Steuerreports (FIFO, § 23 EStG) aus Börsen-Exporten – lokal, transparent, Open Source
Project-URL: Repository, https://github.com/TheRealRoyalTS/crypto-tax-report
Author: TheRealRoyalTS
License: MIT
License-File: LICENSE
Keywords: bitpanda,crypto,fifo,kraken,steuererklaerung,tax
Requires-Python: >=3.10
Requires-Dist: matplotlib
Requires-Dist: openpyxl
Requires-Dist: pandas
Description-Content-Type: text/markdown

# Krypto-Steuerbericht

![Tests](https://github.com/TheRealRoyalTS/crypto-tax-report/actions/workflows/tests.yml/badge.svg)
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)

Erstellt aus den Transaktions-Exporten deiner Krypto-Börsen einen nachvollziehbaren Steuerreport für die deutsche Steuererklärung (Anlage SO): Gewinne/Verluste nach FIFO, Jahresfrist je Kauf-Tranche, Ausgabe als PDF, CSV, XLSX – inklusive vollständigem Prüfnachweis.

**Läuft komplett lokal.** Deine Transaktionsdaten verlassen deinen Rechner nicht – kein Cloud-Upload, kein Account, kein Abo. Die gesamte Rechenlogik ist quelloffen und durch Tests dokumentiert.

## Unterstützte Börsen

| Börse | Export | Status |
|---|---|---|
| Bitpanda | Transaktions-Export (CSV/XLSX) | ✅ |
| Kraken | trades.csv (EUR-Paare) | ✅ |
| Weitere | [Adapter anfragen oder beisteuern](CONTRIBUTING.md) | 🙋 |

Mehrere Exporte – auch verschiedener Börsen – können zusammen verarbeitet werden. Sie werden chronologisch zu **einem** FIFO-Bestand zusammengeführt: Ein Kauf auf Kraken liefert damit die Kostenbasis für einen späteren Verkauf auf Bitpanda.

## Legal Notice

**Dieses Tool stellt keine professionelle steuerliche Beratung dar.**
Die generierten Dokumente und Berechnungen dienen lediglich als Unterstützung und Orientierung für die private Steuererklärung.
Für die Einreichung beim Finanzamt oder rechtlich verbindliche Auskünfte wenden Sie sich bitte an eine*n Steuerberater*in oder das Finanzamt.
Der Autor übernimmt keine Haftung für die Richtigkeit, Vollständigkeit oder rechtliche Verwendbarkeit der Ergebnisse.

## Installation & Usage

```bash
pip install krypto-steuerbericht
```

**Debian/Ubuntu (auch Chromebook-Linux/Crostini):** Neuere Debian-Systeme blockieren systemweites `pip install` (PEP 668). Der empfohlene Weg ist dort [pipx](https://pipx.pypa.io/):

```bash
sudo apt install pipx && pipx ensurepath
pipx install krypto-steuerbericht
```

Exporte in einen Ordner `upload/` legen (oder per `--input` angeben) und ausführen:

```bash
krypto-steuerbericht --year 2025 --name "Max Mustermann" --street "Musterstraße 1" --city "12345 Musterstadt"

# Mehrere Börsen kombinieren:
krypto-steuerbericht --input bitpanda.csv --input kraken-trades.csv --year 2025
```

Das Format wird automatisch erkannt. Weitere Optionen: `--output-dir`, `--formats csv,xlsx,pdf`, siehe `krypto-steuerbericht --help`. Alternativ ohne Installation: Repo klonen und `python main.py …`.

### Ausgabedateien (`output/`)

| Datei | Inhalt |
|---|---|
| `steuerreport_kryptogewinne_details.csv` | Master-Datei: alle Tranchen aller Jahre |
| `Steuerreport_<Jahr>_Detailnachweis.csv/.xlsx` | Detailnachweis je Kauf-Tranche für das Steuerjahr |
| `Steuererklaerung_<Jahr>_Final.pdf` | Zusammenfassung für die Anlage SO |
| `Steuerreport_<Jahr>_Pruefnachweis.xlsx` | Vollständiger Prüfnachweis: Zusammenfassung, FIFO-Zuordnung (Jahr + gesamt), alle Original-Transaktionen, Restbestände je Asset |

Der Prüfnachweis ist für den Fall gedacht, dass das Finanzamt Belege anfordert: Er macht die komplette Herleitung vom Original-Export bis zum Ergebnis nachvollziehbar. Zusätzlich empfiehlt es sich, die unveränderten Original-Exporte aufzubewahren.

## Wie gerechnet wird

- **FIFO je Asset**: Verkäufe verbrauchen die ältesten Käufe zuerst – börsenübergreifend in einem gemeinsamen Bestand.
- **Bewertung je Kauf-Tranche**: Ein Verkauf, der mehrere Käufe verbraucht, wird in Tranchen aufgeteilt – jede Tranche erhält anteiligen Erlös, eigene Anschaffungskosten und eine **eigene Haltedauer**.
- **Jahresfrist per Datum**: Steuerfrei ist eine Tranche, wenn der Verkauf **nach Ablauf eines Jahres** ab Anschaffung erfolgt (Datumsvergleich, schaltjahrfest).
- **Krypto-zu-Krypto-Tausch** zählt als Veräußerung der abgegebenen und Anschaffung der erhaltenen Coins.
- **EUR-Gebühren** erhöhen die Anschaffungskosten (Kauf) bzw. mindern den Erlös (Verkauf).
- **Fehlende Kaufhistorie**: Verkäufe von Beständen ohne erfasste Käufe werden mit Kostenbasis 0 angesetzt, **konservativ als steuerbar behandelt** und deutlich markiert (Konsole, Report-Spalte, PDF-Hinweis) – bitte manuell prüfen.
- **Freigrenze**: Das PDF weist auf die Freigrenze des § 23 EStG hin (600 € bis 2023, 1.000 € ab 2024), wendet sie aber bewusst nicht automatisch an.

### Bekannte Grenzen

- Gebühren in Kryptowährungen (z. B. BEST) werden nicht verrechnet, nur gezählt und gemeldet.
- Staking-Rewards, Lending, Airdrops u. ä. werden nicht gesondert behandelt.
- Kraken: nur EUR-Paare; Trades in anderen Quote-Währungen werden übersprungen und gemeldet.

## Datenschutz

Alles läuft auf deinem Rechner. Das Tool baut keine Netzwerkverbindungen auf, sendet nichts an Dritte und speichert nichts außerhalb des `output/`-Ordners. Der `upload/`- und `output/`-Inhalt ist per `.gitignore` vom Versionieren ausgeschlossen, damit keine echten Daten versehentlich in ein Repo geraten.

## Entwicklung & Beitragen

```bash
pip install -e . pytest
python -m pytest tests/
```

Die Testsuite (18 Tests) deckt u. a. ab: Tranchen-Aufteilung über die Jahresfrist, fehlende Kaufhistorie, Schaltjahr-Grenzfälle, Gebühren, Krypto-zu-Krypto-Tausch, Adapter-Erkennung und börsenübergreifendes FIFO. **Neue Börsen-Adapter sind der wertvollste Beitrag** – die Anleitung steht in [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT – siehe [LICENSE](LICENSE).
