E-Mails rein, Aufträge raus

Contributors

Geschätzte Implementierungszeit
Verwendete Bibliotheken
- @operaide/ai
- @operaide/aktor
- @operaide/document
- @operaide/mail
- axios
- zod
LLM-Anbieter und -Modelle
- Azure GPT-4o-mini
- Configurable via settings
Externe Dienste
- ERP Next
- Mailgun
TAGS
Introduction
Sende ein Bestell-PDF per E-Mail, erhalte einen vollständig strukturierten Auftrag in deinem ERP — Kundendatensatz, Positionen und alles weitere. Die KI liest das PDF, extrahiert die relevanten Daten, erstellt fehlende Kundendatensätze automatisch und postet den fertigen Auftrag. Der Absender erhält innerhalb von Sekunden eine Bestätigungsmail — oder eine klare Erklärung, falls etwas korrigiert werden muss.
Business Impact
Herausforderung
Bestell-PDFs von Kunden manuell abzutippen und ins ERP einzugeben ist zeitaufwändig, fehleranfällig und blockiert den Vertriebsprozess.
Lösung
Eingehende E-Mails mit PDF-Anhängen werden automatisch verarbeitet — die KI extrahiert Kundendaten, Positionen und Bestelldetails und erstellt den Auftrag direkt im ERP.
Ergebnis
Vom PDF-Eingang zum fertigen ERP-Auftrag in Sekunden — ohne manuelle Dateneingabe, mit automatischer Kundenerstellung und sofortiger E-Mail-Bestätigung.
Funktionsweise
- E-Mail-gesteuerte Verarbeitung — Eingehende E-Mails mit PDF-Anhängen werden automatisch verarbeitet. Kein manueller Upload nötig — einfach an die konfigurierte Adresse weiterleiten oder senden.
- Automatische Datenextraktion — Die KI liest das PDF und extrahiert Kundendaten, Rechnungsadresse, Positionen mit Mengen und Preisen, Bestell-IDs und Liefertermine — alles in ein strukturiertes Format, bereit für dein ERP.
- Intelligentes Kundenmanagement — Vor der Erstellung eines Auftrags prüft das System, ob der Kunde bereits im ERP existiert. Falls nicht, werden Kundendatensatz und Rechnungsadresse zuerst erstellt — Duplikate werden automatisch verhindert.
- Auftragserstellung — Die extrahierten Daten werden als Auftrag direkt in dein ERP gepostet, vollständig strukturiert und bereit zur Bearbeitung.
- Sofortige Bestätigung — Der Absender erhält innerhalb von Sekunden eine Antwort-E-Mail — entweder eine Erfolgsbestätigung mit Direktlink zum Auftrag oder eine klare Erklärung, was korrigiert werden muss.
Technische Details
- Mail-Reaktor-Registrierung — Nutzt registerMailReaktorDefinition, um einen /mail-Endpunkt bereitzustellen. Eingehende E-Mails werden automatisch in Absender, Empfänger, Betreff, Nachrichten-ID und Dateianhänge zerlegt.
- Dokumenten-Konvertierungspipeline — E-Mail-Anhänge werden nach PDFs gefiltert, in Base64 konvertiert und dann über aktorConvertPDFToMarkdown aus @operaide/document verarbeitet. Das resultierende Markdown wird an das LLM zur Extraktion übergeben.
- Beispielgesteuerte LLM-Extraktion — Der Extraktions-Prompt enthält eine vollständige Beispiel-JSON-Struktur mit annotierten Feldern (z.B. state: immer auf Englisch, delivery_date: muss ein zukünftiges Datum sein). Das LLM folgt dieser Vorlage, um konsistent strukturierte Ausgaben zu erzeugen, die von Hilfs-Aktoren bereinigt werden, indem Markdown-Codeblöcke entfernt und JSON geparst wird.
- Bedingte Logik mit aktorIfElse — Die Kundenexistenz wird über einen GET-Request an die ERP-API geprüft. aktorIfElse verzweigt den Ablauf: Wenn der Kunde nicht existiert, werden Kunden- und Adressdatensätze erstellt, bevor fortgefahren wird. Existiert der Kunde bereits, wird direkt zur Auftragserstellung gesprungen.
- Verbindungsmanagement — ERP-Zugangsdaten werden über registerConnectionType verwaltet, das einen erpnext-Verbindungstyp mit API-Key und Basis-URL definiert. Zur Laufzeit rufen aktorGetApiBaseUrl und aktorGetApiKey die konfigurierten Werte ab — Geheimnisse bleiben aus dem Code heraus.
- Komponierbare REST-Kette — Jeder ERP-API-Aufruf wird aus atomaren Aktoren zusammengesetzt: aktorCompleteUrl für URL-Vorlagen, aktorHeaderFormatted für Auth-Header, aktorFormatErpEntry für Payload-Transformation und aktorAxiosRequest für den HTTP-Aufruf. Dieselben Bausteine werden für Kunden-, Adress- und Auftragserstellung wiederverwendet.
Reaktor-Architektur
Der Email-to-ERP-Reaktor folgt einem linearen Pattern mit Verzweigung. Eine eingehende E-Mail gelangt in aktorEmailFilesToMarkdown, das nach PDF-Anhängen filtert und sie in Text konvertiert. Das Markdown fließt in aktorExtractDataFromDocument, wo ein LLM strukturiertes JSON anhand einer Beispielvorlage extrahiert. Von hier verzweigt der Ablauf: aktorCheckCustomer fragt das ERP ab, ob der Kunde existiert, und aktorIfElse leitet entweder zur Kunden- und Adresserstellung oder direkt zu aktorSaveErpEntry für den Auftrags-POST weiter. Die ERP-Antwort wird dann an aktorErpEntryAnswer übergeben, wo ein weiteres LLM eine nutzerfreundliche Bestätigung oder Fehlererklärung generiert. Abschließend sendet aktorReplyToMail die Antwort an den ursprünglichen Absender zurück und behält den E-Mail-Thread über die Nachrichten-ID bei.

Bereit zur Auslieferung von KI
Das funktioniert?
Erfahren Sie, wie Operaide Teams dabei hilft, zuverlässige KI-Anwendungen schneller bereitzustellen. Vom Prototyp bis zur Produktion — mit vollständiger Kontrolle und europäischer Souveränität.
