Zum Inhalt springen
← Impulse

Wie Sie entscheiden, welches System die maßgebliche Quelle für welche Geschäftsdaten ist

Ein praxisnaher Rahmen, um für jeden Datenwert Zuständigkeiten festzulegen, Konflikte zwischen Systemen zu verringern und nachvollziehbare Integrationen zu gestalten.

Konzeptdiagramm zur Datenzuständigkeit zwischen CRM, ERP, E-Commerce und Kundenservice.

Die Integration von CRM, ERP, E-Commerce, Kundenservice und internen Werkzeugen löst Datenprobleme nicht automatisch. Im Gegenteil: Sie kann diese verstärken, wenn jede Anwendung eine andere Version eines Kunden, Preises oder Auftrags führt. Die entscheidende Frage lautet nicht, welche Systeme verbunden sind, sondern welches System für welchen Datenwert und unter welchen Bedingungen maßgeblich ist.

Eine maßgebliche Quelle muss nicht für das gesamte Unternehmen eine einzige Plattform sein. Die Entscheidung wird je Entität und Attribut getroffen: Das ERP kann Bestände und Rechnungen steuern, der E-Commerce-Warenkorb und den für Käufer sichtbaren Zahlungsstatus, das CRM die Vertriebsaktivität und das Support-Tool die Servicefälle. Ziel ist, dass jede Person und jeder Prozess weiß, wo Daten angelegt, geändert und abgefragt werden und wie Abweichungen aufzulösen sind.

Die maßgebliche Quelle ist nicht nur der Speicherort eines Datenwerts

Die maßgebliche Quelle ist nicht nur der Speicherort eines Datenwerts

Ein System kann eine Kopie eines Datenwerts enthalten, ohne dessen maßgebliche Quelle zu sein. Das CRM kann beispielsweise einen Kundensaldo anzeigen, der aus dem ERP stammt. Ändert ein Vertriebsmitarbeiter diesen Saldo im CRM, ändert er eine Replik und nicht zwingend den für die Finanzabteilung gültigen Wert.

Um Zuständigkeiten festzulegen, sollten vier Verantwortlichkeiten getrennt werden, die häufig verwechselt werden:

  • Quelle der Anlage: das System, das einen Datensatz und seine geschäftliche Kennung erstmals erzeugt.
  • Quelle der Aktualisierung: das System, das ein bestimmtes Attribut ändern darf.
  • Quelle der Abfrage: die Oberfläche, über die Benutzer oder Dienste den Wert lesen müssen, auch wenn es sich um eine synchronisierte Kopie handelt.
  • Operative Verantwortung: das Team, das Regeln, Qualität, Berechtigungen und Entscheidungen bei Ausnahmen definiert.

Diese Trennung verhindert vereinfachte Regeln wie „Das CRM ist führend für Kunden“. Ein Kunde ist kein unteilbarer Block: Rechtlicher Name, Lieferadresse, Kreditlimit, Marketingeinwilligung, Vertriebsverantwortlicher und Kontaktpräferenzen können unterschiedliche Verantwortliche haben. Wenn es der Prozess erfordert, muss die Zuständigkeit auf Attributebene festgelegt werden.

Außerdem muss zwischen operativer und historischer Wahrheit unterschieden werden. Der aktuelle Preis eines Produkts kann im ERP oder auf einer Katalogplattform gepflegt werden. Der für einen bereits bestätigten Auftrag berechnete Preis muss jedoch als Momentaufnahme im Auftrag erhalten bleiben. Eine Neuberechnung auf Basis der aktuellen Preisliste zerstört die Nachvollziehbarkeit und kann Berichte oder Reklamationen verfälschen.

Erstellen Sie ein Inventar, bevor Sie Synchronisierungen entwerfen

Bevor Sie Konnektoren, Webhooks oder bidirektionale Integrationen auswählen, erstellen Sie ein Inventar der Daten, die Systeme überqueren. Beginnen Sie nicht bei den Benutzeroberflächen, sondern bei Entitäten, ihren Attributen, den Prozessen, die sie ändern, und den Auswirkungen jeder Änderung.

