Zum Inhalt springen

Lieferantenportale automatisieren

Veröffentlicht

Ein mittelständischer Fertiger arbeitet mit vierzig Lieferanten. Achtundzwanzig davon betreiben ein eigenes Portal. In diesen Portalen liegen Auftragsbestätigungen, Lieferavise, Preislisten und Rechnungen, jeweils in einer anderen Maske, mit einer anderen Anmeldung und einer anderen Tabellenstruktur.

Ins ERP kommen diese Daten heute so: Jemand meldet sich an, sucht, lädt herunter, tippt ab. Bei achtundzwanzig Portalen ist das eine halbe Stelle, und es ist die Art Arbeit, die niemand freiwillig macht und bei der die Fehlerquote genau dort am höchsten ist, wo sie am teuersten wird.

Dieser Beitrag beschreibt, wie sich das automatisieren lässt, ohne ein Projekt zu erzeugen, das in zwei Jahren mehr Pflege kostet als die halbe Stelle. Er richtet sich an die Fachbereiche Einkauf, Buchhaltung und Supply Chain sowie an die IT, die es umsetzen soll.

Zuerst: Brauchen Sie das überhaupt?

Die Hälfte der begonnenen Extraktionsprojekte wäre ein Nachmittag Recherche gewesen. Arbeiten Sie diese vier Punkte in dieser Reihenfolge ab, denn jeder kann die folgenden überflüssig machen.

Gibt es eine Schnittstelle, die niemand erwähnt hat? Viele Portale sind Anwendungen, die im Hintergrund mit einem JSON-Dienst sprechen. Diesen direkt anzusprechen ist schneller, stabiler und weniger fehleranfällig als das Auslesen seiner Darstellung. Er ist möglicherweise undokumentiert und ohne Zusage, was ein echtes Risiko ist. Wägen Sie es ab, statt daran vorbeizugehen.

Gibt es einen Export, den niemand kennt? In einer Einstellungsseite versteckt, auf Anfrage verfügbar oder für eine andere Benutzerrolle freigeschaltet als die, die Sie erhalten haben. Fragen Sie den Lieferanten direkt. Die Zahl der Extraktionsprojekte, die ein Support-Ticket hätten sein können, ist nicht klein.

Gibt es einen geplanten Bericht? Viele Systeme versenden nächtlich eine CSV-Datei, wenn jemand ein Häkchen setzt. Weniger elegant als eine Schnittstelle und erheblich stabiler als jede Extraktion.

Gibt es einen etablierten Datenaustausch? In der Lieferkette existieren seit Jahrzehnten Formate, und im Rechnungswesen ist der Weg über strukturierte elektronische Rechnungen inzwischen der Normalfall statt der Ausnahme. Wo ein solcher Kanal besteht, ist er jedem Umweg über die Oberfläche überlegen.

Erst wenn alle vier ehrlich mit nein beantwortet sind, wird der Browser zur Integrationsebene. Halten Sie dann schriftlich fest, warum. In zwei Jahren wird jemand fragen, ob das nötig war.

Die Anmeldung ist das eigentliche Problem

Fast jeder, der ein solches Projekt zum ersten Mal angeht, unterschätzt diesen Abschnitt und überschätzt das Auslesen der Tabelle. Das Auslesen ist ein gelöstes Problem. Angemeldet zu bleiben ist es nicht.

Die Sitzungsdauer bestimmt die Form des gesamten Ablaufs. Läuft eine Sitzung nach zwanzig Minuten ab, hat ein Ablauf von fünfundzwanzig Minuten einen Fehler, der nur noch nicht eingetreten ist. Messen Sie die tatsächliche Dauer, bevor Sie den Ablauf entwerfen, und entwerfen Sie ihn so, dass er eine erneute Anmeldung überlebt, statt in ein Zeitfenster zu passen.

Zwei-Faktor-Verfahren sind die Regel. Zeitbasierte Einmalkennwörter lassen sich programmatisch behandeln. Bestätigungen per App, Gerätefreigaben und fotobasierte Verfahren nicht, und der ehrliche Entwurf sieht eine definierte Übergabe an einen Menschen vor statt eines heroischen Automatisierungsversuchs. Ein Ablauf, in dem ein Mensch eine Freigabe erteilt und die Automatisierung fortsetzt, ist ein tragfähiges Muster. Einer, der so tut, als käme die Abfrage nicht, ist es nicht.

Zugangsdaten gehören nicht in den Modellkontext. Ist ein KI-Agent beteiligt, sollte die Anmeldung in einer Schicht stattfinden, die das Modell steuert, aber nicht beobachtet. Andernfalls steht das Kennwort im Kontextfenster und im nächsten Zug in dem, was die Seitendarstellung erfasst hat. Das ist überprüfbar und sollte überprüft werden, in jeder Plattform einschließlich unserer.

