lazy-koins
Krypto-Steuerunterlagen für die Schweiz: Exporte und Wallets rein, Steuerwert, Ertrag und Auszug raus. Läuft auf lazy-koins.hello-eme.ch, noch in Entwicklung.
KI-generiert- Tools
- Steuern
- Crypto
lazy-koins läuft auf lazy-koins.hello-eme.ch und ist noch in Entwicklung. Man kann sich anmelden und es mit den eigenen Exporten ausprobieren. Bis zur ersten stabilen Version ändert sich aber noch einiges, und Fehler sind möglich. Die Zahlen also immer selbst prüfen.
Warum ich das gebaut habe
- Spass an der Sache: Ich plane, baue und teste gern. Ein Projekt, das von der Idee bis zur laufenden App reicht, ist für mich die beste Art, Neues auszuprobieren.
- Ideen mit AI umsetzen: Mit AI lassen sich Ideen schnell umsetzen und gleich mit echten Daten validieren. Aus «wäre es nicht praktisch, wenn …» wird innert kurzer Zeit eine Funktion, die man testen kann, und das macht einfach Spass.
- Eine einfache Aufstellung reicht: In der Schweiz sind Kapitalgewinne auf dem Privatvermögen steuerfrei. Für die Steuererklärung braucht es nur eine Aufstellung der Coins per 31.12. mit ihrem Steuerwert und den Ertrag des Jahres. Die gängigen Tools rechnen viel mehr aus und kosten dafür jedes Jahr ein Abo.
Was ist lazy-koins?
lazy-koins macht aus den Exporten von Krypto-Börsen und aus Wallet-Adressen die Unterlagen für ein Steuerjahr: das Vermögen per 31.12. mit dem Steuerwert jeder Position und den Ertrag des Jahres aus Zinsen, Staking, Airdrops und Launchpools, bewertet am Tag, an dem er eingegangen ist. Daraus entstehen Auszüge und Steuerdokumente als PDF, Excel und CSV, bis hin zum E-Steuerauszug für die kantonale Steuersoftware. Der erste Fokus ist die Schweiz, Privatvermögen. Die App gibt es auf Deutsch und Englisch.
Dashboard
Die Startseite zeigt das Krypto-Vermögen über alle Projekte: den Verlauf über einen frei wählbaren Zeitraum, Ein- und Auszahlungen, Ertrag, Kosten und Handelsgebühren, die Verteilung nach Asset und die Bestände. Jede Kennzahl lässt sich anklicken und zeigt die Buchungen dahinter. Ein Filter zeigt die Bestände, die man sich noch ansehen sollte.
Dateien und Mappings
Exporte werden als CSV, Excel oder PDF hochgeladen und bleiben unverändert. Eine Datei gehört dem Benutzer, nicht einem Projekt. Jedes Steuerjahr wählt nur aus, welche Dateien es verwendet, und einzelne lassen sich für ein Projekt deaktivieren. Statt eines eigenen Parsers pro Börse beschreibt ein kleines JSON, wie ein Export zu lesen ist. Für zehn Plattformen gibt es fertige Standard-Mappings, eigene lassen sich schreiben oder von einer KI entwerfen. In der Mapping-Bibliothek teilen Benutzer ihre Mappings und bewerten sie. Die Desktop-App kann die Bibliothek eines Web-Servers mitlesen.
Pro Projekt merkt lazy-koins, wenn ein Export zu früh aufhört, zu spät beginnt oder ein Kontoauszug per 31.12. fehlt, und listet das unter «Hinweise» auf.
Transaktionen: eine Wahrheit pro Buchung
Alle Buchungen aus allen Dateien und Wallets stehen auf einer Seite, mit der Information, wie sie in die Steuerrechnung eingehen: als Ertrag, als Vermögen, als Übertrag zwischen eigenen Konten, als Spam oder noch nicht klassiert. Eine Buchung umklassieren, ausblenden oder zwei Seiten eines Transfers verknüpfen gilt in jedem Projekt, das sie verwendet, immer mit Begründung und rückgängig machbar. Die Originaldatei bleibt unverändert. Unbekannte Buchungen kann eine KI analysieren und Vorschläge machen.
Wallets und Kurse
Wallets werden mit ihrer öffentlichen Adresse erfasst und direkt abgefragt: Bitcoin (auch xpub), Ethereum und weitere EVM-Netzwerke, Solana, dazu die Rewards von Cardano und Polkadot. Seed-Phrasen und private Schlüssel lehnt lazy-koins ab, bevor irgendetwas gespeichert wird.
Die Kurse per 31.12. kommen aus der Kursliste der ESTV, die lazy-koins automatisch lädt. Für alles andere wählt man die Kursquellen und ihre Reihenfolge selbst, etwa CoinGecko, CoinMarketCap, DefiLlama oder die Tageskurse von Börsen, dazu die Devisenkurse der EZB. Jeder Kurs wird mit seiner Quelle gespeichert und lässt sich überschreiben. Gerechnet wird mit exakten Dezimalzahlen statt Gleitkomma, und jede Zahl lässt sich bis zur Datei und Zeile zurückverfolgen.
Prüfen und KI-Assistent
Die Prüfungen vergleichen den Saldo aus den Buchungen mit dem Kontoauszug, suchen Auszahlungen ohne Eingang auf einem eigenen Konto und zeigen Positionen ohne Kurs, jeweils mit Ampel und geschätzter Auswirkung. Mit einer eigenen KI-Anbindung (OpenAI-kompatibel, auch lokal, oder Anthropic) erklärt ein Chat die Zahlen und schlägt Korrekturen vor. Geändert wird erst nach einem Klick auf «Ausführen». Dieselben Werkzeuge gibt es über einen MCP-Server auch für externe KI-Clients.
Steuerdokumente und E-Steuerauszug
Neben dem einfachen und dem ausführlichen Auszug erstellt lazy-koins ein Wertschriftenverzeichnis (auch als CSV für die Steuersoftware), eine Ertrags- und Belegliste und einen Transaktions- und Bestandesnachweis für Rückfragen des Steueramts. Neu ist der E-Steuerauszug nach eCH-0196: als XML für den direkten Import und als PDF mit Barcode-Blättern, die die kantonale Steuersoftware einlesen kann. Alle Dokumente enthalten nur deklarierte Werte. Offene Punkte stehen in einem separaten internen Prüfbericht, und alles lässt sich direkt aus der App an den Treuhänder mailen.
Einrichtung, Hilfe und Desktop-App
Beim ersten Start führt ein Assistent durch Profil, Treuhänder, KI, Kurse, Wallets, Mail und PIN. Eine Hilfe-Seite erklärt danach Schritt für Schritt, wie man von den Dateien zum fertigen Auszug kommt. Neben der Web-App gibt es eine Desktop-App für Windows und macOS ohne Konto, bei der alle Daten auf dem eigenen Computer bleiben. Ein Projekt lässt sich als Paket zwischen beiden verschieben.
Wie es gebaut ist
- Ein Nx-Monorepo mit einer Angular-App (spartan.ng, Tailwind CSS) und einem NestJS-Backend mit SQLite über Prisma.
- Die Berechnung ist eine reine TypeScript-Bibliothek mit decimal.js. Web, Desktop, Dashboard und Tests rechnen mit genau demselben Code.
- Der E-Steuerauszug wird gegen die offiziellen XSD-Schemas geprüft. Die PDF417-Barcodes erzeugt lazy-koins selbst und liest sie im Test wieder zurück.
- Eine Werkzeug-Schicht für Chat und MCP-Server, die Desktop-App mit Electron, gehostet mit Coolify.
- Geplant, gebaut und getestet zu einem grossen Teil zusammen mit KI-Agenten.
Code und Lizenz
Der Code liegt auf GitHub, unter der PolyForm Noncommercial License 1.0.0. Für private und andere nicht-kommerzielle Zwecke darf man ihn frei nutzen, ändern und weitergeben. Eine kommerzielle Nutzung erlaubt die Lizenz nicht. Fehler und Ideen sind als Issues willkommen. Die Screenshots zeigen synthetische Beispieldaten.
lazy-koins ist keine Steuerberatung. Es dokumentiert, wie jede Zahl berechnet wurde, damit man selbst, der Treuhänder oder das Steueramt sie nachprüfen kann.