Gescannte Rechnungen mit KI in Excel umwandeln und Positionen prüfen

Eine zweitseitige Rechnung mit Ofox Chat in Excel übertragen: führende Nullen erhalten, Überträge ausschließen und Positionen, Quellseiten und Summen prüfen.

Eine Lochzange prüft einzelne Stellen eines Ticketstreifens.

Eine gescannte Rechnung wird erst dann zu einer brauchbaren Excel-Datei, wenn Positionen mit Quellseiten erfasst, Rechnungsbeträge von Positionszeilen getrennt und die Zahlen abgeglichen wurden. Eine Datei kann sich problemlos öffnen und trotzdem eine fehlende Zeile, eine veränderte Artikelnummer oder eine doppelt gezählte Zwischensumme enthalten.

Dieses Beispiel verwendet eine selbst erstellte, fiktive Rechnung mit zwei Seiten und sechs Positionen. Es enthält keine Kundendaten. Die PDF-Seiten bestehen aus Rasterbildern ohne eingebettete Textebene; Textextraktion ohne OCR liefert deshalb keinen Text. Bekannte Referenzwerte ermöglichen eine nachvollziehbare Prüfung. Das Beispiel belegt keine allgemeine Erkennungsgenauigkeit für Rechnungen.

Quelldatei und Referenz getrennt herunterladen

Laden Sie die gescannte Rechnung herunter und halten Sie die Referenzwerte vom Extraktionsauftrag getrennt. Wer beides hochlädt, prüft möglicherweise nur, ob der Assistent die Lösung abschreiben kann.

Auf Seite 2 wiederholt sich die Tabellenüberschrift. Der Übertrag von 185,40 USD am Ende von Seite 1 steht auch auf Seite 2, ist aber keine zusätzliche Position. Alle Artikelnummern beginnen mit Nullen. Solche Fehlerquellen gibt es auch bei sauberen Dokumenten ohne Handschrift oder starke Scanfehler.

PrüfgrößeReferenzwert
Positionszeilen6
Summe der Positionen auf Seite 1185,40 USD
Summe der Positionen auf Seite 2104,59 USD
Zwischensumme der Rechnung289,99 USD
Steuer, einmal auf die Zwischensumme gerundet29,00 USD
Gesamtbetrag318,99 USD

Die Steuer- und Rundungsregel steht im Beispieldokument. Sie ist keine Empfehlung für deutsche Rechnungen oder andere Rechtsräume. Echte Rechnungen können positionsweise Rundung, Rabatte, Versandkosten, Quellensteuer oder mehrere Steuersätze enthalten. Bewahren Sie die Angaben des Belegs und untersuchen Sie Abweichungen, statt sie durch eine bevorzugte Rechenregel zu ersetzen.

Den Extraktionsweg nach dem Dokument auswählen

Prüfen Sie zuerst die PDF: Lässt sich ein Satz als sinnvoller Text kopieren, besitzt sie wahrscheinlich eine nutzbare Textebene. Wird nur ein Bild ausgewählt, benötigen Sie OCR oder ein Modell, das gerenderte Seiten lesen kann. Auch durchsuchbare PDFs können fehlerhafte OCR enthalten. Vergleichen Sie deshalb eine Artikelnummer und einen Betrag mit der sichtbaren Seite.

Für eine einzelne Rechnung kann ein Assistent, der Dateien verarbeiten kann, Extraktion, Ausnahmen und Arbeitsmappe zusammenführen. Bei Tausenden ähnlich aufgebauten Rechnungen lässt sich eine gepflegte Dokumentenverarbeitung mit festen Geschäftsregeln meist besser überwachen und wiederholen. Modellranglisten helfen bei der Vorauswahl, beweisen aber nicht die korrekte Verarbeitung Ihres Belegs. Der Beitrag zur OCR-Modellauswahl (Englisch) behandelt diese Auswahl; hier geht es um die fertige Tabelle.

Prüfen Sie, ob die konkrete Oberfläche PDFs annimmt und herunterladbare XLSX-Dateien erzeugt. Eine API mit Bildunterstützung ist nicht automatisch ein PDF-Endpunkt. Eine Tabelle im Chat ist ebenfalls noch keine Excel-Datei. Akzeptiert das Werkzeug nur Bilder, exportieren Sie jede Seite einzeln und behalten Sie Reihenfolge und ursprüngliche Seitennummern bei. Eine erfolgreiche erste Seite rechtfertigt nicht, die zweite wegzulassen.

Die Arbeitsmappe vorab definieren

Verwenden Sie eine Zeile je gedruckter Position. Sinnvolle Spalten sind invoice_id, sku, description, quantity, unit_price, line_amount, currency, source_file, source_page und review_status. Fehlen Positionsnummern, ergänzen Sie eine stabile Zeilen-ID. Eine SKU allein ist kein geeigneter Schlüssel zum Entfernen von Duplikaten: Dasselbe Produkt darf mehrfach berechnet werden.

