Zum Inhalt springen
Abstraktes Relief aus dunklem Papier: zwei gleich gedrehte Prismen, ein großes und eine kleine Kopie, durch einen Stab verbunden

Warenwirtschaft und Onlineshop verbinden: Bestände ohne Doppelpflege

Warenwirtschaft und Onlineshop verbinden Sie zuverlässig, wenn für jede Datenart genau ein System führend ist, Änderungen per Ereignis übertragen und regelmäßig vollständig abgeglichen werden. Gegen Überverkäufe hilft ein Sicherheitsbestand, gegen doppelte Bestellungen eine Verarbeitung, die Wiederholungen erkennt. Eine Überwachung meldet, wenn der Abgleich stockt.

Von Marco Hochmuth 7 min Lesezeit Branchen und Praxis

Die Schnittstelle zwischen Warenwirtschaft und Onlineshop entscheidet, ob ein Händler seine Daten einmal pflegt oder zweimal. Ohne sie tragen Mitarbeiter Bestände und Preise von Hand nach, Bestellungen werden abgetippt, und jeder Fehler landet beim Kunden. Für Händler mit Filialen kommt die Kasse als drittes System hinzu. Im deutschen Markt verbreitet sind Warenwirtschaften wie JTL-Wawi, Xentral, plentymarkets und weclapp sowie Shopsysteme wie Shopware, WooCommerce und Shopify. Die Grundsätze unten gelten für alle Kombinationen, die Beispiele nennen jeweils das System, dessen Dokumentation die Stelle belegt. Auf unserer Seite zu Onlinehandel und Einzelhandel beschreiben wir, welche Systeme wir dabei typischerweise antreffen; dieser Beitrag beschreibt die Architektur dahinter.

Zuständigkeit

Wer führt welche Daten

Die wichtigste Entscheidung fällt vor der ersten Zeile Code: Welches System ist für welche Daten führend? Führend heißt, nur dort werden die Daten geändert, alle anderen Systeme übernehmen sie. Wo zwei Systeme dieselben Felder ändern dürfen, entstehen Konflikte, die keine Schnittstelle sauber auflöst.

Eine Aufteilung, die für die meisten Händler passt:

  • Warenwirtschaft: Artikelnummern, Einkaufs- und Verkaufspreise, Steuersätze, Bestände je Lager, Lieferstatus. Bei größeren Händlern übernimmt ein ERP-System diese Rolle.

  • Shop oder PIM: Produkttexte, Bilder, Kategorien, Filtermerkmale. Ein eigenes PIM ist erst bei vielen Artikeln oder mehreren Kanälen sinnvoll.

  • Shop: Bestellungen entstehen dort und gehen an die Warenwirtschaft. Ab dem Moment der Übergabe führt die Warenwirtschaft.

  • Warenwirtschaft zurück an den Shop: Versandstatus, Sendungsnummer, Rechnungsdokument.

Schreiben Sie diese Aufteilung als Tabelle auf und lassen Sie sie von den Fachbereichen bestätigen. Der häufigste Konflikt entsteht bei Preisen: Das Marketing will Aktionspreise im Shop setzen, der Einkauf pflegt Preise in der Warenwirtschaft. Klären Sie, wo Aktionspreise entstehen, bevor die Schnittstelle sie überschreibt.

Abgleich

Synchron, zeitgesteuert oder per Ereignis

Für die Übertragung gibt es drei Verfahren, und in der Praxis kombiniert eine gute Anbindung mindestens zwei davon.

Synchron: Der Shop fragt die Warenwirtschaft in dem Moment, in dem er eine Information braucht, etwa den Bestand beim Checkout. Das liefert den genauesten Wert, macht den Shop aber abhängig: Ist die Warenwirtschaft langsam oder im Wartungsfenster, steht der Checkout. Für Bestände im Shop ist das selten die richtige Wahl.

Zeitgesteuert: Ein Programm holt alle paar Minuten die Änderungen seit dem letzten Lauf und überträgt sie. Das ist robust und mit fast jeder Warenwirtschaft umsetzbar, auch mit älteren Systemen, die nur einen Dateiexport kennen. Der Nachteil ist die Verzögerung bis zum nächsten Lauf.