Ein dauerhaftes Profil ist mehr wert, als es aussieht. Ein Browser, der mit den Cookies und dem Speicher der vorigen Sitzung erscheint, überspringt die Anmeldung häufig ganz. Das ist nicht nur schneller, es entfernt den Schritt, der am häufigsten scheitert.

Ein Punkt, der in dieser Aufzählung fehlt und in Gesprächen mit Lieferanten regelmäßig auftaucht: Fragen Sie. Ein Lieferantenportal ist ein System, zu dem Sie eine Geschäftsbeziehung und ein Nutzungsrecht haben. Ein technischer Zugang, ein Servicekonto oder ein Eintrag in einer Freigabeliste sind Gespräche, die überraschend oft erfolgreich sind, wenn die Alternative lautet, dass der Kunde jeden Tag achtundzwanzig Mal von Hand hineingeht.

Den Datensatz vor dem Extraktor definieren

Benennen Sie jedes Feld, seinen Typ, seine Pflicht und die Form eines gültigen Wertes. Zuerst, denn das verwandelt Extraktion von einer offenen Tätigkeit in eine prüfbare und gibt der Validierung einen Maßstab.

Es bringt außerdem die Fragen ans Licht, die sonst zum ungünstigsten Zeitpunkt auftauchen. Was bedeutet ein leeres Feld? Null, unbekannt oder nicht zutreffend? Welche Feldkombination identifiziert einen Datensatz eindeutig? Woran erkennen Sie, dass Sie diesen Beleg bereits gesehen haben?

Für eine Rechnung aus einem Lieferantenportal sind das typischerweise: Rechnungsnummer, Rechnungsdatum, Leistungszeitraum, Lieferantenkennung, Bestellbezug, Positionen mit Menge und Einzelpreis, Nettobetrag, Steuersatz und Steuerbetrag, Bruttobetrag, Zahlungsziel. Zehn bis zwölf Felder, von denen sich vier gegenseitig prüfen lassen, und genau diese vier finden die realen Fehler.

Gegen Stabiles auslesen

Die Stabilität der Auswahlkriterien ist der gesamte Pflegeaufwand des Systems, das Sie bauen. Wählen Sie entsprechend.

Am schlechtesten sind Positionsangaben, also die dritte Zeile und die fünfte Spalte. Sie brechen, sobald jemand eine Spalte einfügt. Fast ebenso schlecht sind erzeugte Klassennamen, die beim nächsten Bauvorgang des Portals andere sind.

Deutlich besser sind semantische Anker: die Rolle eines Elements und sein zugänglicher Name, so wie ein Vorleseprogramm die Seite liest. Diese Angaben sind auf den meisten Seiten das Stabilste, weil sie für Menschen mit Behinderung funktional sind und deshalb nicht beiläufig von einem Werkzeug neu erzeugt werden. Am besten sind, wo vorhanden, die eigenen stabilen Kennungen des Portals in Form von Datenattributen.

Wo die Struktur tatsächlich instabil ist, also bei einem Portal, das ohne Ankündigung umgebaut wird, oder bei achtundzwanzig Portalen, die alle verschieden sind, verdient ein Modell seine Kosten. Setzen Sie es als Rückfallebene ein und nicht als Standard, denn ein Selektor, der nicht greift, scheitert laut, und ein Modell, das falsch liest, scheitert leise.

Prüfen, bevor gespeichert wird

Alles Ausgelesene ist ungeprüft, bis es eine Prüfung bestanden hat. Und die Prüfungen, die am meisten finden, gehen über mehrere Felder statt über eines.

Bei einer Rechnung: Ergeben Menge mal Einzelpreis über alle Positionen den Nettobetrag? Ergeben Netto plus Steuer den Bruttobetrag? Liegt das Rechnungsdatum plausibel zum Leistungszeitraum? Passt der Bestellbezug zu einer existierenden Bestellung, und stimmen die Beträge in einer vertretbaren Toleranz überein?

Ein Datensatz, der durchfällt, geht in eine Prüfwarteschlange. Er geht nicht mit einem Achselzucken ins führende System, und er wird nicht in der Annahme wiederholt, der zweite Versuch habe mehr Glück. Eine nicht aufgehende Rechnung ist eine Tatsache über das Dokument, keine über das Netzwerk.

Die Form überwachen, nicht den Rückgabewert

Das typische Versagen einer Extraktionsstrecke ist kein Absturz. Es ist ein Feld, das still von achtundneunzig auf sechzig Prozent Füllgrad fällt, weil eine Spalte umgezogen ist, und drei Wochen so läuft.

Verfolgen Sie den Füllgrad je Feld und die Zeilenzahl je Lauf, und alarmieren Sie auf die Veränderung statt auf den Absolutwert. Diese eine Praxis findet mehr echte Probleme als alles andere auf dieser Seite zusammen, weil sie als Einzige die Fehler entdeckt, die sich nicht melden.