Speichern Sie Kennungen als Text, Mengen und Beträge als Zahlen und die Währung separat. Ein als 000101 angezeigter Zahlenwert 101 ist nicht dasselbe wie eine gespeicherte Textkennung. Sind die führenden Nullen nur über ein benutzerdefiniertes Zahlenformat sichtbar, können sie bei einem späteren CSV-Export verloren gehen.

Das Blatt InvoiceSummary enthält Zwischensumme, Steuer, Gesamtbetrag und deren Fundstellen. Exceptions hält unlesbare Felder, Rechendifferenzen und mögliche Dubletten fest. Ein leeres Ausnahmeblatt ist nur aussagekräftig, wenn die Prüfungen tatsächlich ausgeführt wurden. Lassen Sie den Assistenten die einzelnen Kontrollen benennen, statt lediglich „validiert“ zu schreiben.

Einen ausführbaren Extraktionsauftrag geben

Öffnen Sie in Ofox Chat eine eigene Unterhaltung und hängen Sie ausschließlich die synthetische Rechnung an. Vergewissern Sie sich, dass beide Seiten zum Auftrag gehören. Der folgende englische Prompt bleibt für die Reproduktion unverändert; der Test und seine Ausgaben waren englischsprachig. Diese deutsche Anleitung behauptet keinen zusätzlichen Test deutscher Rechnungen.

Read the attached synthetic invoice PDF. Extract all printed item rows from
all pages into a downloadable XLSX. Do not browse or use external sources.

Create three sheets:
1. LineItems: invoice_id, sku, description, quantity, unit_price,
   line_amount, currency, source_file, source_page, review_status.
2. InvoiceSummary: the printed subtotal, tax, total, tax/rounding wording,
   and the source page for each value.
3. Exceptions: unreadable fields, inconsistent amounts and any rows that
   require a person to check the image.

Preserve identifiers, including leading zeros, as text. Do not treat repeated
headers, carried-forward amounts, subtotals, tax or totals as item rows.
Do not deduplicate repeated SKUs unless the printed rows are proven duplicates.
For an unreadable value, leave the numeric cell empty and explain why.
Do not infer a missing number just to make the invoice balance.

Compare quantity × unit price with each printed line amount. Reconcile the
item sum with the printed subtotal and the subtotal plus printed tax with
the printed total. Preserve both printed and calculated values when they
conflict. State the page count and item count. Return the actual XLSX file,
not only a Markdown table. Keep the original PDF unchanged.

Der Auftrag trennt das Lesen von der Berechnung. Ändert der Assistent einen gedruckten Betrag, damit die Summe aufgeht, ist die Tabelle keine originalgetreue Extraktion mehr. Eine Abweichung muss sichtbar bleiben, auch wenn das Modell einen vermeintlich richtigen Wert vermutet.

Verarbeiten Sie private Rechnungen nur im erlaubten Rahmen. Entfernen Sie nicht benötigte Bankverbindungen oder personenbezogene Daten. Das öffentliche, fiktive Beispiel belegt nicht, dass Ihre Organisation das Hochladen echter Lieferantenbelege bei diesem Dienst erlaubt.

Heruntergeladene Zellen statt nur die Vorschau prüfen

Öffnen Sie zuerst LineItems. Erwartet werden sechs Zeilen: drei mit Quellseite 1 und drei mit Quellseite 2. Suchen Sie 000101 und 000108 und prüfen Sie den tatsächlichen Zellwert beziehungsweise die Bearbeitungsleiste, nicht nur die Formatierung. Gleichen Sie Beschreibung und Zahlen jeder Position mit dem Original ab.

Rechnen Sie anschließend unabhängig nach. Im Beispiel gilt:

Page 1: 2 × 19.95 + 3 × 8.50 + 1 × 120.00 = 185.40
Page 2: 4 × 6.25 + 2 × 14.80 + 1 × 49.99 = 104.59
Subtotal: 185.40 + 104.59 = 289.99
Tax: 289.99 × 10%, rounded to cents = 29.00
Total: 289.99 + 29.00 = 318.99

Eine passende Gesamtsumme reicht nicht aus. Zwei Fehler können sich aufheben, und eine falsche SKU verändert den Betrag nicht. Prüfen Sie getrennt, ob jede Zeile zur richtigen Originalposition gehört, alle Seiten erfasst sind und die Zahlen rechnerisch übereinstimmen. Bei größeren Stapeln stimmen Sie zunächst jede Rechnung und jede Währung einzeln ab.

