Zum Inhalt springen

Alle BeiträgeArchitektur

Datenverträge für ERP-Exporte

Ein KI-Modell liest auch eine veränderte Datendatei ohne Widerspruch. Genau deshalb darf es nie das sein, was Daten aus einem anderen System prüft. Die schriftliche Vereinbarung, gegen die wir jede Lieferung prüfen: Struktur, Bedeutung, Vollständigkeit, Zeitpunkt und Zuständigkeit. Eine fehlerhafte Lieferung wird ganz zurückgehalten statt repariert, und die Vereinbarung wird später zur Vorlage für den Systemwechsel.

18. März 20255 min LesezeitGeschrieben von Subash NatarajanQuellen geprüft 2. Oktober 2026

Die Abgleichquote eines Finanz-Workflows fiel an einem Montagmorgen stark, und nichts war ausgefallen. Ein Update am Wochenende hatte im ERP, dem zentralen Geschäftssystem, das Datumsformat einer Exportdatei von Tag-zuerst auf Monat-zuerst umgestellt. Die Datei umfasste die ersten neun Märztage, also las sich jedes Datum noch als gültig. Nur falsch. Rechnungen wurden mit Wareneingängen aus dem falschen Monat abgeglichen, in vollem Tempo.

Nach dem Zwölften wären Zeilen gescheitert, und jemand hätte binnen Minuten nachgesehen. Die stille Variante brauchte einen Kalenderzufall, und über genug Dateien und Upgrades hinweg sind solche Zufälle nicht mehr selten. Die Korrektur dauerte eine Stunde. Die Suche fast einen Tag, weil nichts im Design damit rechnete, dass eine Datei ihre Bedeutung ändert, ohne ihre Form zu ändern.

Jeder KI-Workflow hängt an Daten, deren Stabilität niemand versprochen hat. Das ERP kann keine Vereinbarung unterschreiben, also schreiben wir eine und setzen sie bei jeder Lieferung durch. Ian Robinson beschrieb Consumer-Driven Contracts 2006 auf der Website von Martin Fowler: Die Seite, die die Daten nutzt, legt fest, worauf sie sich verlässt, und der Absender testet dagegen. Ein altes ERP führt niemandes Tests aus, also setzt die empfangende Seite allein durch und muss dafür einen Teil wählen, der streng genug ist.

KI-Modelle sind zu nachsichtig für die Prüfung

KI-Modelle kommen mit einer umbenannten Spalte oder einem neuen Datumsformat zurecht. An einer Systemgrenze ist das eine Schwäche. Gewöhnlicher Code, der auf eine geänderte Datei trifft, bleibt stehen, und jemand sieht nach. Ein Modell liefert eine plausible Antwort und macht weiter, und der Fehler taucht Wochen später bei der Kontrolle der Bücher auf, weit weg von seiner Ursache. Der Eingang ist deshalb der unnachsichtigste Teil des Systems. Ein Modell darf den Inhalt eines Dokuments lesen; was die Spalten eines Exports bedeuten, entscheidet es nicht.

Jon Postels Regel von 1980, großzügig zu sein bei dem, was man annimmt, passt für freien Text. Zwischen Systemen, so zeigten Martin Thomson und David Schinazi in RFC 9413 (2023), verdeckt ein nachsichtiger Empfänger die Fehler des Absenders, bis sie zum Format werden. Ein KI-Modell ist der nachsichtigste Empfänger, der je in Betrieb ging: Jede ERP-Änderung wird ein Format, das nur das Modell versteht, bis es eines missversteht.

Was die Vereinbarung abdeckt

Die meisten Teams schreiben den ersten dieser fünf Punkte auf und vergessen den Rest.

Struktur. Felder, Typen, Pflichtwerte, ein Datumsformat, festgelegtes Dezimaltrennzeichen und Vorzeichen.

Bedeutung. Was jedes Feld je Quelle darstellt: ob das „Buchungsdatum“ in diesem Markt das Beleg- oder das Erfassungsdatum ist; ob Gutschriften negativ kommen oder positiv mit Belegart. Gleiche Struktur, andere Bedeutung: Dort brechen Daten aus mehreren Märkten.

Vollständigkeit. Wie viele Datensätze ankommen sollen und welche Summe sie ergeben, mit Summen von außerhalb des Exports, etwa der Offene-Posten-Liste des ERP oder den Summen des Kontoauszugs. Eine Lieferung mit perfekter Struktur, der hundert Zeilen fehlen, ist die gefährlichste, deshalb behalten wir diese Prüfung auch für Quellen, die „nie Zeilen verlieren“. Alle tun es irgendwann, an einem Tag, an dem niemand hinsieht.

Zeitpunkt. Wann sie ankommt, welchen Zeitraum sie abdeckt, was mit Datensätzen nach dem Stichtag geschieht. Wer liest, bevor das Lager seine Eingänge erfasst hat, erzeugt Ausnahmen, die in Wahrheit Verspätung sind.

Zuständigkeit. Wer eine Änderung am Export freigibt und wie wir davon erfahren. Ohne das liest man die Vereinbarung erst nach dem Vorfall.

In der Praxis ist es eine versionierte Seite je Export.

Harte Prüfungen stoppen, weiche melden sich

Struktur und Vollständigkeit sind harte Prüfungen: Eine fehlerhafte Lieferung geht nicht weiter. Für die Bedeutung ergänzen wir zwei weichere.