Eine einfache Zuständigkeitsmatrix sollte mindestens Folgendes enthalten:

  • Entität und Attribut: beispielsweise Produkt/SKU, Produkt/verfügbarer Bestand oder Kunde/E-Mail-Adresse.
  • System für Anlage und Aktualisierung sowie Systeme für die Abfrage.
  • Ereignis, das die Änderung auslöst: Anlage, bestätigte Zahlung, Rückgabe, Bestandskorrektur oder Fallabschluss.
  • Interne Kennung und, sofern relevant, externe Kennungen.
  • Synchronisationsrichtung, Häufigkeit und Mechanismus: Ereignis, geplanter Prozess oder Abfrage bei Bedarf.
  • Konfliktregel, verantwortliche Person für die Prüfung und Audit-Protokoll.

Klassifizieren Sie anschließend jedes Feld nach seiner Art. Referenzdaten wie ein Produktkatalog benötigen in der Regel redaktionelle Kontrolle. Transaktionsdaten wie Aufträge und Rechnungen sollten unveränderlich sein oder nur über eindeutig definierte Ereignisse wie eine Stornierung oder Gutschrift geändert werden. Abgeleitete Daten wie der geschätzte Customer Lifetime Value sollten operative Daten nicht überschreiben: Sie benötigen Formel, Ursprung und Berechnungsdatum.

Fragen, die zu einer brauchbaren Entscheidung zwingen

  • Welches Team trägt die Verantwortung, wenn der Datenwert fehlerhaft ist und einen Vorfall verursacht?
  • Welcher Prozess muss die Änderung bestätigen, damit sie gültig ist: Vertrieb, Logistik, Steuern oder Kundenservice?
  • Welche Folgen hat es, einen veralteten Wert für einige Minuten oder Stunden zu akzeptieren?
  • Lässt sich der Wert aus Ereignissen rekonstruieren oder muss er als Zustand erhalten bleiben?
  • Welcher Benutzer verfügt über Kontext und Berechtigungen, um ihn zu korrigieren, ohne ein Compliance- oder Finanzrisiko zu schaffen?

Gibt es keine ausdrückliche Antwort, ist keine Zuständigkeit definiert. Dann existiert nur eine Nutzungspraxis, die bei wachsendem Volumen oder einer weiteren Anwendung scheitern wird.

Weisen Sie Zuständigkeiten nach Datentyp und Geschäftsprozess zu

Es gibt häufige Muster, aber keine universellen Regeln. Die richtige Entscheidung hängt von dem System ab, das den Prozess ausführt und dessen Folgen trägt.

  • Kunden: Das CRM steuert häufig Verkaufschancen, Vertriebsverantwortliche und Vertriebsaktivitäten. Das ERP kann für Steuerdaten, Zahlungsbedingungen und Kreditlimit zuständig sein. Der E-Commerce kann Adressen und kaufbezogene Präferenzen erfassen, die geprüft werden müssen, bevor sie Steuerdaten ersetzen.
  • Produkte: Ein Katalogwerkzeug, das ERP oder ein internes System kann SKUs und Produktattribute anlegen. Der E-Commerce ergänzt oft kommerzielle Beschreibungen, Bilder und die Sichtbarkeit je Kanal. Legen Sie fest, welche Felder zu welchem Bereich gehören, damit ein Import keine redaktionellen Inhalte löscht.
  • Preise: Die geltende Preisliste muss eine autorisierte Quelle haben. Aktionen können einen eigenen Verantwortlichen haben, wenn ihre Engine spezifische Regeln anwendet. Der Betrag eines bestätigten Auftrags darf sich nicht ändern, wenn sich die Preisliste ändert.
  • Aufträge: Der E-Commerce kann den Auftrag anlegen und die Kaufabsicht erfassen; das ERP kann für Kommissionierung, Versand, Rechnungsstellung und Rückgaben zuständig sein. Verwenden Sie Zustände mit präziser Bedeutung statt eines einzigen mehrdeutigen Felds wie „abgeschlossen“.
  • Bestand: Das System, das Wareneingänge, Reservierungen, Korrekturen und Versandvorgänge erfasst, muss den verkaufbaren Bestand steuern. Eine Kopie im E-Commerce zu veröffentlichen ist üblich. Dem E-Commerce jedoch ohne kontrollierte Regel Bestandskorrekturen zu erlauben, führt zu Überverkäufen und manuellen Abstimmungen.
  • Einwilligungen: Zuständig sollte das System sein, das den erforderlichen Nachweis dokumentiert: Kanal, Zweck, Datum, Herkunft und Widerruf. Nur einen booleschen Wert ohne Kontext zu kopieren, verringert die Möglichkeit nachzuweisen, was geschehen ist.
  • Servicefälle: Das Support-Tool kann den Fallverlauf steuern, während eine genehmigte Rückgabe oder Erstattung einen Prozess im zuständigen Finanz- oder Betriebssystem auslösen muss.