Enthält die Arbeitsmappe Formeln, lassen Sie sie in Excel oder einer kompatiblen Tabellenanwendung neu berechnen. Ein Python-Skript, das nur Formel-Caches liest, kann leere oder veraltete Werte erhalten. Die openpyxl-Dokumentation (Englisch) unterscheidet ausdrücklich zwischen dem Schreiben und dem Auswerten von Formeln. Berechnen Sie Referenzbeträge für automatisierte Prüfungen mit Dezimalarithmetik; ein Formeltext ist kein berechnetes Ergebnis.

Was der tatsächliche Chat-Test geliefert hat

Am 7. November 2026 haben wir nur die zweitseitige Beispiel-PDF in Ofox Chat im Modus Balanced hochgeladen. Die Referenz-JSON wurde nicht mitgegeben. Die tatsächlich erzeugte Arbeitsmappe enthält LineItems, InvoiceSummary und Exceptions.

Echte englische Ofox-Chat-Vorschau mit sechs Artikelkennungen einschließlich führender Nullen.

Die heruntergeladene Datei wurde zusätzlich unabhängig geprüft: Alle sechs SKUs sind Zeichenketten, Beschreibungen und Zahlen stimmen mit der Quelle überein, und jede Seite ist mit drei Positionen vertreten. Dezimalarithmetik ergibt 289,99 USD Zwischensumme und 318,99 USD Gesamtbetrag. Der Übertrag steht im Übersichtsblatt und wurde nicht als Kaufposition gezählt.

Exceptions enthält eine informative Zeile „No exceptions“ und ist nicht buchstäblich leer. Zählen Sie diese Zeile nicht als fehlerhafte Position. Gedruckte und berechnete Beträge werden getrennt aufbewahrt. Der Versuch zeigt das Verfahren an einer sauberen, synthetischen englischen Rechnung, aber keine OCR-Quote und keine Leistung für Handschrift, beschädigte Scans, andere Sprachen oder Lieferantenstapel.

Nur den fehlerhaften Teil korrigieren

SymptomZuerst prüfenNächster Schritt
Sieben oder acht PositionenÜbertrag oder Zwischensumme als Position erfasstFundstelle vergleichen; nur die nachgewiesene Summenzeile entfernen
Richtiger Gesamtbetrag, falsche SKUTexterkennung oder ZelltypKennung aus dem Bild korrigieren und als Text speichern
Nur drei PositionenZweite Seite fehlt oder wurde nicht verarbeitetSeite 2 erneut anhängen und geprüfte Zeilen mit Herkunft ergänzen
Menge × Preis stimmt nichtOCR, Rabatt, Einheit oder Widerspruch im BelegGedruckte Werte behalten und Differenz dokumentieren
Gesamtbetrag 504,39 USDÜbertrag von 185,40 USD möglicherweise doppelt gezähltHerkunft des Zusatzbetrags prüfen; nicht blind abziehen
Kein Link zur ArbeitsmappeDateierstellung oder Übergabe fehlgeschlagenXLSX anfordern; andernfalls dokumentierten CSV-Import mit Textspalten verwenden

Eine gezielte Korrektur ist leichter nachzuprüfen als „noch einmal versuchen“. Dieser englische Reparaturprompt beschreibt einen möglichen Fehler; er trat im Test nicht auf:

Reopen the original invoice page 2. The carry-forward amount 185.40 is not
an item row. Remove that row from LineItems only if its source location
confirms it is the carry-forward. Preserve the six printed item rows,
SKUs and source pages. Recompute the reconciliation and export a new
workbook named invoice-reviewed-v2.xlsx. Describe exactly what changed.

Bewahren Sie beide Versionen auf. Ist die Schrift unlesbar, hilft ein neuer Prompt nicht unbedingt: Beschaffen Sie einen besseren Scan oder prüfen Sie das Original manuell. Eine vom Modell genannte Konfidenzzahl ersetzt diese Kontrolle nicht.

Aus einem geprüften Beleg einen wiederholbaren Ablauf machen

Testen Sie vor der Stapelverarbeitung auch Gutschriften, mehrere Währungen, gleiche Rechnungsnummern verschiedener Lieferanten, Rabatte und mehrseitige Tabellen. Legen Sie fest, wann negative Werte zulässig sind und wie doppelte Rechnungen erkannt werden. Sechs englische Beispielzeilen belegen diese Fälle nicht.

Nach erfolgreicher Extraktion führt die Excel-Analyse (Englisch) zu Auswertungen und Diagrammen. Die Anleitung zum Zusammenführen von Excel-Dateien hilft, bestätigte Datensätze mit Herkunft zu kombinieren. Für API-Pipelines folgt nach OCR die Text-zu-JSON-Validierung (Englisch); gültiges JSON ersetzt keine Rechnungsabstimmung.

Das Ziel ist eine Arbeitsmappe, die eine andere Person bis zum Beleg zurückverfolgen kann. Beginnen Sie mit dem Beispiel in Ofox Chat und übernehmen Sie die Kontrollen in Ihren tatsächlichen Arbeitsablauf.