3.6 KiB
README
Description
Dieses Tool konvertiert Rechnungen im PDF-Format vollautomatisch in das offizielle XRechnung-XML-Format (UBL-Standard, Version 3.0). Das System verarbeitet sensible Finanzdaten vollständig lokal auf der eigenen Hardware und verzichtet auf externe Cloud-Schnittstellen.
Die Anwendung nutzt eine Hybrid-Architektur:
- Stammdaten (Kopfdaten): Ein lokales Large Language Model (LLM) extrahiert unstrukturierte Metadaten wie Rechnungsnummern, Datumsangaben, Bestell-Referenzen und Kundenadressen. Die Steuerung erfolgt über eine strikte JSON-Schema-Grammatik.
- Positionen (Tabelle): Ein nativer Python-Algorithmus extrahiert Artikelbeschreibungen, Mengen, Einheiten und Einzelpreise über reguläre Ausdrücke (Regex). Die finale Summenberechnung erfolgt finanzmathematisch präzise über das
decimal-Modul inklusive kaufmännischem Runden.
Supported Model
Das System ist auf das folgende Modell optimiert, welches sich im Verzeichnis models/ befinden muss:
- Modell: Qwen3.5-4B-Instruct
- Format: GGUF
- Quantisierung: Q8_0
Hinweis: Es muss zwingend die Instruct-Variante des Modells verwendet werden. Das Basis-Modell (Base) ist für diese Anwendung nicht kompatibel.
Installation
1. Verzeichnisstruktur vorbereiten
Erstellen Sie im Projektverzeichnis den Ordner für das lokale KI-Modell:
mkdir models
2. Virtuelle Umgebung (venv) erstellen und aktivieren
Erstellen Sie eine isolierte Python-Umgebung und aktivieren Sie diese vor der Installation der Pakete.
Windows (PowerShell):
python -m venv venv
.\venv\Scripts\Activate.ps1
Linux / macOS:
python -m venv venv
source venv/bin/activate
3. Modell platzieren
Laden Sie die Modelldatei Qwen3.5-4B-Instruct-Q8_0.gguf herunter und platzieren Sie diese im erstellten Ordner. Der Pfad muss exakt wie folgt lauten:
models/Qwen3.5-4B-Instruct-Q8_0.gguf
4. Abhängigkeiten installieren
Die Datei requirements.txt ist im Repository enthalten. Führen Sie in der aktivierten virtuellen Umgebung den passenden Befehl aus, um die Installation mit GPU-Beschleunigung (Nvidia CUDA) durchzuführen:
Windows (PowerShell):
$env:GGML_CUDA="1"; pip install -r requirements.txt --force-reinstall --no-cache-dir
Linux / macOS:
GGML_CUDA=1 pip install -r requirements.txt --force-reinstall --no-cache-dir
Use
Starten Sie die Applikation über das Terminal:
streamlit run app.py
Der Konversionsprozess gliedert sich in folgende Schritte:
- Dokumenten-Upload: Laden Sie die Rechnungs-PDF über die Weboberfläche hoch.
- Extraktion: Starten Sie die hybride Analyse über den dafür vorgesehenen Button.
- Validierung: Prüfen Sie die extrahierten Kopfdaten und die Positionstabelle in der Benutzeroberfläche. Da alle Felder editierbar sind, können Korrekturen direkt vorgenommen werden.
- Export: Generieren Sie die finale XML-Datei über die Export-Funktion und starten Sie den Download.
Notes
Human-in-the-Loop
Das Tool dient als Automations-Assistent. Vor dem finalen XML-Export ist eine visuelle Endkontrolle der extrahierten Daten (insbesondere Rechnungsnummer und Empfängeradresse) durch den Sachbearbeiter zwingend erforderlich, um KI-Fehlinterpretationen auszuschließen.
GoBD-Konformität
Das Tool generiert ausschließlich das strukturierte XML-Format. Für die Einhaltung der GoBD-Richtlinien (u. a. die revisionssichere Archivierung der Original-PDF sowie der generierten XML-Datei über den gesetzlichen Zeitraum von 10 Jahren) ist der Betreiber der Software selbst verantwortlich.