Saldio Systems
Alle Artikel

Lieferantenrechnungen automatisch einlesen – ganz ohne KI

Vom PDF zum fertigen Beleg: wie Saldio ZUGFeRD und den Swiss QR-Code ausliest, den Lieferanten erkennt und ihn bei Bedarf gleich anlegt – ohne dass ein einziger Beleg an Dritte geht.

·9 min Lesezeit·von Saldio
Lieferantenrechnungen automatisch einlesen – ohne KI
Inhalt

Eine Lieferantenrechnung landet als PDF im Posteingang. Rechnungsnummer, Rechnungsdatum, Fälligkeit, Netto, MWST, Brutto, Währung, IBAN, Referenz, Firmenname, Strasse, PLZ, Ort, MWST-Nummer – rund zwanzig Felder, die jemand abtippt. Bei fünfzig Rechnungen im Monat ist das ein halber Arbeitstag, jeden Monat, mit einer Fehlerquote, die niemand gerne misst.

Der Reflex im Jahr 2026 lautet: da muss KI ran.

Muss sie nicht. Bei den allermeisten Lieferantenrechnungen steht die Antwort bereits maschinenlesbar im Dokument. Man muss sie nur lesen statt raten.

Genau das macht Saldio jetzt: eingehende Lieferantenrechnungen werden beim Upload automatisch ausgelesen – aus dem eingebetteten E-Rechnungs-XML oder aus dem Swiss QR-Code. Der Lieferant wird erkannt, die Felder sind vorausgefüllt, und ein noch unbekannter Lieferant lässt sich direkt aus den Belegdaten anlegen. Ohne KI. Ohne Datenversand an Dritte.

Der Reflex heisst KI. Die Antwort heisst Struktur.

Ein Sprachmodell, das eine Rechnung “versteht”, macht im Kern eine Wahrscheinlichkeitsaussage: Das sieht nach einem Rechnungsdatum aus. Das ist vermutlich der Bruttobetrag. Meistens stimmt das. Manchmal nicht, und man merkt es nicht sofort.

Ein Parser, der ein XML-Feld mit der Bezeichnung IssueDate liest, macht keine Wahrscheinlichkeitsaussage. Er liest ein Datum, oder er findet keines und sagt das.

Struktur lesenInhalt raten lassen
Ergebnisdeterministisch, bei gleichem Beleg immer gleichprobabilistisch, variiert je nach Modellversion
NachvollziehbarkeitFeld X kommt aus Element YBlackbox
Kosten pro BelegRechenzeitTokens, in Fremdwährung, mit Preisliste von morgen
Datenflussbleibt in der eigenen InfrastrukturBeleginhalt geht an einen Anbieter
Fehlerbildfällt sofort auf (Feld leer, Warnung)plausibel falsch

Das ist kein Argument gegen KI. Es ist ein Argument dafür, sie dort einzusetzen, wo sie tatsächlich gebraucht wird – und nicht dort, wo ein internationaler Standard das Problem schon gelöst hat.

Zwei Standards, die die Arbeit längst gemacht haben

Factur-X / ZUGFeRD ist eine hybride Rechnung: ein ganz normales PDF, in das zusätzlich eine vollständige XML-Rechnung nach der europäischen Norm EN 16931 eingebettet ist. Der Mensch sieht das PDF, die Software liest das XML. Dasselbe Dokument, zwei Leserichtungen. Saldio versendet eigene Rechnungen bereits in diesem Format – neu liest es sie auch ein.

Die Swiss QR-Rechnung ist der Schweizer Alltagsfall. Seit der Einzahlungsschein am 30. September 2022 endgültig abgelöst wurde, trägt praktisch jede Schweizer Rechnung einen QR-Code – und darin stecken Zahlungsempfänger, Adresse, IBAN, Währung, Betrag und Referenz in strukturierter Form. Ein XML-Anhang ist hierzulande die Ausnahme, ein QR-Code die Regel. Deshalb ist er für Schweizer KMU die wichtigere der beiden Quellen.

Was Saldio aus einem PDF liest

Bei einer E-Rechnung (Factur-X, ZUGFeRD oder XRechnung) ist die Ausbeute vollständig:

BereichFelder
BelegRechnungsnummer, Rechnungsdatum, Fälligkeitsdatum, Währung, Belegart (Rechnung oder Gutschrift)
BeträgeNetto, MWST, Brutto
LieferantFirma, MWST-Nummer, UID, Strasse und Hausnummer getrennt, PLZ, Ort, Land, IBAN, BIC
PositionenBezeichnung, Menge, Einheit, Einzelpreis, MWST-Satz und Steuersatz-Typ – Zeile für Zeile

Die Mengeneinheiten kommen im Standard als Codes nach UN/ECE Recommendation 20 (HUR, H87, KGM) und werden auf die Saldio-Einheiten zurückgemappt – STUNDE, STÜCK, KG.

Beim Swiss QR-Code ist die Trennlinie sauber: Was der Standard verlangt, ist immer da. Was Swico S1 mitbringt, kommt dazu, wenn der Rechnungssteller es gesetzt hat.

