Rechnungsverarbeitung

Aus jeder Eingangsrechnung wird Buchung oder Ticket

So funktioniert dieser Workflow

  1. 1TriggerNeue E-Mail mit PDF-Rechnung
  2. 2Daten extrahierenRechnungsnummer, Vendor, Beträge, Fälligkeit, IBAN, Bestellnr. als JSON
  3. 3Abgleich gegen BestellungLieferant, Betrag (± Toleranz), Leistung, Bestellnummer
  4. 4Match-EntscheidungPasst alles im Toleranzrahmen?
  5. 5Automatisch buchenBei Match im Buchhaltungssystem mit Kostenstelle & Konto
    6EskalationBei Abweichung Ticket/Slack an Finance mit Details
  6. 7Audit-LogEingangs-Mail, JSON, Abgleich-Ergebnis und Status protokollieren

Prompts zum Kopieren

Trag deine Angaben ein oder klick auf einen Namen im Text. Alles bleibt in deinem Browser — wir sehen und speichern es nicht.

Builder-Prompt

Der Builder-Prompt baut den Workflow. Die zwei Prompts darunter laufen später in ihm — sie gehören in die beiden KI-Schritte.

Baue einen Workflow nach der folgenden Spezifikation. Passe die Struktur an die Konzepte deines Tools an (z. B. Nodes, Steps, Zaps, Agenten-Aktionen) — erhalte dabei aber Trigger-Logik, Reihenfolge, Verzweigungen und Datenfluss.

## Ziel
Eingangsrechnungen automatisch auslesen, gegen Bestelldaten im ERP abgleichen, bei Übereinstimmung direkt buchen und nur Abweichungen ans Finance-Team eskalieren — mit lückenlosem Audit-Log.

## Trigger
- Typ: Neue E-Mail mit PDF-Anhang im dedizierten Rechnungs-Postfach (z. B. rechnungen@beispiel-firma.de).
- Filter: Nur Anhänge vom Typ PDF; andere Mails ignorieren.

## Schritte
1. PDF auslesen: Text per OCR/Extraktion aus dem Anhang gewinnen.
2. KI-Schritt: Datenextraktion — nutze EXAKT „Prompt 1“ (unten). Output ist JSON mit allen Rechnungsfeldern.
3. Duplikats-Check: Rechnungsnummer + Lieferant als Unique-Key gegen bereits verarbeitete Rechnungen prüfen. Duplikat → direkt zu Schritt 7 (Eskalation als Duplikat).
4. Bestelldaten laden: über die Bestellnummer aus dem ERP (SAP, Dynamics, Odoo); FALLBACK ohne Bestellnummer: Matching über Lieferant + Betrag + Datum.
5. KI-Schritt: Abgleich — nutze EXAKT „Prompt 2“ (unten) mit Rechnungs-JSON und Bestell-JSON. Output ist JSON mit empfehlung.
6. VERZWEIGUNG: WENN empfehlung = „automatisch_buchen“ → Buchung im Buchhaltungssystem (DATEV, Lexoffice o. ä.) mit Kostenstellen- und Konten-Mapping auslösen.
7. SONST (oder bei Duplikat/fehlender Bestellung) → Eskalation: Ticket oder Slack/Teams-Nachricht an das Finance-Team mit Rechnungsdaten, Bestelldaten und allen Abweichungs-Details; Fall als „manuelle Prüfung“ markieren.
8. BEIDE ZWEIGE → Audit-Log: Eingangs-Mail, extrahiertes JSON, Abgleich-Ergebnis und finalen Status protokollieren.

