Im Innendienst vieler Großhändler und Hersteller beginnt der Tag mit einem Stapel Bestellungen als PDF. Jede wird geöffnet, gelesen und Position für Position ins ERP getippt. Diese Anleitung beschreibt einen Workflow in n8n, der das vorbereitet und einen Auftragsvorschlag anlegt. Eine laufende Instanz setzen wir voraus, siehe n8n im Unternehmen einrichten. Welche Dokumentarten sich außerdem eignen, steht unter Dokumentenverarbeitung.

Auf einen Blick
Dauervier bis acht Wochen bis zum Echtbetrieb
BeteiligtInnendienst, ERP-Verantwortliche oder ERP-Dienstleister, IT für die Zugänge
Voraussetzunggepflegter Artikel- und Kundenstamm, Schnittstelle oder Importweg ins ERP, zentrales Bestellpostfach

So sieht der fertige Workflow aus

NodeAufgabeWichtige Einstellung
Microsoft Outlook Trigger oder Email Trigger (IMAP)holt neue E-Mails samt AnhangAnhänge herunterladen aktivieren
Extract from Fileliest den PDF-TextOperation „Extract From PDF“
Information Extractorzieht strukturierte Daten herausJSON-Schema mit allen Feldern
Data Tableübersetzt Artikelnummern, erkennt Dubletteneine Tabelle je Zweck
HTTP Requestprüft Kunde, Artikel und Preis im ERPnur lesender Zugang
Code oder IFwendet die Prüfregeln anErgebnis: sauber oder Klärfall
Microsoft Outlookholt die FreigabeOperation „Send and Wait for Response“
HTTP Requestlegt den Auftragsvorschlag aneigener Status im ERP

Schritt 1: Prüfen Sie, wie Ihre Bestellungen wirklich aussehen

Sammeln Sie die Bestellungen von vier Wochen und halten Sie fest, wie sie ankommen: PDF mit Textebene, Scan, Excel-Anhang oder reiner E-Mail-Text. Ermitteln Sie, wie viele Kunden den Großteil der Bestellungen ausmachen. Oft decken 20 Kunden den überwiegenden Teil ab, und mit denen starten Sie.

Beginnen Sie mit digital erzeugten PDFs. Scans und Excel-Dateien kommen in einer zweiten Stufe dazu, denn jedes Format braucht einen eigenen Lesepfad. 30 Bestellungen je Kunde legen Sie als Testmenge beiseite.

Schritt 2: Bauen Sie die Tabelle der Kundenartikelnummern

Das ist die eigentliche Arbeit in diesem Projekt und fällt meist unter den Tisch. Kunden bestellen mit ihrer eigenen Nummer, und die Zuordnung steckt oft nur in den Köpfen erfahrener Mitarbeitender. Exportieren Sie die Aufträge der letzten zwei Jahre aus dem ERP und bauen Sie daraus eine Tabelle:

KundeKundenartikelnummerEigene ArtikelnummerEinheitUmrechnung
10042R-48-3700315Stück1
10042VE-M12-100300214VE100

Für überschaubare Mengen genügt eine Data Table in n8n. Standardmäßig steht allen Data Tables einer Instanz zusammen 200 MiB zur Verfügung. Bei größeren Mengen gehört die Tabelle in eine Datenbank oder ins ERP. Klären Sie außerdem, wer neue Zuordnungen pflegt, denn sonst veraltet die Tabelle innerhalb weniger Monate.

Schritt 3: Lassen Sie das Modell nur auslesen

Nach dem Trigger filtert ein IF-Node auf E-Mails mit PDF-Anhang. Extract from File liest den Text, der Node erwartet die Datei im Input Binary Field, und der heißt je nach Trigger unterschiedlich, etwa attachment_0. Danach folgt der Information Extractor mit einem Sprachmodell. Wählen Sie als Schema Type die Option Define using JSON Schema und legen Sie die Felder fest:

{
  "type": "object",
  "properties": {
    "bestellnummer": { "type": "string" },
    "bestelldatum": { "type": "string" },
    "wunschtermin": { "type": ["string", "null"] },
    "summe_netto": { "type": ["number", "null"] },
    "positionen": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kundenartikelnummer": { "type": "string" },
          "bezeichnung": { "type": "string" },
          "menge": { "type": "number" },
          "einzelpreis": { "type": ["number", "null"] }
        },
        "required": ["kundenartikelnummer", "menge"]
      }
    }
  },
  "required": ["bestellnummer", "positionen"]
}

Geben Sie im System Prompt eine klare Regel vor: Fehlt ein Wert im Dokument, trägt das Modell null ein und errät nichts. Den Kunden ermitteln Sie möglichst über die Absenderadresse statt über den Dokumenttext, das ist zuverlässiger.

Schritt 4: Prüfen Sie mit festen Regeln

Ab hier arbeitet das Modell nicht mehr mit. Alle Prüfungen sind Regeln, die immer gleich und nachvollziehbar entscheiden. Sammeln Sie alle Auffälligkeiten in einer Liste, statt beim ersten Fund abzubrechen, damit der Innendienst alles auf einen Blick sieht.

