TaxHacker: selbstgehostete Belegerfassung mit eigenem LLM-Prompt
Self-hosted AI accounting app. LLM analyzer for receipts, invoices, transactions with custom prompts and categories
Auf einen Blick
- Was ist das?
- TaxHacker extrahiert Belegdaten per LLM in eine strukturierte Tabelle und lässt sich selbst hosten. Die README nennt das Projekt ausdrücklich als frühe Entwicklung. Wer Belege wirklich automatisch verarbeiten will, muss die Prompts selbst nachziehen.
- Für wen ist es gedacht?
- TaxHacker passt zu Freelancern und kleinen Teams, die Belege selbst hosten wollen und bereit sind, Prompts und Kategorien an die eigenen Dokumente anzupassen. Wer eine fertige, geprüfte Buchhaltungslösung mit Support sucht, ist hier falsch.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Welches Problem TaxHacker löst und für wen
Belege sammeln sich als Fotos, PDFs und gescannte Rechnungen an. Bis daraus eine Tabelle mit Datum, Betrag, Händler und Positionen wird, ist Handarbeit nötig. TaxHacker setzt genau dort an: Die README beschreibt das Ziel, Fotos von Belegen, Rechnungen oder PDFs hochzuladen und daraus Produktnamen, Beträge, Positionen, Daten, Händler und Steuern automatisch zu extrahieren und in einer strukturierten, Excel-ähnlichen Datenbank abzulegen. Die Zielgruppe benennt das Projekt selbst: Freelancer, Indie-Hacker und kleine Unternehmen, die Ausgaben- und Einnahmenverfolgung automatisieren wollen.
Für diese Gruppe ist der Punkt Selbsthosting kein Marketingzusatz, sondern der Kern. Finanzdaten sind sensibel, und die README formuliert die Verantwortung klar: Wer ein LLM wählt, ist selbst für Qualität und Datenschutz der Daten verantwortlich. Das ist eine ehrliche Formulierung, weil sie die Arbeit nicht verschweigt. TaxHacker nimmt einem die Belegjagd ab, aber nicht die Entscheidung, wohin die Beleginhalte gehen.
Wie die Extraktion tatsächlich abläuft
Der Datenfluss beginnt mit dem Upload. Dokumente landen laut README zunächst im Zustand unsorted und können dort manuell oder per KI-Unterstützung weiterverarbeitet werden. Der eigentliche Extraktionsschritt läuft über ein LLM: Das Modell liest das Dokument, erkennt Datum, Betrag, Händler und Positionen und schreibt sie in die Datenbank. Kategorien werden auf Basis des Inhalts automatisch zugewiesen. Positionen aus einer Rechnung lassen sich in separate Transaktionen aufteilen.
Interessant ist die Rolle der Prompts. Die README beschreibt drei Ebenen: einen allgemeinen System-Prompt in den Einstellungen, feld- oder projektspezifische Prompts sowie eigene Prompts für benutzerdefinierte Felder. Das bedeutet, die Qualität der Extraktion hängt nicht nur am Modell, sondern an der Prompt-Konfiguration. Wer ein Feld für Projektcodes braucht, schreibt dafür einen Prompt. Das ist mächtig und fehleranfällig zugleich: Ein schlecht formulierter Prompt erzeugt plausible, aber falsche Werte, und die Datenbank sieht trotzdem gefüllt aus.
Für Fremdwährungen liest TaxHacker die erkannte Währung und rechnet über historische Kurse vom Transaktionsdatum in die Basiswährung um. Die README nennt über 170 Währungen und 14 Kryptowährungen, darunter BTC, ETH, LTC und DOT. Manuelle Eingabe bleibt möglich.
Installation und die Wahl des Modells
Die README gibt für die Einrichtung kein vollständiges Schritt-für-Schritt-Kommando, sondern verweist auf das Selbsthosting und die Homepage taxhacker.app. Wer das Projekt aus dem Repository startet, arbeitet mit einem Docker-Setup, das die README über die Screenshots und den Selbsthosting-Abschnitt andeutet; konkrete Compose-Dateien oder Umgebungsvariablen sind im vorliegenden Material nicht ausgeführt. Das ist eine Lücke, die man vor dem Ausprobieren einplanen sollte.
Klar dokumentiert ist dagegen die Modellwahl. TaxHacker unterstützt OpenAI, Google Gemini und Mistral. Zusätzlich ist jeder lokale LLM nutzbar, der eine OpenAI-kompatible API anbietet, genannt werden Ollama, LM Studio, vLLM und LocalAI. Die README formuliert dazu eine Bedingung und eine Warnung im selben Satz: Das lokale Modell muss gut in OCR-Aufgaben sein, und Ergebnisse sind nicht garantiert.
Das ist der ehrlichste Satz im ganzen Dokument. OCR über Belegfotos ist keine Standardaufgabe für kleine Sprachmodelle. Wer ein 7B-Modell auf unscharfen Kassenzetteln einsetzt, wird die Fehlerquote selbst messen müssen. Für den Einstieg ist ein gehostetes Modell der schnellere Weg, für Datenschutz der lokale Endpunkt.
Wo die Grenzen liegen
Die README markiert das Projekt selbst als frühe Entwicklung und empfiehlt, es auf eigenes Risiko zu nutzen. Das ist keine Floskel. Bei einer Anwendung, die steuerrelevante Beträge erzeugt, bedeutet frühe Entwicklung, dass Fehler in der Extraktion nicht auffallen müssen. Ein falsch erkannter Betrag sieht in der Tabelle genauso aus wie ein richtiger.
Der zweite Punkt ist die Abhängigkeit von der Dokumentqualität. TaxHacker verarbeitet laut README Kassenzettel, Restaurantrechnungen, Rechnungen, Kontoauszüge, Briefe und handschriftliche Belege, in jeder Sprache und Währung. Die Bandbreite ist beeindruckend, aber sie verschiebt das Risiko in die Prüfung. Handschrift und schlechte Scans sind genau die Fälle, in denen ein LLM plausibel rät.
Drittens die fehlende Trennung zwischen Extraktion und Buchführung. TaxHacker speichert Transaktionen und exportiert sie, aber es ist keine Buchhaltungssoftware mit Kontenrahmen, Umsatzsteuerlogik oder Abschlussprüfung. Wer eine steuerlich belastbare Buchführung braucht, nutzt TaxHacker als Vorerfassung und übergibt die Daten weiter. Die README spricht von Berichten für Steuerberater, nicht von einer Steuererklärung.
Der Unterschied zu klassischer OCR-Software
Klassische Belegerkennung arbeitet mit Vorlagen und Regeln. Ein System wird auf Rechnungsformate trainiert, erkennt Felder an ihrer Position und liefert bei bekannten Layouts sehr stabile Werte. Der Preis dafür ist Pflege: Jeder neue Lieferant mit neuem Layout braucht Anpassung.
TaxHacker geht den umgekehrten Weg. Statt Layouts zu lernen, liest ein LLM den Inhalt und beantwortet eine Frage, die man selbst formuliert. Ein neuer Lieferant braucht keine Vorlage, sondern nur einen Prompt, der das gewünschte Feld beschreibt. Das skaliert besser über unbekannte Dokumente, kostet aber Determinismus. Dasselbe Dokument kann bei zwei Läufen unterschiedliche Ergebnisse liefern, abhängig vom Modell und vom Prompt. Wer Auditierbarkeit braucht, muss die Rohdaten und die Extraktionsergebnisse nebeneinander prüfen können, und genau dafür speichert TaxHacker die Dokumente mit den Transaktionen.
Ein zweiter Unterschied ist die Datenhoheit. Klassische Cloud-Dienste bekommen die Belege zu sehen. TaxHacker kann mit einem lokalen Endpunkt betrieben werden, sodass die Beleginhalte das eigene Netz nicht verlassen. Das ist der eigentliche Grund, dieses Projekt einem SaaS vorzuziehen.
Pflegeaufwand, Updates und Lizenz
Die Release-Historie zeigt kurze Abstände: v0.8.1 und v0.8.2 im Juli 2026, v0.8.5 im selben Monat. Bei einer Anwendung in der frühen Entwicklung bedeutet diese Taktung, dass man Updates einplanen muss. Wer eine Instanz produktiv betreibt, sollte vor jedem Sprung die Release Notes lesen und ein Datenbank-Backup ziehen, weil Schemaänderungen bei Versionen unter 1.0 üblich sind. Die README bietet dafür einen Ankerpunkt: den vollständigen Datenexport als Archiv, der unter docs/screenshots/exported_archive.png gezeigt wird. Ein Export vor dem Update ist die günstigste Absicherung.
Ein zweiter laufender Kostenpunkt ist das Modell. Bei einem gehosteten Anbieter entstehen Kosten pro verarbeitetem Dokument; bei einem lokalen Modell kostet die Extraktion Rechenzeit und gegebenenfalls eine GPU. Die README macht dazu keine Angaben, also lässt sich das nur durch eigene Messung klären.
Die Lizenz ist MIT. Das erlaubt kommerzielle Nutzung, Veränderung und Weitergabe, solange der Copyright-Hinweis und der Lizenztext erhalten bleiben. Für ein selbstgehostetes Werkzeug ist das die niedrigste denkbare Hürde. Eine rechtliche Prüfung ersetzt das nicht, insbesondere nicht bei den Daten, die man in das gewählte LLM schickt: Ob ein Anbieter die Inhalte für Training verwendet, regelt dessen Vertrag, nicht die MIT-Lizenz von TaxHacker.
Für wen sich der Aufwand rechnet
TaxHacker ist dann sinnvoll, wenn die Belegmenge groß genug ist, dass manuelle Erfassung weh tut, und wenn die Bereitschaft besteht, die Prompts an die eigenen Dokumente anzupassen. Wer regelmäßig Rechnungen mit individuellen Feldern wie Projektcodes oder Kostenstellen verarbeitet, bekommt mit benutzerdefinierten Feldern und eigenen Prompts genau das Werkzeug dafür. Die Kombination aus Volltextsuche über den erkannten Inhalt, Filtern und CSV-Export mit angehängten Dokumenten deckt den Arbeitsablauf ab, den Freelancer für die Abgabe beim Steuerberater brauchen.
Nicht geeignet ist es als Ersatz für eine Buchhaltung mit Kontenrahmen und Umsatzsteuerlogik, und nicht für Teams, die einen Supportvertrag und eine geprüfte Extraktionsquote brauchen. Auch wer keine Zeit für Prompt-Pflege hat, wird mit den Ergebnissen unzufrieden sein, weil die README selbst keine Genauigkeit zusichert.
Vor dem Produktiveinsatz sind drei Dinge zu prüfen. Erstens: Funktioniert der gewählte OpenAI-kompatible Endpunkt mit den eigenen Belegtypen, insbesondere bei Handschrift und schlechten Scans. Zweitens: Bleiben die Beträge nach mehreren Durchläufen desselben Dokuments stabil. Drittens: Enthält der CSV-Export alle Felder, die der Steuerberater braucht, einschließlich der angehängten Dokumente. Solange diese drei Punkte nicht an echten eigenen Belegen geprüft sind, bleibt TaxHacker ein Werkzeug für die Vorerfassung, nicht für die Buchführung.
Redaktionelles Fazit
TaxHacker passt zu Freelancern und kleinen Teams, die Belege selbst hosten wollen und bereit sind, Prompts und Kategorien an die eigenen Dokumente anzupassen. Wer eine fertige, geprüfte Buchhaltungslösung mit Support sucht, ist hier falsch. Vor dem Produktiveinsatz zuerst einen lokalen OpenAI-kompatiblen Endpunkt mit den eigenen Belegtypen testen, die Qualität der Feldextraktion prüfen und den Export über den CSV-Export sowie das vollständige Datenarchiv verifizieren.
Community-Notizen