In einem hypothetischen Szenario legt ein E-Commerce-System den Auftrag an und sendet ein Ereignis über die bestätigte Zahlung. Das ERP erstellt den operativen Auftrag und aktualisiert seine Logistikzustände. Das CRM erhält eine Kaufzusammenfassung zur Segmentierung, darf den Auftrag jedoch nicht bearbeiten. Der Kundenservice fragt beide Systeme ab und eröffnet eine Rückgabeanfrage; das ERP bestätigt die Bewegung und gibt das Ergebnis zurück. Diese Matrix verringert die Versuchung, alle Systeme überall schreiben zu lassen.

Wählen Sie ein Integrationsmuster, das Konflikte begrenzt

Eine unidirektionale Synchronisierung ist die Standardoption, wenn es eine klare Zuständigkeit gibt: Das führende System veröffentlicht, und die Verbraucher empfangen. Sie ist leichter zu analysieren, schützt die Quelle und minimiert Aktualisierungsschleifen.

Eine bidirektionale Synchronisierung ist nur sinnvoll, wenn drei Bedingungen erfüllt sind: Jedes System besitzt unterschiedliche Attribute, Bearbeitungsregeln sind ausdrücklich definiert und es gibt Konflikt- sowie Nachvollziehbarkeitsmechanismen. Sie ist keine Lösung, um „alles gleich zu halten“; dieses Versprechen verbirgt meist ungeklärte Entscheidungen.

  • Ereignisse: geeignet für relevante Änderungen wie Auftrag angelegt, Zahlung bestätigt, Bestand korrigiert oder Rechnung ausgestellt. Sie sollten Kennung, Ereignistyp, Datum, Version und Ursprung enthalten.
  • Geplante Prozesse: nützlich, um verlorene Änderungen abzugleichen, historische Daten zu laden oder Informationen zu verarbeiten, die keine Unmittelbarkeit erfordern.
  • Abfrage bei Bedarf: geeignet, wenn der Verbraucher den aktuellen Wert benötigt und die Latenz akzeptabel ist. Sie vermeidet gespeicherte Kopien, schafft aber Abhängigkeit von Verfügbarkeit und Leistung.
  • Lesereplik: erforderlich für Analysen, Suche oder Geschwindigkeit der Benutzeroberfläche. Sie muss als Projektion und nicht als Ort zur Bearbeitung behandelt werden.

Entwerfen Sie Verbraucher so, dass Ereignisse idempotent sind: Die zweimalige Verarbeitung derselben Nachricht darf weder einen Auftrag duplizieren noch zwei Korrekturen anwenden. Bewahren Sie einen Ereignisschlüssel oder eine Version pro Entität auf. Trifft eine veraltete Aktualisierung ein, muss der Verbraucher sie erkennen, statt einen neueren Wert stillschweigend zu überschreiben.

Definieren Sie Konflikte, Kennungen und Historie, bevor sie auftreten

