ERP an Shopify anbinden: Datenhoheit, Muster, Betrieb
Diese Anleitung erklärt die Entscheidungslogik, die für jedes ERP gilt, nicht die Konfiguration eines bestimmten Produkts oder Connectors.
Integration & Datenmodell
Inhalt
- Welches System hält die Wahrheit für welches Objekt?
- Wie leitest Du die Datenhoheit aus dem Prozess ab?
- Welches Integrationsmuster trägt Dein Setup?
- Wann synchronisierst Du ereignisgesteuert, wann im Intervall?
- Warum muss jede Übertragung wiederholbar sein?
- Woran erkennst Du, dass eine Schnittstelle stillsteht?
- Welche Fehler kosten in ERP-Projekten am meisten Zeit?
- In welcher Reihenfolge baust Du die Anbindung?
Welches System hält die Wahrheit für welches Objekt?
Datenhoheit heißt: Für jedes Objekt gibt es genau ein System, dessen Wert im Zweifel gilt. Ohne diese Festlegung schreiben beide Seiten dasselbe Feld, und der letzte Schreibvorgang gewinnt, nicht der richtige. Die meisten sogenannten Sync-Probleme sind in Wahrheit ungeklärte Zuständigkeiten und keine technischen Fehler.
Die Antwort fällt pro Objekt, nicht pro System. Ein ERP kann für Artikelstamm und Bestand führend sein und trotzdem nichts über Produktbeschreibungen sagen. Shopify kann für Aufträge führend sein und trotzdem keine Belegnummern vergeben, die in der Buchhaltung gelten. Beides gleichzeitig ist der Normalfall, nicht die Ausnahme.
Zwei Fragen entscheiden fast jeden Einzelfall: Wer legt das Objekt an, und wer korrigiert es, wenn etwas falsch ist. Wird eine Rückerstattung in der Buchhaltung gebucht, gehört sie ins ERP. Wird sie im Shopify-Admin ausgelöst, muss Shopify sie führen und das ERP folgt der Bewegung nach.
| Objekt | Richtung | Führendes System | Worauf es ankommt |
|---|---|---|---|
| Artikel | ERP → Shopify | ERP | Nur Stammdaten, Marketingtexte bleiben im Shop |
| Bestand | ERP → Shopify | ERP | Lagerorte sauber auf Shopify-Standorte mappen |
| Preise | ERP → Shopify | ERP | Kundenspezifische Preise brauchen eigene Logik |
| Aufträge | Shopify → ERP | Shopify | Idempotent übertragen, Nummernkreise vorher klären |
| Kunden | beidseitig | Geteilt je Feld | Konto im ERP, Login und Zustimmungen in Shopify |
| Lieferungen | ERP → Shopify | ERP | Trackingnummer und Teilmengen zurückschreiben |
| Gutschriften | ERP → Shopify | ERP | Doppelte Rückerstattung technisch ausschließen |
Wie leitest Du die Datenhoheit aus dem Prozess ab?
Wer ein Objekt anlegt, hat meist auch die Hoheit darüber. Artikel entstehen im Einkauf, also im ERP. Bestellungen entstehen im Checkout, also in Shopify. Kundenkonten entstehen an beiden Enden, deshalb ist genau dieses Objekt in fast jedem Projekt der Punkt, an dem die Diskussion beginnt.
Die zweite Frage ist die härtere: Wer korrigiert im Fehlerfall. Wenn die Buchhaltung eine falsche Rechnungsadresse im ERP ändert und diese Änderung nicht in Shopify ankommt, arbeitet der Shop weiter mit dem alten Stand. Wer korrigiert, muss auch schreiben dürfen, sonst bleibt die Korrektur folgenlos.
Bei geteilten Objekten hilft es, die Hoheit auf Feldebene zu schneiden statt auf Objektebene. Beim Kunden führt das ERP Debitorennummer, Zahlungsziel und Kreditlimit, Shopify führt Login, Newsletter-Zustimmung und die Adressen des Kontos. Beide Seiten schreiben ausschließlich ihre eigenen Felder und lassen die fremden unangetastet.
Fragen, die Du je Objekt beantwortest, bevor Du baust
- Wer legt das Objekt an, und kann es an zwei Stellen gleichzeitig entstehen?
- Wer korrigiert es im Fehlerfall, und hat dieses System dort Schreibrechte?
- Welche Felder gehören zum Objekt, aber zu einem anderen führenden System?
- Was passiert fachlich, wenn beide Seiten dasselbe Feld gleichzeitig ändern?
Welches Integrationsmuster trägt Dein Setup?
Vier Muster kommen praktisch vor: ein nativer Connector des ERP-Herstellers, eine iPaaS-Plattform, eine eigene Middleware und die direkte Kopplung über die APIs beider Seiten. Die Wahl hängt weniger am Budget als daran, wie weit Deine Prozesse vom Standard abweichen und wer die Anbindung nach dem Livegang betreibt.
Ein Connector ist der schnellste Weg, solange Deine Prozesse dem Standard entsprechen. Sobald kundenspezifische Preise, mehrere Lager oder eine eigene Auftragslogik dazukommen, endet dieser Standard. Dann lautet die eigentliche Frage, ob sich der Connector an dieser Stelle erweitern lässt oder ob Du ihn dort umgehen musst.
Eine Frage entscheidet häufiger als die Technik: Wer meldet sich am Montagmorgen, wenn seit Freitag keine Aufträge mehr im ERP angekommen sind. Wo darauf keine klare Antwort existiert, ist das Muster mit dem größten Eigenbauanteil meist das falsche, auch wenn es fachlich am besten passen würde.
Muster und ihre Trade-offs
- Nativer Connector: schnell live und wenig Aufwand, dafür bist Du an Funktionsumfang und Releasezyklus des Herstellers gebunden.
- iPaaS-Plattform: sichtbare Abläufe, Monitoring und Wiederholläufe ab Werk, dafür laufende Kosten und eine weitere Plattform im Betrieb.
- Eigene Middleware: volle Kontrolle über Mapping und Fehlerfälle, dafür brauchst Du jemanden, der sie über Jahre pflegt.
- Direkte API-Kopplung: wenig bewegliche Teile bei einfachen Fällen, aber ohne Pufferschicht trifft jede ERP-Wartung sofort den Shop.
Wann synchronisierst Du ereignisgesteuert, wann im Intervall?
Ereignisgesteuert heißt: Ein Vorgang löst sofort eine Übertragung aus, in der Regel über Webhooks. Das passt für alles, was schnell sein muss: eine Bestellung ins ERP, eine Bestandsänderung nach dem Verkauf. Der Preis dafür ist, dass Du verlorene und doppelt zugestellte Ereignisse selbst abfangen musst.
Intervallabgleiche laufen in festen Abständen und holen alles, was sich seit dem letzten Lauf geändert hat. Das ist robuster gegen Ausfälle und schont die API-Kontingente, kostet aber Aktualität. Für Artikelstamm und Preise reicht es fast immer, für Bestand bei knapper Ware oft nicht.
Der nächtliche Vollabgleich ist das Sicherheitsnetz. Er vergleicht beide Seiten vollständig und meldet, was tagsüber auseinandergelaufen ist. Ohne ihn merkt niemand, dass seit Wochen eine Handvoll Artikel einen falschen Bestand führt. Mit ihm ist die Abweichung morgens ein Report statt später eine Reklamation.
Wofür sich welche Art eignet
- Ereignisgesteuert: Aufträge, Zahlungen und Bestandsabgänge, also alles, wo Minuten fachlich zählen.
- Intervall: Artikelstamm, Preise und Lieferstatus, also alles, wo ein Versatz von Minuten folgenlos bleibt.
- Nächtlicher Vollabgleich: Bestand und Preise gegenprüfen, Abweichungen melden statt still zu überschreiben.
Warum muss jede Übertragung wiederholbar sein?
Jede Schnittstelle überträgt irgendwann dieselbe Nachricht zweimal. Ein Timeout, ein Neustart, oder ein erneut zugestellter Webhook lässt sich nicht verhindern, nur abfangen. Idempotenz heißt, dass der zweite Durchlauf zum selben Ergebnis führt wie der erste und keinen zweiten Auftrag im ERP anlegt.
Technisch trägt das ein fachlicher Schlüssel, der auf beiden Seiten gespeichert wird: die Shopify-Bestellnummer als Referenz am ERP-Auftrag, die ERP-Belegnummer als Metafeld an der Bestellung. Vor jedem Schreibvorgang wird geprüft, ob dieser Schlüssel bereits existiert. Erst wenn er fehlt, wird angelegt.
Wiederholläufe brauchen Abstand. Ein fehlgeschlagener Aufruf, der sofort und endlos wiederholt wird, verbrennt Dein API-Kontingent und verdeckt die eigentliche Ursache. Üblich sind wenige Versuche mit wachsendem Abstand; danach landet der Vorgang in einer sichtbaren Warteschlange für Fehlerfälle statt im Nichts.
Woran erkennst Du, dass eine Schnittstelle stillsteht?
Der gefährlichste Zustand einer Integration ist nicht der Absturz, sondern die Stille. Ein Prozess, der nichts mehr überträgt und dabei keinen Fehler wirft, fällt oft erst auf, wenn jemand reklamiert. Deshalb überwachst Du neben Fehlern auch das Ausbleiben erfolgreicher Übertragungen.
Fehler brauchen ein Ziel. Ein Vorgang, der nach allen Versuchen scheitert, gehört in eine sichtbare Warteschlange mit Nutzlast, Zeitpunkt und Fehlermeldung, nicht in eine Logzeile, die niemand liest. Aus dieser Warteschlange muss sich ein einzelner Vorgang erneut anstoßen lassen, ohne den ganzen Lauf zu wiederholen.
Nützlich ist die Trennung zwischen fachlichen und technischen Fehlern. Ein fehlendes Varianten-Mapping ist ein Datenproblem und braucht einen Menschen. Eine Zeitüberschreitung ist ein technisches Problem und löst sich meist beim nächsten Versuch. Wer beides in denselben Kanal kippt, ignoriert nach kurzer Zeit beides.
Was Du überwachst
- Zeitpunkt der letzten erfolgreichen Übertragung je Objekt, nicht nur je Schnittstelle.
- Länge der Fehlerwarteschlange und ihr Wachstum über die letzten Stunden.
- Ausbleibende Läufe: keine übertragene Bestellung an einem Werktagvormittag ist ein Alarm.
- Ergebnis des nächtlichen Vollabgleichs als Zahl der Abweichungen, nicht als Erfolgsmeldung.
Welche Fehler kosten in ERP-Projekten am meisten Zeit?
Die teuren Fehler sind selten exotisch. Sie entstehen fast immer daraus, dass ein Modell im ERP feiner oder gröber geschnitten ist als in Shopify und beim Mapping etwas verloren geht. Wer diese Stellen vor dem Bau benennt, spart sich die Suche danach im laufenden Betrieb.
Besonders unangenehm sind Fehler, die Geld bewegen. Eine doppelt ausgeführte Rückerstattung fällt niemandem auf außer der Buchhaltung im Monatsabschluss. Genau deshalb gehört jeder geldbewegende Vorgang hinter einen Schlüssel, der die zweite Ausführung blockiert, statt sich auf saubere Bedienung zu verlassen.
Stellen, an denen es regelmäßig klemmt
- Bestand über mehrere Lager: Shopify rechnet je Standort, viele ERP führen einen Gesamtbestand. Die Aufteilung musst Du festlegen.
- Varianten-Mapping: Shopify kennt drei Optionsdimensionen je Produkt, ERP-Artikelmerkmale sind oft zahlreicher.
- Kundenspezifische Preise: Preislisten und Staffeln lassen sich nicht als einfacher Produktpreis abbilden.
- Doppelte Rückerstattungen: Storno im ERP und Refund im Shop erzeugen ohne gemeinsamen Schlüssel zwei Buchungen.
- Rate Limits: ein Vollabgleich zur Hauptverkaufszeit bremst genau die Aufrufe aus, die der Shop gerade braucht.
In welcher Reihenfolge baust Du die Anbindung?
Die Reihenfolge folgt dem Risiko. Zuerst kommt, was ohne Rückwirkung auf Geld und Kunden bleibt, zuletzt das, was im Fehlerfall Buchungen erzeugt. So sammelst Du Vertrauen in die Datenqualität, bevor die Schnittstelle Vorgänge auslöst, die jemand von Hand rückgängig machen muss.
Nicht jede Marke braucht das volle Programm. Bei wenigen Bestellungen am Tag und einem überschaubaren Sortiment ist eine geordnete manuelle Übergabe oft günstiger als eine Anbindung, die betrieben werden will. Die Rechnung kippt, sobald doppelte Pflege Fehler erzeugt statt nur Zeit zu kosten.
Reihenfolge, die sich bewährt hat
- Objektliste und Datenhoheit je Objekt schriftlich festlegen.
- Artikelstamm und Varianten-Mapping aufbauen und mit echten Daten prüfen.
- Bestand anbinden, zunächst nur lesend mitlaufen lassen und vergleichen.
- Preise und Preislisten ergänzen, inklusive der kundenspezifischen Fälle.
- Aufträge nach Abschluss in Shopify idempotent ins ERP übertragen.
- Lieferungen und Gutschriften zurückschreiben, danach das Monitoring scharf stellen.
Häufige Fragen
Braucht jede Shopify-ERP-Anbindung eine Middleware?
Welches System sollte den Bestand führen?
Wie oft sollte der Bestand synchronisiert werden?
Was passiert mit Bestellungen, wenn das ERP nicht erreichbar ist?
Wie gehst Du mit kundenspezifischen Preisen im B2B um?
Kann Shopify das führende System für Artikel sein?
Offizielle Dokumentation
Primärquellen zu den technischen Aussagen in diesem Guide.
Verwandte Guides
Shopify und PIM: wann sich ein Produktinformationssystem lohnt
Dieser Guide ordnet ein, wann ein Product-Information-Management-System nötig wird, welche einfacheren Mittel davor tragen und wie eine Einführung in Stufen aussieht. Die Auswahl eines konkreten Systems und die Vertragsverhandlung sind nicht Teil davon.
Guide lesenEnterprise-Replatforming: Umfang, Entscheidungen und Cutover planen
Diese Anleitung behandelt Planung, Schnitt, Entscheidungswege und Cutover-Risiken eines Plattformwechsels bei größeren Marken und B2B-Händlern, nicht die Feldmappings einzelner Migrationswerkzeuge.
Guide lesenShopify-Migration: Checkliste für vorher, währenddessen und danach
Diese Checkliste beschreibt den Ablauf einer Migration auf Shopify unabhängig vom Altsystem, nicht die Feldzuordnung einzelner Quellsysteme und nicht die Auswahl des Shopsystems.
Guide lesen
Weitere Projekte
Noch ein Hinweis
Solche Anbindungen bauen und betreiben wir bei NICCOS regelmäßig. Die Arbeit beginnt dabei fast nie mit der Schnittstelle, sondern mit der Objektliste und der Frage, wer im Fehlerfall korrigiert.




