## Prompts (exakt und unverändert übernehmen)
Prompt 1 – Rechnungsdaten-Extraktion:
"""
Du bist ein Experte für Rechnungsanalyse. Analysiere die folgende Rechnung und extrahiere alle relevanten Daten in einem strukturierten JSON-Format.

RECHNUNG:
{{RECHNUNGS_TEXT}}

Extrahiere folgende Informationen:
- Rechnungsnummer
- Lieferant/Rechnungssteller (Name und Adresse)
- Rechnungsdatum
- Fälligkeitsdatum
- Nettobetrag
- Mehrwertsteuersatz und -betrag
- Bruttobetrag (Gesamtsumm)
- Leistungsbeschreibung/Positionen
- Bestellnummer (falls vorhanden)
- IBAN/Bankverbindung

AUSGABEFORMAT (JSON):
{
"rechnungsnummer": "...",
"lieferant": {"name": "...", "adresse": "..."},
"rechnungsdatum": "YYYY-MM-DD",
"faelligkeitsdatum": "YYYY-MM-DD",
"nettobetrag": 0.00,
"mwst_satz": 0.00,
"mwst_betrag": 0.00,
"bruttobetrag": 0.00,
"leistungen": ["Position 1", "Position 2"],
"bestellnummer": "...",
"iban": "..."
}

Wenn Informationen nicht vorhanden sind, setze den Wert auf null. Achte auf korrekte Zahlenformate (Punkt als Dezimaltrennzeichen).
"""

Prompt 2 – Abweichungsanalyse:
"""
Du bist ein Experte für Rechnungsprüfung. Vergleiche die extrahierten Rechnungsdaten mit den Bestelldaten und identifiziere Abweichungen.

RECHNUNGSDATEN:
{{RECHNUNGSDATEN_JSON}}

BESTELLDATEN:
{{BESTELLDATEN_JSON}}

PRÜFKRITERIEN:
- Lieferant stimmt überein
- Betrag weicht maximal Toleranz Prozent% ab
- Leistungsbeschreibung passt zur Bestellung
- Bestellnummer ist korrekt (falls vorhanden)

AUSGABE:
Erstelle eine strukturierte Analyse im folgenden JSON-Format:
{
"abweichungen_gefunden": true/false,
"details": [
{"kategorie": "Betrag/Lieferant/Leistung", "beschreibung": "...", "schweregrad": "kritisch/mittel/gering"}
],
"empfehlung": "automatisch_buchen" oder "manuelle_prüfung_erforderlich",
"begruendung": "..."
}

Sei präzise und nenne konkrete Zahlen bei Abweichungen. Bei Beträgen unter Toleranz Prozent% Abweichung gilt die Rechnung als korrekt.
"""

## Datenfluss
- Schritt 1 → 2: {{RECHNUNGS_TEXT}} (OCR-Ergebnis)
- Schritt 2 → 3/4/5: Rechnungs-JSON → {{RECHNUNGSDATEN_JSON}}
- Schritt 4 → 5: Bestelldaten → {{BESTELLDATEN_JSON}}
- Schritt 5 → 6/7: JSON-Felder empfehlung, abweichungen_gefunden, details, begruendung

## Fehlerbehandlung
- OCR/Extraktion unvollständig (Pflichtfelder wie Rechnungsnummer oder Bruttobetrag = null): NICHT buchen → Eskalation mit Hinweis auf Scan-Qualität.
- Keine Bestellung gefunden (auch per Fallback-Matching): NICHT buchen → Eskalation.
- Duplikat erkannt: NICHT buchen → als Duplikat eskalieren.
- Fremdwährung oder ungewöhnliches Format: Eskalation zur manuellen Prüfung.
- Grundsatz: Im Zweifel niemals automatisch buchen — immer eskalieren.

## Platzhalter-Konvention
Platzhalter in geschweiften Klammern füllt der Workflow zur Laufzeit selbst. Platzhalter in eckigen Klammern legt der User einmalig fest, bevor der Workflow aktiviert wird. Mappe {{RECHNUNGS_TEXT}}, {{RECHNUNGSDATEN_JSON}} und {{BESTELLDATEN_JSON}} dynamisch (siehe Datenfluss). NICHT dynamisch ist Toleranz Prozent — diesen Wert muss der User vor Aktivierung festlegen (mit echten Vergangenheits-Rechnungen kalibrieren). Liste solche manuellen Platzhalter am Ende explizit auf.