Feld
ImmerKreditor-IBAN oder QR-IBAN, Name und Adresse des Rechnungsstellers, Währung, Referenz (QRR oder SCOR), unstrukturierte Mitteilung
Nur mit Swico S1Rechnungsnummer, Rechnungsdatum, UID/MWST-Nummer, MWST-Satz, Zahlungskonditionen → Fälligkeit
NieRechnungspositionen – die kennt der QR-Code nicht

Zwei Ehrlichkeiten gehören dazu. Erstens: Der Betrag ist laut Spezifikation optional. Fehlt er, sagt Saldio das als Hinweis, statt eine Null zu buchen. Zweitens: Der QR-Code trägt nur den Bruttobetrag. Steht genau ein MWST-Satz darin, rechnet Saldio Netto und Steuer daraus zurück; bei mehreren Sätzen bleibt es beim Brutto – mit dem klaren Hinweis, die Aufteilung selbst zu erfassen. Falsch aufteilen wäre schlimmer als nicht aufteilen.

Wie der Beleg gelesen wird

Die Extraktion läuft in einer Kette. Jede Stufe startet nur, wenn die vorherige nichts gefunden hat – und die Reihenfolge ist nicht nur die günstigere, sondern die fachlich richtige: exakte Quellen schlagen ungefähre.

  1. E-Rechnungs-XML. Trägt das PDF eine eingebettete Rechnung nach Factur-X, ZUGFeRD oder XRechnung, wird sie gelesen. Erkannt und angezeigt wird auch das Profil – MINIMUM, BASIC, EN 16931 oder XRechnung – damit Sie wissen, wie vollständig der Beleg überhaupt sein kann.
  2. Swiss QR-Code. Kein XML im PDF? Dann wird der QR-Code gesucht.
  3. Nichts gefunden. Auch dann entsteht ein Entwurf mit angehängtem PDF und einem klaren Hinweis, welche Felder fehlen. Kein Fehler, keine Sackgasse – nur Handarbeit statt Automatik.

Die QR-Suche selbst ist der unspektakuläre Teil mit dem meisten Alltagsnutzen. Sie läuft in drei Stufen nach steigenden Kosten: zuerst die im PDF eingebetteten Bilder, dann das untere Blattdrittel – dort, wo der Zahlteil laut Norm auf 105 mm sitzt –, und erst zuletzt die ganze Seite.

Vom Rechnungssteller zum Lieferanten

Daten auslesen ist die eine Hälfte. Die andere ist die Frage: Wer ist das eigentlich? Saldio prüft der Reihe nach, absteigend nach Sicherheit – nur innerhalb Ihres Mandanten und nur gegen aktive Lieferanten.

RegelSicherheitVerfügbar im QR-Code
IBAN stimmt mit einer hinterlegten Zahlungsverbindung übereineindeutigimmer
MWST-Nummer stimmt übereineindeutignur mit Swico S1
UID-Nummer stimmt übereineindeutignur mit Swico S1
NamensähnlichkeitVorschlagimmer

Dass die IBAN vorne steht, ist kein Zufall: Sie ist das einzige Signal, das eine QR-Rechnung immer mitliefert – MWST-Nummer und Rechnungsnummer kommen nur mit dem optionalen Swico-Zusatz. Und eine IBAN gehört genau einer Firma.

Eine Namensähnlichkeit erreicht dabei konstruktiv nie das Niveau eines exakten Treffers. Sie taucht als Vorschlag mit Punktzahl auf, nie als vollendete Tatsache.

Unscheinbar, aber tragend ist die Normalisierung: Der QR-Code liefert CHE-123.456.789 MWST, in den Stammdaten steht CHE123456789. Ohne beidseitiges Normalisieren – Trennzeichen weg, Suffixe MWST, TVA und IVA weg – würden die Regeln für MWST- und UID-Nummer praktisch nie greifen.

Lieferant direkt aus dem Beleg anlegen

Der spannendste Fall ist der neue Lieferant. Bisher hiess das: Import abbrechen, Kontakt anlegen, Adresse abtippen, zurück zum Import.

Neu öffnet ein Klick das gewohnte Kontaktformular – vorausgefüllt aus den Belegdaten: Firma, Strasse und Hausnummer getrennt, PLZ, Ort, Land, MWST-Nummer, UID. Und, weil es ohnehin dazugehört, gleich eine Zahlungsverbindung mit IBAN und BIC. Sie prüfen, korrigieren, speichern – der neue Lieferant ist sofort mit dem Beleg verknüpft. Kein Blind-Anlegen, aber auch kein Abtippen.

Stehen ähnliche Firmen als Vorschläge in der Liste, weist Saldio vor dem Anlegen darauf hin. Ein Lieferant, der zweimal in den Stammdaten steht, ist teurer als zehn Sekunden Prüfen.

