KAI System-Kompendium
Vollständige technische Referenz aller Module, Endpunkte und Logiken des KAI Backends.
Status: Vollständig integriert | System: Flask / Celery / Redis / Tesseract / SpaCy
🧩 Parsing-Profile
Funktion: Listet alle vorhandenen Parsing-Profile auf.
Logik: Liest die JSON-Dateien aus dem Ordner parsings/ (früher Redis Set).
Funktion: Analysiert E-Mail-Konten auf Geschäftskontakte.
Logik: Startet Celery-Task. Scannt IMAP/Gmail/Outlook nach Keywords ("Rechnung"). Extrahiert Namen/E-Mails via SpaCy (NLP) und schlägt diese für die Einnahmen/Ausgaben-Listen vor.
🧠 Rechnungsverarbeitung
Funktion: Phase 1 des Hauptprozesses.
Logik: Iteriert über konfigurierte Quellen. Lädt Anhänge/E-Mails. Führt OCR aus. Validiert "Ist es eine Rechnung?". Speichert standardisiertes PDF mit Meta-Header in uploads/. Nutzt Profil-Patterns.
Funktion: Phase 2 - Organisation.
Logik: Analysiert Dateien in uploads/. Gruppiert zusammengehörige Seiten. Löscht Duplikate. Sortiert nach Jahr/Monat/Kategorie. Benennt Dateien um (Prefix: einnahme_/ausgabe_).
Funktion: Phase 3 - Finaler Export.
Logik: Geht durch einen sortierten Monatsordner. Extrahiert finale Buchungsdaten. Erstellt eine CSV für Lexoffice. Nutzt KI-Fallback für fehlende Adressdaten.
Funktion: Der "Big Red Button".
Logik: Kombiniert Phase 1, 2 und 3 in einer State-Machine, um Deadlocks zu vermeiden. Führt den kompletten Prozess von E-Mail bis CSV durch.
🏦 Kontoauszüge
Funktion: Einzelverarbeitung PDF.
Logik: Zerlegt PDF-Kontoauszug via Regex in CSV-Buchungszeilen (Datum, Betrag, Verwendungszweck).
Funktion: Massenverarbeitung.
Logik: Fügt alle PDFs eines Ordners zusammen, analysiert den Stream und archiviert die Originale.
⚙️ System & Core
Funktion: Bricht Task ab.
Logik: Sendet SIGKILL an den Worker-Prozess und setzt Redis-Flag.
Funktion: Bereinigt Job-Historie.
Logik: Löscht alle job:* Keys aus Redis.
Funktion: Listet Quellen.
Logik: Aggregiert Google-Tokens, IMAP-Configs und Microsoft-Tokens aus Redis.
Funktion: Polling für Frontend.
Logik: Liest JSON-Status aus Redis. Gibt Fortschritt (Progress/Total) zurück.
Funktion: Dashboard-Daten.
Logik: Zählt Dateien in Ordnern, prüft Auth-Status, prüft Worker-Verfügbarkeit.
Funktion: Zeigt KI-Modelle.
Logik: Liest config.json.
Funktion: Job-Übersicht.
Logik: Iteriert über alle Redis-Job-Keys.
🔍 Diagnose & Entwicklung
Funktion: Regex-Tester.
Logik: Lädt E-Mails basierend auf Suchquery. Führt OCR durch. Gibt rohen Text zurück (ohne Parsing). Ideal um Patterns zu testen.
🛒 Shopware Features
Funktion: Verwaltung DB-Zugang.
Logik: Speichert MySQL-Credentials sicher in Redis.
Funktion: Merge-Tool.
Logik: Liest Shopware-Export und manuell erstellte Monats-CSV. Vergleicht Rechnungsnummern. Entfernt Duplikate. Erstellt Master-CSV.
Funktion: SQL-Direktexport.
Logik: Verbindet direkt mit MySQL. Führt komplexe Joins über Order/Customer/Address aus. Filtert nach Status-IDs. Exportiert CSV für Lexoffice.
Funktion: Import-Bridge.
Logik: Nimmt eine lokale CSV und speist sie in den Lexoffice-Voucher-Import ein.
💻 WHMCS Features
Funktion: Account-Verwaltung.
Funktion: Generischer API Client.
Logik: Frontend baut dynamische Formulare. Backend signiert Requests an die WHMCS API (z.B. `GetClients`, `GetInvoices`, `CreateTicket`).
📧 IMAP Features
Funktion: Ordner leeren.
Logik: Löscht alle E-Mails in einem spezifischen Ordner (Batch-Delete).
Funktion: Tiefensuche.
Logik: Sucht nach Keywords im Body und Betreff, auch wenn keine Anhänge markiert sind.
Funktion: Standard-Extraktion.
Logik: Speichert Anhänge (PDF/Img) von E-Mails, die Kriterien erfüllen.
Funktion: Organisator.
Logik: Sucht E-Mails anhand Query und verschiebt sie serverseitig in einen anderen Ordner.
Funktion: KI-Extraktion.
Logik: Nutzt LLM, um zu entscheiden, ob eine E-Mail relevant ist, auch wenn Keywords fehlen.
Funktion: Ordnerstruktur.
Funktion: Status ändern.
Logik: Setzt Flags wie `\Seen`, `\Flagged` oder Custom Labels.
Funktion: Suche.
Logik: Führt server-seitige Suche (SEARCH command) aus. Unterstützt UTF-8.
🇬 Google Features
Funktion: Termin.
Logik: Erstellt Event, optional mit Google Meet Link.
Funktion: Termin löschen.
Funktion: Gmail Extraktion.
Logik: Nutzt Gmail API (schneller als IMAP). Filtert nach `has:attachment`.
Funktion: Kalender lesen.
Funktion: Kontakte lesen.
Logik: Nutzt People API.
Funktion: Drive Suche.
Logik: Sucht Dateien in Google Drive per Query.
Funktion: Versand.
Logik: Sendet E-Mail via Gmail API (auch mit Anhängen aus Drive).
🇲 Microsoft Features
Funktion: OAuth2 Flow (Graph API).
Funktion: Termin erstellen.
Funktion: Teams Meeting.
Logik: Erstellt ein Online-Meeting in Teams und gibt den Link zurück.
Funktion: OneDrive Löschen.
Funktion: Outlook Extraktion.
Logik: Nutzt Microsoft Graph API für Outlook Nachrichten und Anhänge.
Funktion: OneDrive Suche.
Funktion: Versand via Outlook.
✉️ E-Mail & SMTP
Funktion: Zentraler Versand.
Logik: Router. Sendet via SMTP (smtplib) oder API (Gmail), je nach Konto-Typ.
📱 WhatsApp Features
Funktion: Konfiguration API Token.
Funktion: Workflow-Integration.
Logik: Simulierter Task, der bestätigt, dass WhatsApp Webhooks aktiv sind (Realtime-Empfang).
⇄ FTP Features
Funktion: Remote Analyse.
Logik: Lädt Datei in RAM, analysiert sie und gibt JSON zurück, ohne sie dauerhaft zu speichern.
Funktion: Download.
Logik: Lädt alle passenden Dateien vom FTP in den lokalen Workspace.
Funktion: Einzeldatei Download.
🧾 Lexoffice Features
Funktion: API Keys verwalten.
Funktion: Beleg erstellen.
Funktion: Export.
Logik: Konvertiert interne JSON-Rechnungsdaten in das Lexoffice CSV-Format.
Funktion: Kontaktmanagement.
Logik: Sucht Kontakt nach Namen. Wenn nicht gefunden, erstellt neu.
Funktion: Massenbuchung.
Logik: Liest CSV, iteriert Zeilen, erstellt für jede Zeile einen Beleg in Lexoffice.
Funktion: Einzelbuchung.
Logik: Upload Datei -> Erstelle Beleg -> Verknüpfe Datei.
📁 Workspace Features
Funktion: Lokale Analyse.
Logik: Analysiert eine Datei im Dateisystem ohne Cloud-Upload.
Funktion: Lokale Extraktion.
Logik: Durchsucht Ordner nach Dokumenten, prüft Rechnungsmerkmale, sortiert in Zielordner.
Funktion: Dateioperation.