Speichern Sie außerdem zu jedem Wert seine Herkunft: Adresse, Zeitpunkt und nach Möglichkeit das Rohfragment. Das ist wenig Speicherplatz und der ganze Unterschied zwischen einer Antwort auf eine Rückfrage in einem halben Jahr und einem Achselzucken. Es ist zugleich weitgehend das, was ein geprüfter Prozess ohnehin braucht.

Was das im Unterhalt kostet

Extraktionssysteme sind günstig zu bauen und teuer zu halten, und dieses Verhältnis ist umgekehrt zu dem der meisten Software. Es lohnt, das vor der Entscheidung zu verstehen.

Der Aufbau geht schnell. Eine kompetente Entwicklerin bekommt einen Extraktor gegen ein einzelnes Portal in ein bis zwei Tagen zum Laufen. Genau das lässt das erste Projekt leicht und das zehnte nach einer Abteilung aussehen.

Die Unterhaltskosten haben drei Bestandteile, von denen keiner in der Schätzung steht.

Brüche. Jedes Portal, aus dem Sie extrahieren, ist ein Portal, das jemand anderes umbaut. Die Rate schwankt stark, doch über ein Portfolio hinweg wächst die erwartete Zahl der Brüche linear mit der Zahl der Quellen. Zehn Quellen sind eine Nebentätigkeit. Hundert Quellen sind eine Stelle.

Wechsel bei Zugangsdaten. Kennwörter rotieren, Konten werden deaktiviert, ein Portal führt eine neue Zwei-Faktor-Pflicht ein. Das skaliert ebenfalls mit der Zahl der Quellen und ist störender als ein Bruch, weil meist alles aus dieser Quelle auf einmal stehenbleibt.

Beobachtung der stillen Fehler. Jemand muss Füllgrade ansehen und darauf reagieren. Automatisierbar, aber nur wenn es von Anfang an mitgebaut wurde.

Eine brauchbare Faustregel: Der zweite Extraktor sollte ein Zehntel des ersten kosten, sonst haben Sie ein Skript gebaut und kein System. Wenn jede neue Quelle dieselben Fragen zu Anmeldung, Sitzungsführung, Prüfform und Überwachung erneut aufwirft, ist die gemeinsame Mechanik nicht herausgezogen, und das Portfolio kommt bei etwa einem Dutzend Quellen zum Stillstand.

Rechtlich, in Kürze

Keine Rechtsberatung, und der Einzelfall entscheidet. Vier Fragen sollten Sie vor dem Bauen beantworten können.

Wozu haben Sie sich verpflichtet? Bei angemeldetem Zugriff gelten die Kontobedingungen. Untersagen sie automatisierten Zugriff, ist das die Antwort, und der sinnvolle Schritt ist ein Gespräch mit dem Lieferanten, nicht ein Umweg.

Sind personenbezogene Daten betroffen? Ansprechpartner, Namen in Freigabefeldern, Bearbeiterkennungen. Sobald ja, brauchen Sie Rechtsgrundlage, Zweck und Löschfrist, unabhängig davon, ob der Zugriff technisch erlaubt war.

Wird ein Dienstleister eingebunden? Läuft der Browser bei einem Anbieter, ist das eine Auftragsverarbeitung mit allem, was dazugehört: Vertrag nach Artikel 28, Unterauftragnehmerliste, technische und organisatorische Maßnahmen, Löschfristen. Das ist ein normaler Vorgang, kein Hindernis, aber er gehört dokumentiert. Mehr dazu steht auf der Seite zur EU-Datenresidenz.

Umgehen Sie eine Zugangssperre? Das ist die Linie, die den Charakter der Frage ändert. Eine Seite zu lesen, die Sie sehen dürfen, ist etwas anderes, als eine Maßnahme zu überwinden, die Sie davon abhalten soll. Wir bieten dafür bewusst nichts an: keine Proxy-Rotation, keine Verschleierung von Merkmalen, kein Lösen von CAPTCHAs. Für Lieferantenportale, zu denen eine Geschäftsbeziehung und ein Nutzungsrecht bestehen, ist genau das der Fall, für den diese Infrastruktur gebaut ist.

Fünf Merkmale eines guten Systems

Es probiert die günstigste Methode zuerst und wechselt erst, wenn bestätigt ist, dass sie nicht trägt. Es scheitert laut, statt plausiblen Unsinn zu schreiben. Es führt seinen Nachweis mit, sodass jede Zahl auf Quelle und Zeitpunkt zurückgeht. Es beobachtet die Form seiner Ausgabe, sodass stille Verschlechterung in Tagen auffällt und nicht in Monaten. Und es bleibt innerhalb des Vereinbarten, sodass niemand die Entscheidung später neu verhandeln muss.

Die achtundzwanzig Portale verschwinden dadurch nicht. Aber die halbe Stelle wird zu einer Prüfwarteschlange, die jemand zweimal am Tag durchsieht, und das ist ein anderer Beruf.