## Selbst-Check vor Abschluss
Prüfe, bevor du den Workflow als fertig meldest:
1. Sind alle Schritte korrekt verbunden — insbesondere die Verzweigung Buchen/Eskalation und das Audit-Log in BEIDEN Zweigen?
2. Sind beide KI-Prompts vollständig und unverändert eingefügt und alle dynamischen Platzhalter gemappt?
3. Greifen Duplikats-Check und Fallback-Matching wie spezifiziert?
4. Liste alle Punkte auf, die manuell konfiguriert werden müssen (z. B. Rechnungs-Postfach, ERP- und Buchhaltungs-Zugang, Kostenstellen-/Konten-Mapping, Toleranz Prozent, Eskalations-Kanal).
Alternativ direkt importierenWorkflow-JSON herunterladen

Prompt – Rechnungsdaten-Extraktion

Extrahiert alle relevanten Rechnungsinformationen aus dem PDF-Text in strukturierter JSON-Form.

Du bist ein Experte für Rechnungsanalyse. Analysiere die folgende Rechnung und extrahiere alle relevanten Daten in einem strukturierten JSON-Format.

RECHNUNG:
{{RECHNUNGS_TEXT}}

Extrahiere folgende Informationen:
- Rechnungsnummer
- Lieferant/Rechnungssteller (Name und Adresse)
- Rechnungsdatum
- Fälligkeitsdatum
- Nettobetrag
- Mehrwertsteuersatz und -betrag
- Bruttobetrag (Gesamtsumm)
- Leistungsbeschreibung/Positionen
- Bestellnummer (falls vorhanden)
- IBAN/Bankverbindung

AUSGABEFORMAT (JSON):
{
"rechnungsnummer": "...",
"lieferant": {"name": "...", "adresse": "..."},
"rechnungsdatum": "YYYY-MM-DD",
"faelligkeitsdatum": "YYYY-MM-DD",
"nettobetrag": 0.00,
"mwst_satz": 0.00,
"mwst_betrag": 0.00,
"bruttobetrag": 0.00,
"leistungen": ["Position 1", "Position 2"],
"bestellnummer": "...",
"iban": "..."
}

Wenn Informationen nicht vorhanden sind, setze den Wert auf null. Achte auf korrekte Zahlenformate (Punkt als Dezimaltrennzeichen).

Prompt – Abweichungsanalyse

Gleicht die extrahierten Rechnungsdaten mit den Bestelldaten ab und liefert eine Buchungsempfehlung.

Du bist ein Experte für Rechnungsprüfung. Vergleiche die extrahierten Rechnungsdaten mit den Bestelldaten und identifiziere Abweichungen.

RECHNUNGSDATEN:
{{RECHNUNGSDATEN_JSON}}

BESTELLDATEN:
{{BESTELLDATEN_JSON}}

PRÜFKRITERIEN:
- Lieferant stimmt überein
- Betrag weicht maximal Toleranz Prozent% ab
- Leistungsbeschreibung passt zur Bestellung
- Bestellnummer ist korrekt (falls vorhanden)

AUSGABE:
Erstelle eine strukturierte Analyse im folgenden JSON-Format:
{
"abweichungen_gefunden": true/false,
"details": [
{"kategorie": "Betrag/Lieferant/Leistung", "beschreibung": "...", "schweregrad": "kritisch/mittel/gering"}
],
"empfehlung": "automatisch_buchen" oder "manuelle_prüfung_erforderlich",
"begruendung": "..."
}

Sei präzise und nenne konkrete Zahlen bei Abweichungen. Bei Beträgen unter Toleranz Prozent% Abweichung gilt die Rechnung als korrekt.

Was dieser Workflow genau macht

