Zuerst festlegen: welches System führt
Die wichtigste Entscheidung fällt vor der ersten Zeile Code. Für jede Datenart muss feststehen, welches System die Wahrheit hält und welches sie nur abbildet.
Üblicherweise führt die Warenwirtschaft Artikelstamm, Preise und Bestände; Shopify führt Bestellungen und Kundenkonten. Wer beide Seiten dasselbe pflegen lässt, bekommt Konflikte, die niemand mehr auflösen kann — und meistens merkt man es erst, wenn ein Artikel doppelt verkauft wurde.
Welche Daten in welche Richtung laufen
Eine typische Anbindung besteht aus vier Strecken. Mehr braucht es zu Beginn selten:
- Artikel und Preise aus der Warenwirtschaft in den Shop — meist einmal täglich oder bei Änderung.
- Bestände in denselben Weg, aber häufiger. Je knapper die Ware, desto kürzer der Takt.
- Bestellungen aus dem Shop in die Warenwirtschaft, unmittelbar nach Zahlungseingang.
- Versand- und Sendungsdaten zurück in den Shop, damit der Kunde den Status sieht.
Der Schlüssel entscheidet über alles
Jede Synchronisation braucht eine eindeutige Zuordnung zwischen beiden Seiten. In der Praxis ist das die Artikelnummer, in Shopify meist das SKU-Feld.
Genau hier scheitern die meisten Projekte: Die Nummern stimmen nicht überein, es gibt Varianten ohne eigene Nummer, oder dieselbe Nummer wurde zweimal vergeben. Das ist Aufräumarbeit im Stammdatenbestand — und sie gehört vor die Anbindung, nicht danach.
Fertiger Konnektor oder eigene Anbindung
Für verbreitete Systeme gibt es fertige Konnektoren aus dem App Store. Wenn Ihr System dabei ist und Ihr Prozess dem Standard entspricht, ist das der schnellste und günstigste Weg — dagegen zu entwickeln wäre unwirtschaftlich.
Die Rechnung dreht sich, sobald Ihr Prozess abweicht: eigene Preisregeln, Stücklisten, Chargen, mehrere Lager mit Prioritäten, oder ein System, für das es nichts Fertiges gibt. Dann werden aus dem Konnektor Umwege und Handarbeit, die dauerhaft teurer sind als eine Anbindung, die zum Prozess passt.
Was Shopify dafür mitbringt
Shopify stellt eine Admin-API bereit, über die sich Produkte, Bestände und Bestellungen lesen und schreiben lassen. Dazu kommen Webhooks: Shopify meldet aktiv, wenn eine Bestellung eingeht oder sich etwas ändert, statt dass ein System ständig nachfragen muss.
Praktisch heißt das: Bestellungen erreichen die Warenwirtschaft in Sekunden statt im Abgleichlauf. Das ist kein Detail, sondern der Unterschied zwischen einem Lager, das mitkommt, und einem, das hinterherläuft.
Was eine Anbindung aushalten muss
Schnittstellen laufen nicht immer störungsfrei — ein System ist in Wartung, eine Antwort bleibt aus, eine Nummer passt nicht. Entscheidend ist, was dann passiert.
Eine brauchbare Anbindung wiederholt fehlgeschlagene Übertragungen automatisch, protokolliert nachvollziehbar, was übertragen wurde, und meldet sich, wenn etwas dauerhaft hängt. Ohne das merken Sie den Ausfall erst, wenn ein Kunde anruft.
Wir bauen unsere Anbindungen deshalb mit Protokoll und Wiederholung. Dasselbe Prinzip steckt in unseren eigenen Apps — etwa in zrapp, das bezahlte Bestellungen an sevdesk und Lexware Office überträgt.