PrüfungQuelleBei Abweichung
Bestellung schon verarbeitet?Data Table oder ERPKlärfall, kein zweiter Auftrag
Kunde bekannt und nicht gesperrt?ERPKlärfall
Jede Kundenartikelnummer zugeordnet?Tabelle aus Schritt 2Position markieren
Positionen ergeben die Bestellsumme?Rechnung im WorkflowHinweis auf Lesefehler
Preis passt zur Preisliste?ERPHinweis mit beiden Preisen
Menge im üblichen Bereich?AuftragshistorieHinweis, etwa bei zehnfacher Menge
Wunschtermin in der Zukunft und lieferbar?ERPHinweis

Die Anbindung ans ERP läuft über den Node HTTP Request an dessen Schnittstelle. Nutzen Sie für die Prüfungen ein Konto, das nur lesen darf.

Schritt 5: Holen Sie die Freigabe ein

Der Innendienst bekommt eine E-Mail mit den erkannten Positionen und allen Hinweisen. Nutzen Sie dafür Microsoft Outlook mit der Operation Send and Wait for Response. Die Variante gibt es auch für Gmail und Slack. Als Response Type bietet sich Approval an, wenn nur zugestimmt oder abgelehnt wird. Mit Custom Form lassen sich zusätzlich einzelne Werte korrigieren.

Der Workflow pausiert, bis jemand reagiert. Setzen Sie in den Antwortoptionen ein Zeitlimit und benachrichtigen Sie nach dessen Ablauf eine Vertretung, damit kein Auftrag liegen bleibt. Die Freigabe öffnet eine Seite Ihrer n8n-Instanz, die Prüfenden müssen sie also erreichen können. Hängen Sie das Original-PDF oder einen Link darauf an, damit niemand zusätzlich im Postfach suchen muss.

Saubere Bestellungen lassen sich später gesammelt freigeben. Die Freigabe jeder einzelnen bleibt in den ersten Wochen sinnvoll, weil genau dort das Vertrauen in das System entsteht.

Schritt 6: Schreiben Sie ins ERP und merken Sie sich das Ergebnis

Erst nach der Freigabe schreibt ein zweiter HTTP Request den Auftrag. Legen Sie ihn mit einem eigenen Status an, etwa „Vorschlag“, wenn Ihr ERP das zulässt. Der Auftrag ist dann sichtbar, löst aber weder Reservierung noch Auftragsbestätigung aus, bis jemand ihn bestätigt.

Tragen Sie Kunde, Bestellnummer und Auftragsnummer anschließend in die Data Table ein, um Dubletten zu verhindern. Antwortet das ERP mit einem Fehler, greift Ihr Fehler-Workflow, und die Bestellung geht mit Meldung zurück an den Innendienst. Sie darf nie still verloren gehen. Unterscheiden Sie dabei vorübergehende Fehler von dauerhaften, also einen kurzen Ausfall, nach dem ein neuer Versuch sinnvoll ist, von einem abgelehnten Datensatz, den ein Mensch ansehen muss.

Schritt 7: Testen Sie parallel und erweitern Sie schrittweise

Lassen Sie die Testmenge aus Schritt 1 durchlaufen und vergleichen Sie jedes Feld mit dem tatsächlichen Auftrag im ERP. Danach läuft der Workflow zwei bis vier Wochen parallel zum Innendienst, in dieser Zeit noch ohne Schreibzugriff.

MesswertWorauf Sie achten
Korrekt gelesene Positionen je KundeAusreißer zeigen schwierige Layouts
Anteil Bestellungen ohne Korrekturwächst mit gepflegter Zuordnungstabelle
Zeit vom Eingang bis zum AuftragVergleich mit dem Stand vorher
Falsche Mengen oder Artikel im ERPmuss vor dem Start bei null liegen

Gehen Sie dann mit fünf Kunden live und nehmen Sie alle ein bis zwei Wochen weitere dazu. Scans, Excel-Dateien und Bestellungen im Fließtext folgen als eigene Ausbaustufen.

Rechenbeispiel: Was das an Zeit bringt

Ein erfundener Großhändler erhält 80 Bestellungen am Tag und braucht heute vier Minuten pro Stück, das sind gut fünf Stunden täglich. Nach der Einführung sollen 70 Prozent mit einer Minute Sichtprüfung durchlaufen und 30 Prozent drei Minuten Klärung brauchen. Das ergibt 56 plus 72 Minuten, also rund zwei Stunden am Tag. Die gewonnenen drei Stunden stehen dem Innendienst für Kundengespräche zur Verfügung. Stellen Sie dem bei Ihren Zahlen die Kosten aus Ihrem Angebot sowie Betrieb und KI-Nutzung gegenüber.

Woran es in der Praxis hakt

Das häufigste Problem ist ein ungepflegter Artikelstamm mit Dubletten und veralteten Nummern. Das System macht diese Lücken sichtbar, beheben muss sie der Betrieb. Danach folgen Kunden, die ihr Layout ändern, und Sonderwünsche im Freitext wie „bitte Teillieferung vermeiden“. Solche Hinweise sollte das Modell als eigenes Feld ausgeben, damit sie in der Freigabe sichtbar sind und nicht verloren gehen. Wenn Sie den Aufbau lieber begleitet angehen wollen, beschreibt die Prozessautomatisierung unser Vorgehen.