Eine Regel wie „die letzte Aktualisierung gewinnt“ scheint objektiv, ist aber unsicher, wenn Uhren nicht synchron sind, ein System Nachrichten erneut sendet oder ein Massenimport ein irreführendes Datum besitzt. Verwenden Sie sie nur für Attribute mit geringem Risiko und wenn der Zeitstempel tatsächlich den Geschäftszeitpunkt darstellt.

Für kritische Daten sind Prioritäten nach Fachbereich und gültige Zustandsübergänge vorzuziehen. Ein bezahlter Auftrag sollte beispielsweise nicht wieder auf „ausstehend“ gesetzt werden, weil eine verspätete Synchronisierung einen früheren Zustand gesendet hat. Eine Rückgabe kann eine manuelle Prüfung erfordern, wenn die Serviceanfrage dem Logistikstatus im ERP widerspricht.

Jede gemeinsam genutzte Entität benötigt eine Identifikationsstrategie:

  • Eine stabile Kennung im Ursprungssystem und externe Referenzen, die ohne Wiederverwendung gespeichert werden.
  • Abgleichregeln für Migrationen und manuelle Anlagen, insbesondere bei Kunden und Kontakten.
  • Schutz vor Duplikaten: Die E-Mail-Adresse kann helfen, identifiziert aber nicht immer eindeutig eine Person oder ein Unternehmen.
  • Änderungshistorie mit altem und neuem Wert, Ursprung, Akteur oder Prozess sowie Zeitpunkt der Änderung.

Vermeiden Sie es, Datensätze beim Import zu ersetzen. Ein Aktualisierungsvorgang muss wissen, welche Version er ändert und welche Felder er bearbeiten darf. Bei hoher Unsicherheit sollte der Fall einer Prüfwarteschlange zugeführt werden, statt zwei Kunden automatisch zusammenzuführen oder eine Adresse zu überschreiben.

Warnsignale und Checkliste zur Freigabe einer Integration

Warnsignale und Checkliste zur Freigabe einer Integration

Es gibt deutliche Symptome einer Architektur ohne maßgebliche Quelle: Teams korrigieren dieselben Daten in mehreren Werkzeugen, Berichte enthalten unvereinbare Summen, Integrationen „synchronisieren alles“, Felder haben keine Herkunftsbeschreibung oder Vorfälle werden mit Exporten und Tabellenkalkulationen gelöst. Auch wenn niemand erklären kann, warum sich ein Wert geändert hat oder was bei seiner Bearbeitung geschieht, ist das ein Warnsignal.

Prüfen Sie vor der Freigabe einer neuen Integration diese Checkliste:

  1. Hat jedes übertragene Attribut eine dokumentierte Quelle für Anlage, Aktualisierung und Abfrage?
  2. Ist festgelegt, welches System schreiben darf und welche nur lesen dürfen?
  3. Gibt es eine stabile Kennung und eine Regel für doppelte Anlagen?
  4. Entspricht die Synchronisationsrichtung einem konkreten Bedarf?
  5. Enthalten Ereignisse Version, Ursprung und die Möglichkeit zur sicheren Wiederholung?
  6. Sind Zustände und ungültige Übergänge definiert?
  7. Gibt es eine Konfliktregel und eine verantwortliche Person für Ausnahmen?
  8. Bleibt genügend Historie erhalten, um Änderungen zu untersuchen und Fehler abzugleichen?
  9. Wurden Verzögerungen, Duplikate, vorübergehende Ausfälle und Änderungen in falscher Reihenfolge getestet?

Die beste Integration repliziert nicht die meisten Daten, sondern bewahrt die Zuständigkeit des Prozesses. Beginnen Sie mit einer kleinen Matrix für die Entitäten, die die meisten Reibungen verursachen, machen Sie sie zu einer gemeinsamen operativen Entscheidung und verwenden Sie sie als Anforderung für jedes neue System. So werden Integrationen von undurchsichtigen Datenkanälen zu einem kontrollierten Bestandteil der Geschäftsarchitektur.

Fuentes y referencias

  1. Web standardsW3C
  2. OWASP Cheat Sheet SeriesOWASP Foundation
  3. Web performanceweb.dev