Eingangsrechnungen kommen als PDF im Postfach an und werden von Hand abgetippt: Nummer, Lieferant, Netto, Brutto, Fälligkeit, IBAN. Danach sucht jemand die zugehörige Bestellung heraus und vergleicht Position für Position. Bis eine Rechnung gebucht ist, liegt sie oft Tage — und Skontofristen laufen währenddessen ab.

Dieser Workflow übernimmt beide Hälften. Er liest jede eingehende Rechnung aus und legt die Daten strukturiert ab, holt die passende Bestellung aus dem ERP und vergleicht Lieferant, Betrag, Leistung und Bestellnummer. Liegt alles im Toleranzrahmen, bucht er im Buchhaltungssystem. Weicht etwas ab, fehlt die Bestellung oder war die Rechnung schon einmal da, geht sie mit allen Details ans Finance-Team. Jeder Fall landet im Audit-Log — Eingangsmail, ausgelesene Daten, Abgleich-Ergebnis und Status.

Der Unterschied zu einem Skill oder Agenten: Ein Workflow läuft von allein. Du richtest ihn einmal ein, danach arbeitet er ohne dich — es gibt kein Gespräch, in dem du etwas nachreichst. Deine einzige Stellschraube ist die Toleranz: Wie weit darf der Rechnungsbetrag von der Bestellung abweichen, damit noch automatisch gebucht wird?

So richtest du ihn ein

Entscheide zuerst, wie du starten willst. Danach siehst du nur den passenden Weg.

Wie möchtest du den Workflow anlegen?

Beide Wege führen zum selben Aufbau.

Builder-Prompt: n8n · Make · Zapier · Langdock

Du siehst beim Aufbau zu und kannst eingreifen.

  1. Angaben oben ausfüllen und Builder-Prompt kopieren.
  2. Workflow-Tool öffnen, einen neuen Workflow anlegen und den KI-Chat wählen.
  3. Den Builder-Prompt einfügen.
  4. Den erzeugten Aufbau prüfen.
  1. Zugänge verbinden, bevor der Workflow das erste Mal läuft

    Ein eigenes Rechnungs-Postfach für die PDFs, ein ERP- oder Bestellsystem (SAP, Dynamics, Odoo), ein Buchhaltungssystem (DATEV, Lexoffice o. ä.), ein LLM-Zugang und ein Kanal für Eskalationen — Slack, Teams oder ein Ticket-System. Am Schreibzugriff auf die Buchhaltung scheitert es am häufigsten; ohne ihn bleibt auch die saubere Rechnung liegen.

  2. Die beiden Teil-Prompts in die KI-Schritte einsetzen

    Unverändert. Sie reichen Daten aneinander weiter; wer einen umschreibt, muss die Platzhalter der Nachbarschritte mitziehen.

  3. Zwei Werte festlegen, bevor der erste Fall durchläuft

    Das Konten- und Kostenstellen-Mapping für die Buchung, und die erlaubte Betragsabweichung. Die Toleranz kalibrierst du an echten Rechnungen aus der Vergangenheit — nimm dreißig abgeschlossene Fälle und sieh nach, wie weit Rechnung und Bestellung dort auseinanderlagen.

  4. Mit zwei Rechnungen testen

    Einer, die sauber zur Bestellung passt, und einer mit falschem Betrag. Prüf drei Dinge: Stimmen Nummer, Lieferant, Beträge und IBAN im ausgelesenen Datensatz? Greift die Toleranz wie gedacht? Landet die korrekte Rechnung wirklich gebucht — und die falsche beim Team?

  5. Die Grenzfälle durchspielen, bevor du live gehst

    Ein schlecht gescanntes PDF, eine Rechnung ohne Bestellnummer, eine in Fremdwährung, und dieselbe Rechnung zweimal. Genau dort entscheidet sich, ob am Ende Geld zweimal rausgeht.

  6. Klein starten

    Ein Lieferant, dessen Rechnungen jeden Monat gleich aussehen. Erst ausweiten, wenn du über mehrere Wochen Stichproben gelesen hast. Eine zu weite Toleranz bucht eine falsche Rechnung durch, und das merkt niemand, bis das Geld weg ist.

