Guides

    Integration und Datenmodell

    ERP an Shopify anbinden: Datenhoheit, Muster, Betrieb

    Integration & Datenmodell · Aktualisiert

    Kurz gesagt

    Eine ERP-Anbindung an Shopify steht und fällt mit einer Frage: Welches System hält für welches Objekt die Wahrheit. Ist das je Objekt entschieden, folgen Richtung, Integrationsmuster und Synchronisationsart fast von selbst. Artikel, Bestand und Preise kommen in der Regel aus dem ERP, Aufträge entstehen in Shopify, Kundendaten sind in fast jedem Projekt der Streitfall.

    Diese Anleitung erklärt die Entscheidungslogik, die für jedes ERP gilt — nicht die Konfiguration eines bestimmten Produkts oder Connectors.

    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.

    Datenhoheit und Richtung je Objekt in einer typischen ERP-Anbindung
    ObjektRichtungFührendes SystemWorauf es ankommt
    ArtikelERP → ShopifyERPNur Stammdaten, Marketingtexte bleiben im Shop
    BestandERP → ShopifyERPLagerorte sauber auf Shopify-Standorte mappen
    PreiseERP → ShopifyERPKundenspezifische Preise brauchen eigene Logik
    AufträgeShopify → ERPShopifyIdempotent übertragen, Nummernkreise vorher klären
    KundenbeidseitigGeteilt je FeldKonto im ERP, Login und Zustimmungen in Shopify
    LieferungenERP → ShopifyERPTrackingnummer und Teilmengen zurückschreiben
    GutschriftenERP → ShopifyERPDoppelte 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 — alles, wo Minuten fachlich zählen.
    • Intervall: Artikelstamm, Preise und Lieferstatus — 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, ein erneut zugestellter Webhook — das 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 nicht nur Fehler, sondern 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

    1. Objektliste und Datenhoheit je Objekt schriftlich festlegen.
    2. Artikelstamm und Varianten-Mapping aufbauen und mit echten Daten prüfen.
    3. Bestand anbinden, zunächst nur lesend mitlaufen lassen und vergleichen.
    4. Preise und Preislisten ergänzen, inklusive der kundenspezifischen Fälle.
    5. Aufträge nach Abschluss in Shopify idempotent ins ERP übertragen.
    6. Lieferungen und Gutschriften zurückschreiben, danach das Monitoring scharf stellen.

    FAQ

    Häufige Fragen

    Braucht jede Shopify-ERP-Anbindung eine Middleware?

    Nein. Wenn Deine Prozesse dem Standard entsprechen und ein gepflegter Connector existiert, ist die zusätzliche Schicht unnötiger Aufwand. Eine Middleware lohnt sich, sobald Du Daten umformen, mehrere Systeme bedienen, Vorgänge zwischenpuffern oder Fehler gezielt wiederholen musst. Der Auslöser ist fast nie das Datenvolumen, sondern die Zahl der Sonderfälle, die niemand im Standard abbilden kann.

    Welches System sollte den Bestand führen?

    In den meisten Setups das ERP, weil dort Wareneingänge, Retouren und Korrekturen gebucht werden und weil der Bestand auch andere Kanäle versorgt. Shopify bekommt den Wert zugespielt und rechnet ihn im Verkauf herunter. Führt Shopify den Bestand selbst, brauchst Du eine klare Regel dafür, wie Wareneingänge und Inventurkorrekturen aus dem Lager zurückkommen.

    Wie oft sollte der Bestand synchronisiert werden?

    So oft, wie Deine Fehlerkosten es verlangen. Bei tiefen Beständen und langsamer Drehung reicht ein Intervall von einigen Minuten. Bei knapper Ware, Limitierungen oder Kampagnen brauchst Du ereignisgesteuerte Aktualisierungen, sonst verkaufst Du Artikel, die es nicht mehr gibt. In beiden Fällen bleibt ein nächtlicher Vollabgleich sinnvoll, weil er Abweichungen sichtbar macht.

    Was passiert mit Bestellungen, wenn das ERP nicht erreichbar ist?

    Der Checkout darf davon nichts merken. Bestellungen entstehen in Shopify und werden anschließend übertragen, nicht währenddessen. Fällt das ERP aus, sammeln sich die Vorgänge in einer Warteschlange und laufen nach der Wiederherstellung nach. Wichtig ist nur, dass die Nachübertragung idempotent ist, sonst entstehen aus einer Wartung doppelte Aufträge.

    Wie gehst Du mit kundenspezifischen Preisen im B2B um?

    Nicht als überschriebener Produktpreis, sondern über die Preislisten- und Katalogmechanik, die Shopify für B2B vorsieht. Das ERP bleibt führend für die Konditionen, Shopify bekommt sie als Liste je Kundengruppe oder Firma zugespielt. Individuelle Sonderpreise pro Kunde sind der Punkt, an dem viele Standardconnectoren enden und eine eigene Logik nötig wird.

    Kann Shopify das führende System für Artikel sein?

    Ja, wenn Shopify der einzige Kanal ist und Produkte im Marketing entstehen statt im Einkauf. Sobald Einkauf, Lager oder Buchhaltung eigene Artikelanlagen brauchen oder ein zweiter Kanal dazukommt, wird das unhaltbar. Ein gangbarer Mittelweg ist geteilte Hoheit: Stammdaten aus dem ERP, Beschreibungen, Medien und Kategorien aus Shopify oder einem PIM.

    Offizielle Dokumentation

    Primärquellen zu den technischen Aussagen in diesem Guide.

    Weiterlesen

    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.

    Was wir machen

    NICCOS

    Die Seite konnte nicht geladen werden.

    Bitte lade die Seite neu. Falls gerade ein Update live gegangen ist, wird damit die aktuelle Version geladen.