Per Ereignis: Die Warenwirtschaft meldet jede Änderung sofort, meist über einen Webhook, also einen Aufruf an eine Adresse der Gegenseite. Das ist schnell, aber Ereignisse können verloren gehen oder doppelt ankommen. Shopify schreibt in seiner Dokumentation ausdrücklich, dass die Zustellung von Webhooks nicht garantiert ist, und empfiehlt zusätzliche regelmäßige Abgleiche. Shopware bricht Anfragen an den Server einer App nach fünf Sekunden ab und stellt fehlgeschlagene Webhooks später erneut zu. Die Gegenseite sollte deshalb den Empfang sofort bestätigen und erst danach verarbeiten, und sie muss mit Wiederholungen rechnen.

Die Kombination, die wir meistens empfehlen: Ereignisse für Bestände und Bestellungen, damit sie schnell sind, und jede Nacht ein vollständiger Abgleich aller Artikel, der verlorene Ereignisse auffängt. Zwischen Shop und Warenwirtschaft sitzt dabei oft eine eigene Middleware, die Formate übersetzt, Nachrichten zwischenspeichert und bei Fehlern wiederholt. Wie wir solche Verbindungen bauen, steht auf der Seite zu Schnittstellen und APIs.

Fehlerfälle

Überverkauf und Dubletten

Die zwei teuersten Fehler einer Shop-Anbindung sind verkaufte Ware, die nicht mehr da ist, und Bestellungen, die doppelt im System landen.

Überverkauf

Ein Überverkauf entsteht im Zeitfenster zwischen einem Verkauf und der Aktualisierung des Bestands im anderen Kanal. Ein Rechenbeispiel: Ein Artikel verkauft sich über Laden, Shop und Marktplatz zusammen achtmal pro Stunde, der Bestand wird alle 15 Minuten abgeglichen. Im Durchschnitt fallen zwei Verkäufe in ein Abgleichsfenster. Steht im Shop noch „1 Stück verfügbar“, kann der Artikel in dieser Zeit zweimal verkauft werden.

Gegenmaßnahmen:

  • Sicherheitsbestand: Der Shop zeigt den Bestand abzüglich eines Puffers, für schnell drehende Artikel zum Beispiel zwei Stück. Wird der Puffer erreicht, gilt der Artikel online als ausverkauft.

  • Kürzere Wege für Bestandsänderungen: Bestände per Ereignis übertragen, Stammdaten weiter zeitgesteuert.

  • Reservierung bei Bestellung: Die Warenwirtschaft reserviert den Bestand, sobald die Bestellung eingeht, nicht erst beim Versand.

Dubletten

Doppelte Bestellungen entstehen, wenn eine Nachricht wiederholt wird, weil die erste Antwort zu spät kam. Die Schnittstelle muss deshalb jede Nachricht an einer eindeutigen Kennung erkennen und eine Wiederholung ignorieren. Diese Eigenschaft heißt Idempotenz. Shopify liefert dafür bei jedem Webhook eine eigene Kennung im Header mit. Wie wichtig das an Tagen mit vielen Bestellungen ist, zeigt unser Beitrag Black Friday: So bereiten Sie Ihren Onlineshop technisch vor.

Weitere häufige Fehlerquellen sind Artikelnummern, die in beiden Systemen leicht unterschiedlich geschrieben werden, Varianten wie Größe und Farbe, die die Warenwirtschaft als eigene Artikel führt und der Shop als Optionen eines Produkts, und Rundungsunterschiede bei Bruttopreisen.

Auf einer dunklen Schiene liegen die Abgleiche der Filialen hintereinander, der aktuelle ist orange, davor drei Filialen und der Versand.

Filialen

Filiale und Online gemeinsam denken

Wer Filialen und Shop betreibt, hat einen Bestand an mehreren Orten und Kunden, die zwischen den Kanälen wechseln. Die Schnittstelle muss deshalb Bestände je Standort kennen, nicht nur eine Summe.