Die erste vergleicht jede Lieferung mit den letzten Wochen: Anteil der Gutschriften, Streuung der Beträge, Zahl verschiedener Lieferanten, Verteilung der Daten über den Monat. Die Datumsumstellung hinterließ einen Fingerabdruck: Tag-zuerst gelesen, landete jedes Märzdatum auf dem Dritten irgendeines Monats, weil im Tagesfeld nun die Monatszahl stand. Eine Prüfung der Verteilung über die Tage hätte die erste Datei markiert, bevor ein einziger Abgleich lief. Weil echte geschäftliche Veränderungen diese Zahlen auch bewegen, stoppen sie keine Lieferung; sie legen sie einer benannten Person vor.

Die zweite ist eine Handvoll bekannter Datensätze, die bei jedem Lauf geprüft werden. Liest sich die bekannte Rechnung eines bekannten Lieferanten plötzlich mit anderem Datum oder Betrag, hat sich die Bedeutung geändert, obwohl die Struktur gleich blieb.

Eine fehlerhafte Lieferung wird ganz zurückgehalten

Die Vereinbarung ist Code. Eine fehlerhafte Lieferung wird weder teilweise verarbeitet noch durch Raten repariert, wie offensichtlich die Korrektur auch scheint: Stille offensichtliche Korrekturen machen aus einer falschen Annahme einen Monat falscher Buchungen. Sie wird mit Begründung zurückgehalten, und eine benannte Person wird informiert. Eine zurückgehaltene Lieferung kostet eine Stunde, eine falsch gelesene Tage und im Finanzbereich eine Korrekturspur, nach der die Prüfer fragen.

Das Zurückhalten verlagert die Kosten einer Änderung außerdem zu denen, die sie verhindern können. Schluckt die empfangende Seite Änderungen still, erfährt oben niemand, dass ein Upgrade etwas kaputt gemacht hat, und das nächste tut dasselbe. Wir melden zurückgehaltene Lieferungen monatlich an den Verantwortlichen jedes Exports. Die Zahl sinkt, sobald Änderungen mit Vorankündigung kommen.

Der Preis: Eine fehlerhafte Zeile hält Hunderte gute auf. Für alles, was in die Buchhaltung schreibt, nehmen wir das in Kauf. Reine Leseanwendungen wie ein Dashboard oder eine Arbeitswarteschlange dürfen einzelne Zeilen ablehnen, solange sie gegen die Kontrollsummen gezählt werden.

Jede Quelle bekommt ihre eigene Vereinbarung

Als wir vier europäische Märkte für Bredent Medical verbanden, jeden auf Dynamics 365 oder einem älteren System, gab es nicht die eine ERP-Vereinbarung. Eine verbindende Schicht stand vor allen vier, mit einer Vereinbarung je Quelle und einer Zuordnung je Markt in ein gemeinsames Modell, das verlässlich blieb, während jeder Markt sich weiter veränderte. Jeder neue Markt ist eine neue Quelle und sollte mit seiner Vereinbarung kommen.

Kontoauszugsdateien (MT940, ISO 20022 camt.053) brauchen ebenfalls eine Vereinbarung je Bank und Kontoart: Ihre Referenzen und Daten bestimmen die Abgleichqualität, und Banken ändern die Feldnutzung beim Formatwechsel.

Änderungen laufen parallel und werden mit kaputten Dateien getestet

Eine geplante Änderung folgt dem Parallel-Change-Muster, das Danilo Sato 2014 auf der Website von Martin Fowler beschrieb: Neu und alt laufen über einen Monatsabschluss nebeneinander, dann fällt die alte Version weg. Eine Änderung, die nicht parallel laufen kann, startet mit der strengsten Rückhalte-Einstellung.

Jede Vereinbarung kommt mit guten Beispieldateien und absichtlich kaputten: umbenanntes Feld, geändertes Datumsformat, fehlende Zeilen, falsche Summe. Die Prüfung muss die ersten annehmen und alle zweiten ablehnen, bei jeder Änderung. Vor einem ERP-Upgrade schickt das Team des Kunden einen Testexport hindurch und weiß binnen Minuten, was bricht.

Mit der IT des Kunden und seinem ERP-Partner vereinbaren wir außerdem einen Satz: Eine Änderung an einem Export, der einen Workflow speist, durchläuft denselben Änderungsprozess wie der Workflow.

Die Vereinbarung überlebt das ERP

Die meisten unserer Kunden werden ihr ERP in wenigen Jahren ersetzen oder erneuern. Am schwersten ist herauszufinden, auf welche Felder, Bedeutungen und Zeitpläne sich jeder nachgelagerte Prozess verlässt. Mit diesen Vereinbarungen existiert diese Liste, getestet und versioniert. Die Vereinbarung, die einen KI-Workflow schützen sollte, wird zur Spezifikation der Migration, und die Tests mit kaputten Dateien werden zu Abnahmetests für die Exporte des neuen Systems.

Das meiste, was einen KI-Workflow verlässlich macht, geschieht, bevor das Modell etwas sieht. Eine Vereinbarung verhindert nicht, dass sich Exporte ändern. Sie macht die Änderung laut, und laute Fehler sind in einer Stunde behoben. Stille findet der Wirtschaftsprüfer.