Vor ein paar Wochen hat mich ein Kunde mit einer Aufgabe konfrontiert, die auf den ersten Blick unspektakulär klingt: „Wir bekommen täglich Dutzende Eingangsrechnungen von verschiedenen Lieferanten. Die Positionen landen irgendwo in PDFs — mal als Tabelle, mal als Fließtext, mal komplett verschachtelt. Wir wollen wissen, was wir wann von wem zu welchem Preis gekauft haben.”
Klassische Antwort wäre: Capture-Software kaufen. ERP-Modul aktivieren. Fünfstelliges Budget freigeben.
Meine Antwort: Das geht auch mit dem, was ihr schon habt.
Das Problem: Rechnungen sehen alle anders aus
Der Kunde bekommt Rechnungen von Dutzenden Lieferanten. Drei Beispiele, die zeigen, wie unterschiedlich das sein kann:
Lieferant A (Nutzfahrzeug-Ersatzteile): Eine Position, Lieferschein-Referenz im Kopf, Fahrzeugkennung irgendwo mittendrin, Preisspalten mit Rabattprozent und mehreren MwSt-Sätzen.
Lieferant B (Steinbruch / Schüttgut): Tabellarisch, sauber strukturiert — Lieferschein, Fahrzeugzuordnung, Menge, Einheitspreis, Nettobetrag. Fast schön.
Lieferant C (Sammelrechnung Baustoffe): Positionen nach Baustellen gruppiert, Transportkosten als eigene Zeilen, Artikelaufstellung nochmal am Ende wiederholt. Wer das automatisch verarbeiten will, braucht einen Prompt, der wirklich denkt.
Genau das war die Herausforderung: Ein System, das mit all diesen Varianten umgeht — ohne für jeden Lieferanten ein eigenes Template zu bauen.
Die Lösung: SharePoint Autofill Columns + Power Automate
Schritt 1: Dokumentenbibliothek als Eingangskorb
Die Rechnungen landen in einer SharePoint-Dokumentenbibliothek. Das ist der einzige manuelle Schritt, den die Buchhaltung macht: PDF rein, fertig.
Schritt 2: Autofill Column mit KI-Prompt
SharePoint Autofill Columns sind Teil von Document Processing for Microsoft 365 — und bevor ihr jetzt googelt und einen anderen Namen findet: Das ist Microsofts vierte Umbenennung dieser Funktionsgruppe in drei Jahren.
| Jahr | Name |
|---|---|
| 2021 | Microsoft Syntex |
| 2023 | SharePoint Premium |
| 2025 | Document Processing for Microsoft 365 |
Falls ihr also in älteren Blog-Artikeln oder Tutorials über „SharePoint Premium” oder „Syntex” stolpert — es ist dasselbe Feature, nur wieder anders beschriftet. Die Funktionen selbst sind stabil geblieben. Der Feature-Name Autofill Columns ist übrigens durch alle Rebranding-Runden hindurch gleich geblieben — daran könnt ihr euch orientieren.
Das Feature läuft über einen LLM und analysiert jede hochgeladene Datei automatisch — mit dem Prompt, den du definierst. Kein Training, keine Modellpflege, kein Code.
Das Besondere: Der Output geht in eine Spalte der Bibliothek. Eine Spalte, ein Wert. Was, wenn eine Rechnung aber zehn Positionen hat?
Hier liegt der eigentliche Trick.
Schritt 3: Der Prompt — entwickelt mit M365 Copilot
Ich hatte vom Kunden einen Ordner mit historischen Rechnungen bekommen. Statt selbst einen Prompt zu schreiben und ihn iterativ zu testen, habe ich das anders gemacht: Ich habe M365 Copilot gebeten, sich die Rechnungen anzusehen und mir einen Prompt zu entwerfen, der die Positionsdaten robust extrahiert — unabhängig vom Rechnungsformat.
Das Ergebnis war ein Prompt, der die Positionstabelle als CSV-String ausgibt. Nicht ein Wert, sondern alle Positionen auf einmal, semikolon-getrennt, eine Zeile pro Position.
Auszug aus dem Prompt (anonymisiert und leicht gekürzt):
Du bist ein präziser Daten-Extraktionsassistent. Analysiere das Dokument
und extrahiere alle Artikel-/Leistungspositionen. Erstelle einen einzigen
CSV-String (Semikolon-getrennt).
WICHTIG: Alle Positionen ausgeben.
Wenn das Dokument mehrere Positionen enthält, gib für jede Position
eine eigene CSV-Zeile aus.
Ausgabeformat (streng):
Erste Zeile ist immer exakt:
Lieferschein Nr;Lieferdatum;Bauvorhaben;Fahrzeug;Artikel;Artikel Nr;
Menge;Einheit;Einzelpreis (netto);Gesamtpreis (netto);Gesamtbetrag (netto) je Artikel
Normalisierung:
- Keine Zeilenumbrüche in Feldern (ersetze durch Leerzeichen)
- Dezimaltrennzeichen: Komma
- Datum: YYYY-MM-DD
- Fehlende Werte: Feld leer lassen
Der Prompt enthält außerdem explizite Regeln für:
- Semantische Felderkennung (nicht starres Layout — der Prompt erkennt „Lieferschein”, „LS”, „Delivery Note” als dasselbe)
- Zusammenführen von Artikelbeschreibungen, die über mehrere Zeilen gehen
- Kopfdaten (Bauvorhaben, Fahrzeugkennung), die für alle Positionen gelten und wiederholt werden
Das Ergebnis in der SharePoint-Spalte sieht dann zum Beispiel so aus:
Lieferschein Nr;Lieferdatum;Bauvorhaben;Fahrzeug;Artikel;...
L73AA0097202/1;2024-11-24;[Bauvorhaben];[Fahrzeug];FSS 0/45 TL SoB StB 20;...
Schritt 4: Power Automate liest den CSV-String und baut die Positionsliste
Ein Power Automate Flow läuft immer dann an, wenn eine neue Datei in der Bibliothek verarbeitet wurde und die Autofill Column befüllt ist. Der Flow:
- Liest den CSV-String aus der Spalte
- Splittet ihn zeilenweise (Header überspringen)
- Splittet jede Zeile nach Semikolon
- Schreibt jeden Eintrag als eigenes Element in eine SharePoint-Liste: Eingangsrechnungspositionen
Diese Liste hat alle Felder, die der Prompt liefert: Lieferschein, Datum, Bauvorhaben, Fahrzeugkennung, Artikel, Menge, Einheit, Preise.
Was jetzt möglich ist
Mit der befüllten Positionsliste kann der Kunde endlich Fragen beantworten, die vorher Stunden dauerten:
Preishistorie: Was hat Artikel X im letzten Jahr bei Lieferant Y gekostet? Preisentwicklung auf einen Blick.
Lieferanten-Analyse: Wer liefert was, wie oft, zu welchen Konditionen? Gibt es Lieferanten, die für bestimmte Materialien deutlich günstiger sind?
Diversifikation: Wie abhängig bin ich von einzelnen Lieferanten für kritische Materialien?
Der nächste Schritt wäre ein Dashboard — entweder in Power BI für tiefere Analysen oder als SPFx-Webpart direkt in SharePoint.
Was hat das gekostet?
Die Lösung läuft auf M365-Infrastruktur, die der Kunde schon hatte. Zusatzkosten:
- Document Processing for Microsoft 365: Pay-as-you-go verfügbar — kein Abo-Commitment nötig
- Autofill Column Verarbeitung: $0,005 pro Seite — bei einer zweiseitigen Rechnung also einen Cent pro Dokument
- Power Automate: Standard-Flows, kein Premium-Connector nötig
Für ein Unternehmen mit 200 Rechnungen pro Monat (durchschnittlich 2 Seiten) reden wir von ca. 2 Euro Verarbeitungskosten pro Monat. Das ist kein Tippfehler.
Was ich dabei gelernt habe
1. M365 Copilot als Prompt-Ingenieur Das war für mich der spannendste Teil. Ich habe Copilot nicht als Textgenerator genutzt, sondern als Gesprächspartner für Prompt-Engineering. Mit den historischen Rechnungen als Kontext hat Copilot genau verstanden, welche Randfälle der Prompt abdecken muss — und hat einen deutlich robusteren Prompt geliefert, als ich selbst in erster Iteration geschrieben hätte.
2. Der CSV-Workaround für Multi-Positionen Autofill Columns gibt nativ einen Wert pro Spalte zurück. Für Rechnungen mit vielen Positionen braucht man Kreativität: Der CSV-String-Ansatz ist simpel, robust und lässt sich mit Power Automate sauber verarbeiten.
3. Format-Diversität ist lösbar — mit dem richtigen Prompt Strukturierte Tabellen, Fließtext, verschachtelte Sammelrechnungen — alles in einem Prompt. Der Schlüssel: semantische Erkennung statt starrem Layout-Mapping.
Wann lohnt sich dieser Ansatz?
✅ Ihr bekommt regelmäßig Rechnungen von verschiedenen Lieferanten
✅ Ihr wollt Positionen analysieren (Preise, Mengen, Lieferanten)
✅ Ihr habt M365 und wollt kein separates Tool einführen
✅ Ihr habt jemanden, der Power Automate und SharePoint kennt (oder kennt jemanden 😉)
❌ Ihr braucht sofortige Buchungsintegration ins ERP → dann ist ein dediziertes Capture-Tool sinnvoller
❌ Ihr verarbeitet reine Papier-Rechnungen ohne Digitalisierung → vorher scannen
Fazit
Eingangsrechnungsverarbeitung muss nicht fünfstellig kosten. Mit SharePoint Autofill Columns, einem gut konstruierten KI-Prompt und einem Power Automate Flow bekommt ihr eine Lösung, die mit Rechnungsvielfalt umgehen kann — für buchstäblich Cents pro Dokument.
Das Spannende daran: Der Prompt ist das Herzstück. Und den hat nicht allein ich geschrieben — sondern ich zusammen mit Copilot, basierend auf echten historischen Rechnungen des Kunden.
Das ist für mich praktische KI-Beratung: nicht das neueste Tool verkaufen, sondern das Richtige für den konkreten Use Case bauen.
Fragen dazu? Ihr habt ähnliche Prozesse, die man so lösen könnte? Gerne Erstgespräch buchen.
👉 Jetzt Erstgespräch vereinbaren