Die Fälle, die dabei zusammenkommen:

  • Verfügbarkeit im Laden anzeigen: Der Shop zeigt, in welcher Filiale ein Artikel vorrätig ist. Dafür muss die Kasse Verkäufe zeitnah an die Warenwirtschaft melden, nicht erst beim Tagesabschluss.

  • Online kaufen, im Laden abholen: Die Bestellung reserviert Ware in einer bestimmten Filiale, und die Filiale bekommt eine Aufgabe zum Zusammenstellen.

  • Online kaufen, im Laden zurückgeben: Die Rücknahme an der Kasse muss die Online-Bestellung finden und den Bestand der Filiale erhöhen, nicht den des Zentrallagers.

  • Ein Kundenkonto für alle Kanäle: Kaufhistorie und Gutscheine gelten online und im Laden.

Kassen melden Verkäufe oft nur gesammelt am Abend. Dann ist der Laden-Bestand im Shop tagsüber ungenau, und der Sicherheitsbestand muss größer sein. Fragen Sie beim Anbieter der Kasse nach, ob Einzelverkäufe sofort übertragen werden können.

Überwachung

Monitoring der Schnittstelle

Eine Schnittstelle fällt selten laut aus. Meist läuft sie weiter und überträgt nichts mehr, und es fällt erst auf, wenn ein Kunde eine Ware bestellt, die seit Tagen ausverkauft ist.

Diese Prüfungen gehören zu jeder Anbindung:

  1. Letzter erfolgreicher Abgleich: Ein Alarm, wenn seit dem letzten erfolgreichen Lauf mehr als zwei Intervalle vergangen sind.

  2. Wartende Nachrichten: Wie viele Nachrichten in der Queue auf Verarbeitung warten. Ein stetiger Anstieg zeigt ein Problem, bevor es Kunden merken.

  3. Fehlgeschlagene Nachrichten: Nachrichten, die auch nach Wiederholungen scheitern, landen in einer eigenen Liste, die jemand bearbeitet, statt im Protokoll zu verschwinden.

  4. Täglicher Zahlenabgleich: Anzahl der Bestellungen im Shop und in der Warenwirtschaft für den Vortag. Weichen sie ab, fehlt etwas.

Ein Alarm braucht einen Empfänger mit Namen, kein Sammelpostfach. Was Dashboards dabei nicht zeigen, beschreibt der Beitrag Monitoring-Mythen.

Kurz beantwortet

Häufige Fragen

  • Das hängt davon ab, wie schnell sich Ihre Artikel verkaufen. Für schnell drehende Ware sind Ereignisse oder Abgleiche im Minutentakt sinnvoll, ergänzt durch einen Sicherheitsbestand. Für langsam drehende Ware reicht ein Abgleich alle 15 bis 30 Minuten. Ein vollständiger Abgleich in der Nacht fängt in jedem Fall verlorene Änderungen auf.

  • Bei einem Shop und einer Warenwirtschaft mit fertigem Konnektor nicht unbedingt. Sobald Marktplätze, Filialkassen oder ein PIM dazukommen, ist eine Middleware oft die übersichtlichere Lösung, weil jedes System nur eine Verbindung zu ihr hat. Sie übernimmt Übersetzung, Zwischenspeicher und Wiederholungen an einer Stelle.

  • Für einen Shop und eine Warenwirtschaft genügt er oft, etwa der JTL-Connector, über den JTL-Wawi unter anderem an Shopware 6 angebunden wird. Prüfen Sie vor der Entscheidung drei Punkte: welche Datenarten der Konnektor in welche Richtung überträgt, wie oft er abgleicht und wo Sie sehen, dass ein Abgleich gescheitert ist. Fehlt einer davon, brauchen Sie eine Ergänzung oder eine eigene Anbindung.

  • Viele ältere Systeme können Dateien exportieren und importieren, etwa CSV oder XML in einem festen Ordner oder per SFTP. Darauf lässt sich eine zeitgesteuerte Anbindung bauen, mit denselben Prüfungen wie bei einer modernen Schnittstelle. Ereignisse in Echtzeit sind so nicht möglich, der Sicherheitsbestand muss deshalb größer ausfallen.

Shop und Warenwirtschaft verbinden

Wir planen die Zuständigkeit der Systeme mit Ihnen, bauen die Anbindung und richten die Überwachung ein.

Zu Onlinehandel und Einzelhandel