Wenn dein Workflow läuft

Du bist fertig. Diese Hinweise brauchst du erst, wenn etwas hakt oder du den Workflow erweitern möchtest.

  • Schlechte Scan-QualitätMindest-Auflösung erzwingen oder ein stärkeres Auslese-Modell vorschalten
  • Fehlende BestellnummerRückfall auf Lieferant, Betrag und Datum
  • Doppelt gebuchte Rechnungen (Rechnungsnummer und Lieferant als eindeutigen Schlüssel prüfen) und eine Toleranz
  • Die zu eng oder zu weit steht

So richtest du ihn ein

  1. Angaben oben ausfüllen und Prompts kopieren deine Angaben setzen sich beim Kopieren mit ein. Den Prompt selbst kannst du dabei frei ändern — kürzen, ergänzen, umschreiben.
  1. Zugänge verbinden, bevor der Workflow das erste Mal läuft: ein eigenes Rechnungs-Postfach für die PDFs, ein ERP- oder Bestellsystem (SAP, Dynamics, Odoo), ein Buchhaltungssystem (DATEV, Lexoffice o. ä.), ein LLM-Zugang und ein Kanal für Eskalationen — Slack, Teams oder ein Ticket-System. Am Schreibzugriff auf die Buchhaltung scheitert es am häufigsten; ohne ihn bleibt auch die saubere Rechnung liegen.
  2. Die beiden Teil-Prompts in die KI-Schritte einsetzen: Unverändert. Sie reichen Daten aneinander weiter; wer einen umschreibt, muss die Platzhalter der Nachbarschritte mitziehen.
  3. Zwei Werte festlegen, bevor der erste Fall durchläuft: das Konten- und Kostenstellen-Mapping für die Buchung, und die erlaubte Betragsabweichung. Die Toleranz kalibrierst du an echten Rechnungen aus der Vergangenheit — nimm dreißig abgeschlossene Fälle und sieh nach, wie weit Rechnung und Bestellung dort auseinanderlagen.
  4. Mit zwei Rechnungen testen: einer, die sauber zur Bestellung passt, und einer mit falschem Betrag. Prüf drei Dinge: Stimmen Nummer, Lieferant, Beträge und IBAN im ausgelesenen Datensatz? Greift die Toleranz wie gedacht? Landet die korrekte Rechnung wirklich gebucht — und die falsche beim Team?
  5. Die Grenzfälle durchspielen, bevor du live gehst: ein schlecht gescanntes PDF, eine Rechnung ohne Bestellnummer, eine in Fremdwährung, und dieselbe Rechnung zweimal. Genau dort entscheidet sich, ob am Ende Geld zweimal rausgeht.
  6. Klein starten: ein Lieferant, dessen Rechnungen jeden Monat gleich aussehen. Erst ausweiten, wenn du über mehrere Wochen Stichproben gelesen hast. Eine zu weite Toleranz bucht eine falsche Rechnung durch, und das merkt niemand, bis das Geld weg ist.
  7. Wenn es hakt, sind es fast immer dieselben vier Stellen: schlechte Scan-Qualität (Mindest-Auflösung erzwingen oder ein stärkeres Auslese-Modell vorschalten), fehlende Bestellnummer (Rückfall auf Lieferant, Betrag und Datum), doppelt gebuchte Rechnungen (Rechnungsnummer und Lieferant als eindeutigen Schlüssel prüfen) und eine Toleranz, die zu eng oder zu weit steht.
  8. Ausbauen, wenn der Kern läuft: eine Freigabe-Schleife ab einem Betragsschwellwert, Skonto-Überwachung, eine Auswertung nach Lieferant und Abweichungsgrund.

Screenshots