Dazu kommt ein Lerneffekt, der ganz ohne Modell auskommt: Beim Speichern wird eine gültige Kreditor-IBAN, die noch nicht am Lieferanten hängt, als Zahlungsverbindung hinterlegt. Der nächste Beleg desselben Absenders trifft dann sofort über die stärkste Regel. Der Import wird mit jedem Beleg besser – nicht, weil ein Modell trainiert, sondern weil Stammdaten vollständiger werden.

Und weil die Trennung von Strasse und Hausnummer im Alltag mehr Ärger macht als man denkt: Blattenackerweg 15a wird korrekt getrennt, Chemin des Vignes 7bis auch, Postfach 1234 bewusst nicht – die Zahl dahinter ist eine Fachnummer, keine Hausnummer.

Was dabei nicht passiert

Diese Liste ist der eigentliche Punkt dieses Artikels.

  • Kein Datenversand an Dritte. Der Verarbeitungsdienst, der Ihre PDFs liest, hat keinen ausgehenden Netzwerkzugriff. Nicht “wir nutzen ihn nicht” – er ist nicht vorhanden.
  • Kein OCR-Dienst. Es wird kein Text aus Bildern erkannt, weil es nicht nötig ist. Strukturierte Daten müssen nicht gesehen, sondern gelesen werden.
  • Kein Sprachmodell. Kein Prompt, keine Tokens, kein Anbieter, kein Zusatzvertrag zur Auftragsverarbeitung.
  • Keine Überraschung beim Ergebnis. Derselbe Beleg liefert morgen dasselbe wie heute. Kein Modellwechsel, der still die Resultate verschiebt.
  • Keine Überraschung bei den Kosten. Ein Parser kostet einmal Entwicklung und danach Rechenzeit. Er wird nicht teurer, wenn ein Anbieter seine Preise anpasst.

Dazu die üblichen Vorsichtsmassnahmen, die man bei Datei-Uploads erwarten darf: nur PDF, geprüft an der Dateisignatur statt am angegebenen Dateityp, maximal 25 MB pro Datei und 20 Dateien pro Durchgang, Zwischenablage automatisch aufgeräumt, strikte Mandantentrennung und eine Duplikatserkennung über Lieferant und Rechnungsnummer, die sich bewusst übersteuern lässt.

Die Zahlungsdaten prüft Saldio ausserdem selbst nach – IBAN-Prüfsumme nach ISO 13616, QR-IBAN am reservierten Bankenbereich, die 27-stellige QR-Referenz über ihre rekursive Modulo-10-Prüfziffer, samt der Regel, dass QR-IBAN und QR-Referenz nur gemeinsam auftreten dürfen. Rechnen statt fragen.

Und wo KI trotzdem Sinn ergibt

Nicht jeder Beleg ist strukturiert. Die Parkquittung, der eingescannte Handwerkerrapport, das PDF aus einem Kassensystem ohne QR-Code – dort gibt es nichts zu lesen, dort muss tatsächlich jemand hinschauen. Genau für diesen Rest ist KI in der Saldio-Roadmap vorgesehen: als dritte Stufe hinter XML und QR-Code, nicht als Ersatz für sie.

Die Reihenfolge bleibt dabei dieselbe wie heute – exakt, dann exakt, dann geschätzt. Und was geschätzt ist, wird als solches gekennzeichnet und braucht eine Freigabe, bevor es gebucht wird.

Der Punkt ist nicht, dass KI schlecht wäre. Der Punkt ist, dass man ein gelöstes Problem nicht nochmals löst – und schon gar nicht teurer, langsamer und mit mehr Datenschutzfragen als vorher.

Fazit

Automatisierung braucht kein Modell. Sie braucht Daten, die jemand ordentlich strukturiert hat – und die Bereitschaft, diese Struktur auch wirklich zu nutzen.

Bei Schweizer Lieferantenrechnungen ist diese Struktur längst da: europaweit als Factur-X und ZUGFeRD, schweizweit als QR-Rechnung mit inzwischen fast vollständiger Abdeckung. Wer sie liest, bekommt exakte Daten, sofort, zum Nulltarif pro Beleg – und ohne dass eine einzige Rechnung das Haus verlässt.

Das ist selten die spektakulärste Automatisierung. Aber die verlässlichste.

Vom Auftrag bis zum Saldo.

Quellen

  1. QR-Rechnung (SIX) — Offizielle Standardseite der Schweizer QR-Rechnung.
  2. Schweizer Implementation Guidelines QR-Rechnung v2.3 (SIX, PDF) — Verbindliche Spezifikation des Zahlteils, inklusive Pflicht- und Optionalfeldern.
  3. Syntaxdefinition der Rechnungsinformationen S1 (Swico, PDF) — Definition der Swico-Tags 10 bis 40 im Feld “Rechnungsinformationen”.
  4. ZUGFeRD (FeRD) — Hybrides Rechnungsformat: PDF/A-3 mit eingebettetem XML.
  5. Factur-X (FNFE-MPE) — Franko-deutsches Pendant zu ZUGFeRD, technisch identisch.
  6. XRechnung — XML-Standard nach EN 16931 für den öffentlichen Auftragsbereich.