Verbinden Sie Ihren Shopify-Shop
mit GSE-Web
Ihr Katalog und Ihr verfügbarer Bestand gehen in den Shop. Bezahlte Bestellungen kommen in GSE-Web als bestätigte Ausgangsbelege an, mit reserviertem Bestand.
Kurz gesagt
Der Shopify-Connector verbindet einen Shopify-Shop mit einem Lager in GSE-Web. GSE-Web veröffentlicht den Bestand an einem Standort des Shops, der Shop sendet seine Bestellungen. Eingerichtet wird er von einem Administrator der Organisation, im Menü ADMIN › „Integrationen“.
- Was in den Shop geht: die Seiten einfacher Produkte, von Kits und von Produkten mit Varianten (Name, Referenz, Preis, Barcode), wenn Sie es wünschen, und der verfügbare Bestand des veröffentlichten Lagers, eingebucht am Shopify-Standort Ihrer Wahl.
- Was in GSE-Web ankommt: jede bezahlte Bestellung (oder jede mit den von Ihnen gewählten Zahlungsstatus) wird zu einem bestätigten Ausgangsbeleg mit reserviertem Bestand; der Käufer wird ein Kunde vom Typ „Privatkunde“. Auf Wunsch werden auch Beschreibung und Fotos der verknüpften Produkte aus dem Shop übernommen.
- Wann: Der Bestand geht wenige Sekunden nach jeder Änderung in GSE-Web an den Shop, und eine Bestellung kommt sofort per Webhook an. Alle 5 Minuten läuft ein vollständiger Durchlauf, der Versäumtes nachholt.
- Was nie geschieht: im Shop wird nichts gelöscht, GSE-Web schreibt nie die Zeilen einer Bestellung und veranlasst nie eine Rückerstattung. Es führt die Bestellung nur aus oder storniert sie, wenn Sie es wünschen.
- Abschalten: Pausieren, Trennen oder Schließen des Moduls jederzeit, ohne Verlust; beim Fortsetzen werden die zwischenzeitlich eingegangenen Bestellungen nachgeholt.
Voraussetzungen
Prüfen Sie diese Punkte, bevor Sie die Seite des Connectors öffnen: der Verbindungstest kontrolliert sie und sagt klar, was nicht passt.
Die myshopify.com-Domain des Shops
Der Connector verbindet sich mit der Verwaltungsdomain des Shops, in der Form mein-shop.myshopify.com, nie mit seiner öffentlichen Adresse.
Eine App im Dev Dashboard
Angelegt in der Organisation, der der Shop gehört, mit diesen Berechtigungen: read_products, write_products, read_inventory, write_inventory, read_locations, read_orders, write_orders, write_merchant_managed_fulfillment_orders, read_publications, write_publications. Veröffentlichen Sie eine Version, installieren Sie die App im Shop und notieren Sie dann Client-ID und Secret. Ein Shop, der noch eine bisherige benutzerdefinierte App hat, verwendet deren Admin-Token (shpat_…) und API-Secret.
Die geschützten Kundendaten deklariert
Name, E-Mail und Adresse der Käufer sind „geschützte Kundendaten“ von Shopify: Deklarieren Sie deren Verwendung im Dev Dashboard. Andernfalls kommen Bestellungen ohne Käufer an und werden zu offenen Punkten.
Die Module für Ihre Organisation freigeschaltet
„Integrationen“, dann „Shopify“. Die Freischaltung beantragen Sie bei KLS-Concept. Ohne „Integrationen“ erscheint der Menüeintrag nicht; ohne „Shopify“ zeigt seine Karte „Für Ihre Organisation nicht verfügbar“.
Ein ADMIN-Konto mit Zwei-Faktor-Authentifizierung
Die Eingabe der Zugangsdaten des Shops wird abgelehnt, solange die Zwei-Faktor-Authentifizierung für Ihr Konto nicht aktiviert ist, unter „Meine Informationen“.
Ein reales Lager
Sein verfügbarer Bestand wird im Shop veröffentlicht, und Bestellungen werden dort zu Ausgangsbelegen. Ein Übungslager wird abgelehnt.
Dieselbe Währung und derselbe Preismodus
Die Währung des Shops muss die Ihrer Organisation sein, und „Veröffentlichte Preise“ (netto oder brutto) muss der Shop-Einstellung „Steuern in Preisen einschließen“ entsprechen (Einstellungen › Steuern und Zölle).
Einrichtung Schritt für Schritt
Sechs Schritte, in der Reihenfolge der Seite.
Die Seite des Connectors öffnen
Menü ADMIN › „Integrationen“. Die Shopify-Karte steht in der Kategorie „E-Commerce“. Klicken Sie auf „Einrichten“ (die Schaltfläche heißt „Verwalten“, sobald der Shop gespeichert ist).
Karte „Shop“
Wählen Sie den „App-Typ“: „Dev-Dashboard-App (Client-ID und Secret)“ oder „Bisherige benutzerdefinierte App (Admin-Token und API-Secret)“. Füllen Sie „Domain des Shops“ (…myshopify.com) aus, dann „Client-ID der App“ und „Secret der App“ (oder „Admin-Zugriffstoken“ und Secret), und wählen Sie das „Veröffentlichte Lager“. Die Karte nennt die Berechtigungen, die auf der App zu aktivieren sind.
Die Zugangsdaten sind nur schreibbar: einmal gespeichert, werden sie nie wieder angezeigt. Die Seite zeigt nur einige Zeichen, damit Sie sie wiedererkennen. Um sie zu behalten, lassen Sie die Felder leer; um sie zu ersetzen, geben Sie das Secret UND die Client-ID (oder das Token) ein. Mit einer Dev-Dashboard-App holt GSE-Web das Zugriffstoken selbst ab, 24 Stunden gültig, und erneuert es.
Karte „Einstellungen“
Jede Einstellung hat einen Standardwert:
- „Veröffentlichte Preise“: standardmäßig „Netto (ohne Steuern)“, oder „Brutto (inkl. Steuern)“.
- „Produktseiten im Shop anlegen und aktualisieren“: standardmäßig nicht angekreuzt. Dann legt GSE-Web keine Seite an: es verknüpft nur die Produkte, die bereits mit derselben Referenz (SKU) im Shop sind, ohne Rücksicht auf Groß- und Kleinschreibung.
- „Verfügbaren Bestand veröffentlichen“: standardmäßig angekreuzt. Nicht angekreuzt, wird der Bestand einer von GSE-Web angelegten Produktseite von Shopify nicht verfolgt.
- „Bestellungen empfangen“: standardmäßig angekreuzt.
- „Lieferungen und Stornierungen an den Shop melden“: standardmäßig angekreuzt. Beleg geliefert: Bestellung im Shop ausgeführt, mit Spediteur und Sendungsnummer — Shopify benachrichtigt den Kunden mit seiner Versand-E-Mail. Beleg in GSE-Web storniert: Bestellung im Shop storniert, ohne Rückerstattung.
- „Importierte Zahlungsstatus“: standardmäßig „Bezahlt“. Sie können „Zahlung ausstehend“, „Zahlung autorisiert“ und „Teilweise bezahlt“ hinzufügen (Nachnahme, Überweisung).
- „Höchstalter einer nachgeholten Bestellung (Tage)“: standardmäßig 30, von 1 bis 90. Ohne die Berechtigung
read_all_ordersliefert Shopify nur die Bestellungen der letzten 60 Tage: weiter reicht das Nachholen nicht zurück. - „Beschreibung und Fotos aus dem Shop übernehmen“: standardmäßig nicht angekreuzt. Der Shop bleibt maßgeblich für Beschreibung und Fotos, die GSE-Web ihm nie sendet; angekreuzt werden sie auf das verknüpfte Produkt kopiert. Eine leere Beschreibung im Shop löscht nie die in GSE-Web, und ein in GSE-Web hinzugefügtes Foto wird nie entfernt.
Speichern
Klicken Sie auf „Speichern“. „Verbindung testen“ und „Aktivieren“ verwenden die gespeicherte Konfiguration: solange eine Änderung nicht gespeichert ist, weist die Seite darauf hin und diese beiden Schaltflächen warten.
Verbindung testen, dann den Standort wählen
„Verbindung testen“ fragt den Shop ab und prüft, dass die Zugangsdaten zu dieser Domain gehören, dass die App alle Berechtigungen hat und dass Währung und Preismodus übereinstimmen. Außerdem lädt der Test die Liste der aktiven Shop-Standorte: Wählen Sie den „Standort des Shops“, der den Bestand erhält, dann „Speichern“. Auch bei einer Ablehnung zeigt der Test die fehlenden Berechtigungen und die Standorte an, damit Sie korrigieren können.
Aktivieren
„Aktivieren“ wiederholt den Test (dann ist ein Standort Pflicht) und legt anschließend vier Webhook-Abonnements im Shop an: Bestellung erstellt, geändert, storniert und gelöscht. Der Status wechselt zu „Aktiv — Bestand wird bei jeder Änderung gesendet, vollständiger Abgleich alle 5 Minuten“ („Aktiv — Abgleich alle 5 Minuten“, wenn der Bestand nicht veröffentlicht wird). Bestellungen, die vor der Aktivierung eingegangen sind, werden nicht importiert.
Was abgeglichen wird, und wer maßgeblich ist
Jedes Feld hat genau einen Eigentümer. In einer Bestellung des Shops schreibt GSE-Web nur ihre Ausführung oder ihre Stornierung, nie ihre Zeilen.
📦 GSE-Web ist maßgeblich
- ✓Produktname
- ✓Referenz (SKU im Shop)
- ✓Verkaufspreis, netto oder brutto je nach Einstellung
- ✓Barcode
- ✓Zum Verkauf angeboten oder Entwurf
- ✓Bestand, am gewählten Standort
🛒 Der Shop ist maßgeblich
- ✓Beschreibung (optional in GSE-Web übernommen)
- ✓Fotos (optional in GSE-Web übernommen)
- ✓Kollektionen und Tags
- ✓Steuern
- ✓Bestellungen
- ✓Rückerstattungen
Die Regeln
- Einfache Produkte, Kits und Produkte mit Varianten. Ein einfaches Produkt wird als Shopify-Produkt mit einer einzigen Variante veröffentlicht. Ein Kit ebenso; sein Bestand ist die Anzahl der Kits, die sich mit den Komponenten des veröffentlichten Lagers zusammenstellen lassen. Ein Produkt mit Varianten wird als Produkt mit Optionen veröffentlicht (höchstens drei Achsen, Grenze von Shopify), ohne eigenen Preis und Bestand; jede Variante ist eine seiner Varianten im Shop, mit Referenz, Preis und Bestand.
- Ein Produkt, das in GSE-Web aus dem Verkauf genommen wird, wird im Shop zum Entwurf; gelöscht wird es dort nie. Da Shopify keinen Status pro Variante kennt, wird eine aus dem Verkauf genommene Variante auf Bestand 0 gesetzt. Von GSE-Web angelegte Produkte werden im Onlineshop veröffentlicht; eine bestehende Produktseite wird nie erneut veröffentlicht, damit Ihre Entscheidung gilt, wenn Sie sie aus einem Kanal nehmen.
- Eine im Shop geänderte Produktseite wird bei einem Feld, für das GSE-Web maßgeblich ist, bei der nächsten Änderung des Produkts in GSE-Web überschrieben. Die Bestandsverfolgung einer bestehenden Variante wird dagegen nie geändert.
- Veröffentlichter Bestand = verfügbarer Bestand des veröffentlichten Lagers (physisch minus reserviert), auf die ganze Einheit abgerundet, nie negativ, eingebucht am gewählten Standort — die anderen Standorte des Shops bleiben unberührt. Er geht wenige Sekunden nach jeder Änderung an den Shop: Eingang, Ausgang, Umlagerung, Inventur, auf einem Beleg gesetzte oder freigegebene Reservierung. Der vollständige Durchlauf liest ihn zusätzlich alle 5 Minuten neu.
- Eine Bestellung = ein bestätigter Ausgangsbeleg des veröffentlichten Lagers, mit angehaktem „Produkte für diesen Beleg reservieren.“: Die gesamte bestellte Menge wird reserviert, auch über den Bestand hinaus (der Fehlbestand steht als „Wartet auf Wareneingang“ auf dem Beleg), und der im Shop veröffentlichte Bestand sinkt sofort. Die Lieferadresse wird übernommen. Nie ein Teilbeleg: macht eine Zeile Probleme (unbekanntes Produkt, unbekannte Variante, nicht veröffentlichbares Kit, unlesbarer Käufer, andere Währung), wird kein Beleg erstellt, und ein offener Punkt erklärt den Grund.
- Nie importiert: Testbestellungen und Bestellungen mit unbekanntem Zahlungsstatus. Eine Bestellung, die bei ihrem Eingang in Shopify bereits ausgeführt ist — Kassenverkauf (Shopify POS), Versand aus der Shopify-Verwaltung —, ergibt keinen Beleg: er würde die Ware ein zweites Mal ausbuchen. Ein offener Punkt bittet Sie, ihren Lagerabgang in GSE-Web zu erfassen.
- Ein Käufer = ein Kunde vom Typ „Privatkunde“, von Bestellung zu Bestellung über seine E-Mail wiedergefunden (Code beginnend mit WEB-). Ein bereits in GSE-Web erfasster Geschäftspartner wird nicht zugeordnet: es wird ein Kunde vom Typ „Privatkunde“ angelegt.
- Im Shop stornierte Bestellung (storniert, gelöscht, erstattet oder Zahlung storniert): der Beleg wird storniert und seine Reservierungen freigegeben, es sei denn, jemand bearbeitet ihn bereits. Dann überlässt ein offener Punkt die Entscheidung dem Team. Eine Bestellung, die Shopify nicht mehr liefert (älter als 60 Tage ohne
read_all_orders), wird nie für eine gelöschte Bestellung gehalten. - Nach dem Import im Shop geänderte Bestellung: die Änderung wird nicht auf den Beleg übertragen; ein offener Punkt bittet Sie, ihn zu prüfen.
- Eine Bestellung eines Kits wird zu einem Ausgangsbeleg über seine Komponenten (Menge × Anzahl Kits); die Notiz des Belegs nennt das Kit. Eine Bestellung einer Variante ergibt einen Beleg über diese Variante, wie bei jedem Produkt.
- Rückmeldung von Lieferungen und Stornierungen (standardmäßig angekreuzt): ein gelieferter oder abgeschlossener Beleg führt seine Bestellung im Shop aus; ging er mit einer Sendung hinaus, werden Spediteur und Sendungsnummer übermittelt, und Shopify benachrichtigt den Kunden mit seiner Versand-E-Mail. Ein in GSE-Web stornierter Beleg storniert seine Bestellung im Shop und gibt den Bestand wieder zum Verkauf frei, ohne Rückerstattung und ohne E-Mail an den Kunden: die Rückerstattung erfolgt in Shopify. Eine Bestellung, die der Shop bereits ausgeführt hat, wird nicht rückgängig gemacht, und eine auf Shopify-Seite nur teilweise erfolgte Ausführung gilt nicht als erledigt: ein offener Punkt meldet es. Teilweise geliefert oder in Vorbereitung: nichts, solange der Beleg nicht vollständig ist.
- Übernahme von Beschreibung und Fotos (Einstellung standardmäßig nicht angekreuzt): bei jedem Durchlauf wird für jedes verknüpfte Produkt die Beschreibung des Shops als reiner Text auf das Produkt kopiert; die Fotos werden in der Reihenfolge des Shops hinzugefügt, das erste ist das Hauptfoto, und entfernt, wenn sie im Shop verschwinden. Höchstens 20 Fotos pro Produkt. Nicht übernommen werden: Kollektionen, Tags, Steuern, Beschreibung und Fotos einzelner Varianten sowie im Shop geänderte Namen, Preise und Barcodes.
Im Alltag
Die Seite des Connectors liest sich von oben nach unten: Status, Shop, Einstellungen, Schaltflächen, dann die offenen Punkte und das Protokoll.
Die Karte „Status“
Sie zeigt den Stand der Verbindung, Name und Währung des Shops, das Datum des letzten Abgleichs, den letzten Fehler und die Zahl der offenen Punkte. Auf der Karte der Seite „Integrationen“ passt der Status in ein Etikett.
- Noch nicht aktiv „Eingerichtet, noch nicht aktiviert“.
- Verbunden „Aktiv — Bestand wird bei jeder Änderung gesendet, vollständiger Abgleich alle 5 Minuten“. Wenn der Bestand nicht veröffentlicht wird: „Aktiv — Abgleich alle 5 Minuten“.
- Pausiert „Pausiert — nichts wird gesendet oder importiert“.
- Angehalten — prüfen „Vom Server angehalten — Zugangsdaten prüfen und testen“.
„Jetzt abgleichen“
Der Bestand wird automatisch an den Shop gesendet, wenige Sekunden nach jeder Änderung, und Bestellungen kommen an, sobald sie aufgegeben werden: Der Bildschirm erinnert unter der Schaltfläche daran. Diese Schaltfläche dient nur dazu, den vollständigen Abgleich sofort zu starten (Produktseiten, fehlende Bestellungen, Lieferungen), der sonst alle 5 Minuten läuft. Die Meldung sagt, ob der Durchlauf abgeschlossen ist, ob er offene Punkte festgestellt hat oder warum er nicht gestartet wurde.
Die Karte „Was zwischen GSE-Web und dem Shop ausgetauscht wird“
Unter den Einstellungen sagt eine Karte für jeden Austausch, in welche Richtung er geht: von GSE-Web in den Shop (Produktseiten, Bestand, Varianten, Lieferungen und Stornierungen), vom Shop zu GSE-Web (Bestellungen, Stornierungen, Beschreibung und Fotos) und was nie übertragen wird (Bestellzeilen, Rückerstattungen, Kollektionen, Tags und Steuern, im Shop geänderte Namen, Preise und Barcodes). Eine Zeile, die zu einer nicht angekreuzten Einstellung gehört, ist mit „Aus“ markiert.
Das „Protokoll“
Jeder Durchlauf steht dort mit Art und Ergebnis. Arten: „Produktseiten“, „Bestand“, „Bestand in Echtzeit“ (Versand, sobald sich ein Bestand ändert, nur eingetragen, wenn sich eine Menge geändert hat), „Übernahme aus dem Shop“, „Bestellungen nachholen“, „Rückmeldung der Belege“, „Bestellung empfangen“, „Webhook-Prüfung“, „Verbindungstest“. Ergebnisse: „Erfolgreich“, „Teilweise“, „Fehlgeschlagen“, „Läuft“, „Unterbrochen“. Ein Klick auf einen Durchlauf öffnet sein Detail, Element für Element: Produkt angelegt oder aktualisiert, Bestand veröffentlicht, Bestellung importiert, ausgeführt oder storniert, Foto übernommen, Webhook neu erstellt… (höchstens 200 Elemente pro Durchlauf). Durchläufe ohne Änderung lassen sich ausblenden.
Die „Offenen Punkte“
Eine Zeile, die nicht durchgeht, blockiert den Abgleich nie: sie wird zu einem offenen Punkt, und der Rest läuft weiter. Punkte zu Produktseiten und Bestand verschwinden von selbst, sobald ihre Ursache behoben ist. Punkte zu Bestellungen haben zwei Schaltflächen.
- „Erneut ausführen“ liest die Bestellung erneut im Shop und wiederholt den Import, unabhängig von ihrem Alter. Für Punkte der Rückmeldung (Ausführung, Stornierung im Shop) wird sie nicht angeboten: der nächste Durchlauf versucht es von selbst erneut.
- „Ignorieren“ legt den Punkt ab: ein ignorierter Punkt kommt nicht in die Liste zurück. „Alle ignorieren“, oben in der Liste, legt nach einer Bestätigung alle offenen Punkte auf einmal ab, auch die nicht angezeigten.
Produktseiten
- Ursache
- Dieses Produkt hat einen Typ, den der Connector nicht veröffentlicht. Einfache Produkte, Kits und Produkte mit Varianten werden veröffentlicht.
- Was tun
- In GSE-Web ist nichts zu tun. Verwalten Sie dieses Produkt direkt im Shop.
- Ursache
- Das Produkt hat in GSE-Web keinen Verkaufspreis.
- Was tun
- Tragen Sie seinen Verkaufspreis ein. Der Punkt verschwindet beim nächsten Durchlauf.
- Ursache
- Die Preise werden brutto veröffentlicht, und das Produkt hat keinen Steuersatz.
- Was tun
- Tragen Sie den Steuersatz des Produkts ein.
- Ursache
- Die Shop-Variante mit dieser Referenz ist bereits mit einem anderen GSE-Web-Produkt verknüpft, gehört zu einem Produkt mit mehreren Varianten, obwohl das in GSE-Web einfach ist (oder umgekehrt), oder der Shop führt dieselbe Referenz auf mehreren Varianten. Eine Referenz mit Komma kann im Shop ebenfalls nicht gesucht werden.
- Was tun
- Sorgen Sie dafür, dass eine Referenz auf beiden Seiten genau ein Produkt bezeichnet.
- Ursache
- Shopify hat die Produktseite abgelehnt; der Ablehnungscode wird angezeigt.
- Was tun
- Prüfen Sie das Produkt im Shop anhand dieses Codes.
- Ursache
- Das Produkt existiert in Shopify, konnte aber nicht im Kanal „Onlineshop“ veröffentlicht werden: kein Kunde kann es kaufen.
- Was tun
- Veröffentlichen Sie das Produkt in Shopify im Onlineshop, dann „Ignorieren“. Prüfen Sie auch die Veröffentlichungsberechtigungen der App (
read_publications,write_publications). Dieser Punkt verschwindet nicht von selbst: GSE-Web veröffentlicht eine bestehende Produktseite nie erneut.
- Ursache
- Das verknüpfte Produkt existiert im Shop nicht mehr.
- Was tun
- Legen Sie es im Shop mit derselben Referenz neu an. Soll es dort nicht mehr erscheinen, schreiben Sie uns.
- Ursache
- Das Produkt wurde von einfach zu „mit Varianten“ geändert (oder umgekehrt): die Shopify-Produktseite des alten Typs passt nicht mehr dazu. Die Verknüpfung wurde entfernt; die neue Produktseite folgt dem aktuellen Typ.
- Was tun
- Löschen oder archivieren Sie die alte Produktseite in Shopify, dann „Ignorieren“.
- Ursache
- Das Kit hat keine Komponente, eine davon ist archiviert oder inaktiv, oder die Menge einer Komponente ist in einer anderen Einheit als ihrer Basiseinheit erfasst. Das Kit wird nicht zum Verkauf angeboten.
- Was tun
- Korrigieren Sie die Stückliste des Kits. Der Punkt verschwindet beim nächsten Durchlauf.
- Ursache
- Ein Produkt mit Varianten wird über seine Varianten verkauft: ohne aktive Variante wird es nicht zum Verkauf angeboten.
- Was tun
- Legen Sie eine Variante an oder aktivieren Sie eine wieder. Der Punkt verschwindet beim nächsten Durchlauf.
- Ursache
- Die Variante kann nicht veröffentlicht werden: Ihr Elternprodukt ist nicht auffindbar, archiviert oder noch nicht im Shop veröffentlicht, oder ihre Achsen und Werte sind ungültig (Shopify akzeptiert höchstens drei Achsen). Der Grund steht in Klammern.
- Was tun
- Beheben Sie die angegebene Ursache am Elternprodukt oder an der Variante. Der Punkt verschwindet beim nächsten Durchlauf.
- Ursache
- Ein Foto aus dem Shop konnte nicht auf das Produkt kopiert werden. Mögliche Gründe: Bild nicht gefunden, nicht unterstütztes Format (JPEG, PNG, WebP und GIF werden akzeptiert), über 5 MB oder unlesbar, Shop nicht erreichbar (neuer Versuch beim nächsten Durchlauf), unsichere Bildadresse (öffentliches HTTPS erforderlich), mehr als 20 Fotos (die übrigen werden nicht übernommen).
- Was tun
- Prüfen Sie das Foto in den Medien des Produkts im Shop. Der Punkt verschwindet, sobald alles importiert ist; der Rest des Produkts wird trotzdem übernommen.
Bestand
- Ursache
- Der verfügbare Bestand hat Nachkommastellen; der Shop verkauft nur ganze Einheiten.
- Was tun
- Nur zur Information: der Shop zeigt die nächstniedrigere Einheit.
- Ursache
- Shopify hat die Menge abgelehnt; der Ablehnungscode wird angezeigt.
- Was tun
- Prüfen Sie die Produktseite im Shop anhand dieses Codes.
- Ursache
- Der Bestand kann nicht gesendet werden: es wurde kein Standort gewählt, oder der Shop lehnt den gewählten ab (gelöscht, deaktiviert, Berechtigung fehlt). GSE-Web weicht nie auf einen anderen Standort aus.
- Was tun
- Wählen Sie in der Konfiguration einen aktiven Standort (pausieren Sie die Verbindung, um ihn zu ändern), „Speichern“, „Verbindung testen“, dann „Fortsetzen“.
Bestellungen
- Ursache
- Eine Zeile der Bestellung trägt eine Referenz, die es in GSE-Web nicht gibt.
- Was tun
- Legen Sie das Produkt mit derselben Referenz an, dann „Erneut ausführen“.
- Ursache
- Eine Zeile verweist auf eine Variante, die GSE-Web nicht kennt, oder auf die Referenz des Produkts mit Varianten selbst, ohne seine Variante.
- Was tun
- Unbekannte Variante: Legen Sie die Variante mit derselben Referenz wie im Shop an, dann „Erneut ausführen“. Referenz des Elternprodukts ohne Variante bestellt: Bearbeiten Sie die Bestellung von Hand.
- Ursache
- Ohne E-Mail kann der Käufer weder wiedergefunden noch als Kunde angelegt werden.
- Was tun
- Ergänzen Sie die E-Mail des Kunden in der Bestellung im Shop, dann „Erneut ausführen“. Steht die E-Mail dort bereits, prüfen Sie den Zugriff der App auf geschützte Kundendaten.
- Ursache
- Shopify übermittelt der App weder Name noch E-Mail noch Adresse des Käufers, solange sie die Verwendung geschützter Kundendaten nicht deklariert hat.
- Was tun
- Deklarieren Sie im Dev Dashboard den Zugriff auf geschützte Kundendaten (Name, E-Mail, Adresse), veröffentlichen Sie eine Version der App, dann „Erneut ausführen“.
- Ursache
- Der zu diesem Käufer gehörende Kunde wurde archiviert.
- Was tun
- Es wird kein Beleg erstellt. Bearbeiten Sie diese Bestellung von Hand.
- Ursache
- Die Bestellung lautet auf eine andere Währung als die Ihrer Organisation.
- Was tun
- Bearbeiten Sie diese Bestellung von Hand.
- Ursache
- Beim Nachholen überschreitet die Bestellung das „Höchstalter einer nachgeholten Bestellung“.
- Was tun
- „Erneut ausführen“ importiert sie trotzdem.
- Ursache
- Die Bestellung war bei ihrem Eingang in Shopify bereits (ganz oder teilweise) ausgeführt: Kassenverkauf (Shopify POS) oder Versand aus der Shopify-Verwaltung. Ein Beleg würde sie ein zweites Mal ausbuchen; ihr Lagerabgang ist daher nicht in GSE-Web erfasst.
- Was tun
- Erfassen Sie den entsprechenden Lagerabgang in GSE-Web (sonst veröffentlicht GSE-Web seinen alten verfügbaren Bestand erneut im Shop), dann „Ignorieren“.
- Ursache
- Der Beleg wird bereits vorbereitet: GSE-Web storniert ihn nicht von selbst.
- Was tun
- Entscheiden Sie mit dem Team. Muss der Beleg storniert werden, geben Sie ihn frei, dann „Erneut ausführen“.
- Ursache
- Die Bestellung hat sich im Shop geändert, nachdem der Beleg erstellt wurde; die Änderung wird nicht übertragen.
- Was tun
- Vergleichen Sie Bestellung und Beleg und korrigieren Sie den Beleg bei Bedarf.
- Ursache
- Der Import ist fehlgeschlagen; der Grund steht in Klammern.
- Was tun
- Beheben Sie die angegebene Ursache, dann „Erneut ausführen“.
- Ursache
- Die Bestellung enthält ein Kit, dessen Stückliste nicht stimmt: keine Komponente, eine archivierte oder inaktive Komponente oder eine andere Einheit als die Basiseinheit. Es wird kein Beleg erstellt.
- Was tun
- Korrigieren Sie die Stückliste des Kits, dann „Erneut ausführen“.
- Ursache
- Shopify hat abgelehnt, die Bestellung auszuführen oder zu stornieren, hat sie nicht gefunden oder hält einen Teil davon zurück (Ausführungsauftrag zurückgestellt oder geplant); die Meldung sagt, was zutrifft.
- Was tun
- Prüfen Sie die Bestellung im Shop und führen Sie sie bei Bedarf von Hand aus oder stornieren Sie sie: der nächste Durchlauf versucht es von selbst erneut, solange der Beleg es verlangt.
- Ursache
- Der Beleg wurde in GSE-Web storniert, aber der Shop hatte die Bestellung bereits ausgeführt oder geschlossen: GSE-Web macht das nicht rückgängig.
- Was tun
- Klären Sie die Situation mit dem Kunden (Erstattung, Rücksendung) direkt im Shop.
Webhooks
- Ursache
- Shopify entfernt ein Webhook-Abonnement nach mehreren fehlgeschlagenen Zustellungen, oder ein Abonnement der App wurde im Shop gelöscht.
- Was tun
- Nichts zu tun: die Webhook-Prüfung, alle 6 Stunden, legt sie neu an und holt die Bestellungen nach.
Pause, Fortsetzen und Änderungen
Der Connector lässt sich jederzeit abschalten und wieder einschalten. Manche Änderungen folgen einer Regel, an die die Seite erinnert und die der Server durchsetzt.
„Pausieren“
Es wird nichts mehr gesendet oder importiert, und nichts geht verloren. Der im Shop angezeigte Bestand bleibt der zuletzt gesendete.
„Fortsetzen“
Der Shop wird erneut geprüft (Zugangsdaten, Berechtigungen, Währung, Preismodus, Standort), dann beginnt das Nachholen: während der Pause eingegangene Bestellungen werden importiert, wenn sie jünger als N Tage sind („Höchstalter einer nachgeholten Bestellung“, standardmäßig 30) und Shopify sie noch liefert. Ältere werden zu offenen Punkten.
Zugangsdaten, Preismodus (netto/brutto) oder Standort ändern
Bei einer aktiven Verbindung sind Domain, Zugangsdaten, „Veröffentlichte Preise“ und Standort gesperrt. Gehen Sie in dieser Reihenfolge vor: „Pausieren“, ändern, „Speichern“, „Verbindung testen“, „Fortsetzen“. Ein neuer Standort erhält den gesamten Bestand; der alte wird nicht auf null gesetzt — erledigen Sie das in Shopify, da der Shop die Standorte addiert.
Den Shop wechseln
Zuerst „Trennen“: die Webhook-Abonnements des bisherigen Shops werden entfernt. Danach geben Sie den neuen Shop ein; der Standort ist neu zu wählen.
Denselben Shop wieder verbinden
Bereits verknüpfte Produkte, Bestellungen und Kunden werden wiedergefunden: für eine bereits importierte Bestellung entsteht kein zweiter Beleg, und der gesamte Bestand wird erneut gesendet.
Eine Einstellung der Produktseiten ändern
Nach einer Änderung von „Veröffentlichte Preise“ oder „Produktseiten im Shop anlegen und aktualisieren“ liest der nächste Durchlauf den ganzen Katalog neu. Eine Änderung des „Veröffentlichten Lagers“ sendet den gesamten Bestand erneut.
„Trennen“
Die Webhook-Abonnements werden aus dem Shop entfernt und die Zugangsdaten gelöscht. Weder im Shop noch in GSE-Web wird etwas gelöscht: bereits importierte Belege und Kunden bleiben. Antwortet der Shop nicht, bittet die Seite Sie, die Webhook-Abonnements der App selbst in Shopify zu löschen.
Schließung des Moduls
Schließt KLS-Concept das Modul für Ihre Organisation, stoppt alles, ohne dass etwas gelöscht wird. Bei der Wiederöffnung holt der nächste Durchlauf die Bestellungen nach und veröffentlicht den Bestand erneut.
Sicherheit und Daten
Was der Connector aufbewahrt, und wie.
Verschlüsselte Zugangsdaten
Secret der App, Client-ID oder Admin-Token werden auf dem Server verschlüsselt (AES-256-GCM). Sie werden nie wieder angezeigt und nicht in die Protokolle geschrieben. Das 24-Stunden-Token einer Dev-Dashboard-App wird nie gespeichert.
Zwei-Faktor-Authentifizierung
Sie ist Pflicht, um die Zugangsdaten eines Shops einzugeben oder zu ersetzen.
Nur die Shopify-Domain
Der Connector ruft nur die eingegebene Domain …myshopify.com auf, über HTTPS; keiner Weiterleitung wird gefolgt. Übernommene Fotos werden nur von einer öffentlichen HTTPS-Adresse heruntergeladen, ohne jemals das Token zu übermitteln.
Signierte Webhooks
Jeder empfangene Webhook ist mit dem Secret der App signiert, und seine Signatur wird vor jeder Verarbeitung geprüft. Er dient nur als Signal: die Bestellung wird bei Shopify erneut gelesen, und sein Inhalt wird nicht aufbewahrt.
Daten des Käufers
Seine Angaben werden in seinen Kundendatensatz übernommen, die Lieferadresse in den Beleg. Die Verknüpfung mit dem Shop behält nur einen Fingerabdruck seiner E-Mail.
Nichts im Export
Die verschlüsselten Zugangsdaten sind nicht im Portabilitätsexport der Organisation enthalten.
Fehlerbehebung
Die Meldung der Seite, ihre Ursache und was zu tun ist. Der Code in eckigen Klammern hilft dem Support, den Fall wiederzufinden. Die App zeigt diese Meldungen auf Englisch (oder Französisch) an; die Übersetzung hier dient dem Verständnis, der Code in eckigen Klammern ordnet sie zu.
„Vom Server angehalten — Zugangsdaten prüfen und testen“
Nach fünf Ablehnungen der Authentifizierung in Folge (App deinstalliert, Secret neu erzeugt, Token widerrufen) hält der Server die Verbindung an, statt es weiter zu versuchen. Prüfen Sie die App in Shopify, geben Sie bei Bedarf neue Zugangsdaten ein, „Speichern“, „Verbindung testen“, dann „Aktivieren“.
- Was tun
- Geben Sie die Verwaltungsdomain des Shops ein (…myshopify.com), nicht seine öffentliche Adresse. Die aus dem Browser eingefügte Verwaltungsadresse wird akzeptiert.
[SHOPIFY_SHOP_DOMAIN_INVALID]
- Was tun
- Prüfen Sie Client-ID und Secret in den Einstellungen der App (Dev Dashboard), dass die App tatsächlich in diesem Shop installiert ist und dass App und Shop in derselben Organisation sind.
[SHOPIFY_SHOP_AUTH_FAILED]
- Was tun
- Die Zugangsdaten gehören zu einem anderen Shop: korrigieren Sie die Domain, oder geben Sie die Zugangsdaten der in diesem Shop installierten App ein.
[SHOPIFY_SHOP_DOMAIN_MISMATCH]
- Was tun
- Aktivieren Sie im Dev Dashboard die fehlenden Berechtigungen, veröffentlichen Sie eine neue Version und installieren Sie die App erneut im Shop, dann testen Sie erneut. Die Seite zeigt die Liste der fehlenden Berechtigungen.
[SHOPIFY_SHOP_SCOPES_MISSING]
- Was tun
- Der Connector verbindet nur einen Shop in der Währung Ihrer Organisation.
[SHOPIFY_SHOP_CURRENCY_MISMATCH]
- Was tun
- Wählen Sie unter „Einstellungen“ für „Veröffentlichte Preise“ den Modus des Shops („Steuern in Preisen einschließen“, unter Einstellungen › Steuern und Zölle). Setzen Sie die Verbindung zuerst auf Pause, falls sie aktiv ist, speichern Sie, dann testen Sie.
[SHOPIFY_SHOP_PRICE_MODE_MISMATCH]
- Was tun
- „Verbindung testen“, den „Standort des Shops“ wählen, „Speichern“, dann „Aktivieren“.
[SHOPIFY_LOCATION_REQUIRED]
- Was tun
- Pausieren Sie die Verbindung, „Verbindung testen“ (die Liste der Standorte wird neu geladen), einen aktiven Standort wählen, „Speichern“, dann „Fortsetzen“.
[SHOPIFY_LOCATION_NOT_FOUND]
- Was tun
- Klären Sie die Situation des Shops mit Shopify (Abonnement, Zahlung); der Abgleich setzt danach von selbst fort.
[SHOPIFY_SHOP_UNAVAILABLE]
- Was tun
- Prüfen Sie, ob der Shop antwortet, und versuchen Sie es erneut.
[SHOPIFY_SHOP_UNREACHABLE]
- Was tun
- Versuchen Sie es etwas später erneut.
[SHOPIFY_SHOP_TIMEOUT]
- Was tun
- Warten Sie: der nächste Durchlauf setzt von selbst fort.
[SHOPIFY_SHOP_RATE_LIMITED]
- Was tun
- Versuchen Sie es erneut; erscheint die Meldung wieder, schreiben Sie uns mit dem Code unten.
[SHOPIFY_SHOP_RESPONSE_INVALID]
- Was tun
- „Pausieren“, ändern, „Speichern“, „Verbindung testen“, „Fortsetzen“.
[SHOPIFY_CONNECTION_ACTIVE_CHANGE_REFUSED]
- Was tun
- „Trennen“, dann den neuen Shop eingeben.
[SHOPIFY_SHOP_CHANGE_REQUIRES_DISCONNECT]
- Was tun
- Halten Sie diese Reihenfolge ein: „Pausieren“, „Veröffentlichte Preise“ ändern, speichern, testen, dann „Fortsetzen“. Der Preismodus wird beim Test und beim Fortsetzen mit dem Shop abgeglichen.
[SHOPIFY_PRICE_MODE_CHANGE_REQUIRES_PAUSE]
- Was tun
- Geben Sie das Secret mit der Client-ID (oder mit dem Admin-Token) ein, oder lassen Sie alles leer, um die gespeicherten Zugangsdaten zu behalten.
[SHOPIFY_CREDENTIALS_REQUIRED]
- Was tun
- Aktivieren Sie sie unter „Meine Informationen“ (die Seite bietet „„Meine Informationen“ öffnen“ an) und speichern Sie erneut.
[SHOPIFY_CONNECTION_TWO_FACTOR_REQUIRED]
- Was tun
- Wählen Sie ein reales Lager als „Veröffentlichtes Lager“.
[SHOPIFY_WAREHOUSE_EXERCISE_REFUSED]
- Was tun
- Geben Sie Secret und Client-ID (oder das Token) erneut ein, testen Sie, dann aktivieren Sie.
[INTEGRATIONS_CREDENTIALS_UNREADABLE]
- Was tun
- Warten Sie das Ende des laufenden Durchlaufs ab.
[INTEGRATIONS_CONNECTION_BUSY]
Häufige Fragen
Werden Produkte mit Varianten unterstützt?
Ja. Ein Produkt mit Varianten wird als Produkt mit Optionen veröffentlicht, jede seiner Varianten als Variante im Shop, mit Referenz, Preis und Bestand. Shopify akzeptiert höchstens drei Achsen (Größe, Farbe, Material…). Eine Bestellung einer Variante ergibt einen Beleg über diese Variante.
Lassen sich mehrere Shops oder mehrere Standorte verbinden?
Nein. Eine Organisation verbindet einen Shop, und ein Lager von GSE-Web, das „Veröffentlichte Lager“, beliefert einen einzigen Standort des Shops. Die anderen Shopify-Standorte bleiben unberührt.
Werden Lieferungen an den Shop zurückgemeldet?
Ja, wenn „Lieferungen und Stornierungen an den Shop melden“ angekreuzt ist, was standardmäßig der Fall ist. Ein gelieferter Beleg führt seine Bestellung im Shop aus; ging er mit einer Sendung hinaus, werden Spediteur und Sendungsnummer übermittelt, und Shopify schickt dem Kunden seine Versand-E-Mail. Ein in GSE-Web stornierter Beleg storniert seine Bestellung im Shop, ohne Rückerstattung. GSE-Web schreibt nie die Zeilen einer Bestellung.
Werden Produktbilder und Beschreibungen ausgetauscht?
Sie gehen nie von GSE-Web aus: Fotos und Beschreibung werden in Shopify verwaltet. Wenn Sie aber „Beschreibung und Fotos aus dem Shop übernehmen“ ankreuzen, werden sie in GSE-Web auf die verknüpften Produkte kopiert. Fotos und Beschreibung einzelner Varianten werden nicht übernommen.
Werden die Kollektionen, Tags und Steuern des Shops übernommen?
Nein. Sie bleiben in Shopify verwaltet, und GSE-Web übernimmt sie nicht.
Und die Kassenverkäufe (Shopify POS)?
Eine Bestellung, die bei ihrem Eingang in Shopify bereits ausgeführt ist, etwa ein Kassenverkauf, wird nicht zu einem Beleg: die Ware ist bereits weg. Ein offener Punkt bittet Sie, ihren Lagerabgang in GSE-Web zu erfassen; sonst würde GSE-Web seinen alten verfügbaren Bestand erneut im Shop veröffentlichen.
Was passiert, wenn ich pausiere oder das Modul geschlossen wird?
Es wird nichts gesendet oder importiert, und nichts gelöscht. Der Bestand im Shop bleibt der zuletzt gesendete. Beim Fortsetzen werden die zwischenzeitlich eingegangenen Bestellungen nachgeholt, wenn sie jünger als 30 Tage sind (einstellbar von 1 bis 90, und höchstens 60 Tage ohne die Berechtigung read_all_orders).
Wie schnell erscheint eine Bestellung in GSE-Web?
Sofort, per Webhook. Geht ein Webhook verloren, holt der nächste Durchlauf, alle 5 Minuten, die Bestellung nach.
Kann der Shop ein Produkt verkaufen, das nicht mehr auf Lager ist?
Das Risiko schrumpft auf wenige Sekunden, ohne zu verschwinden. Der Bestand geht wenige Sekunden nach jedem in GSE-Web erfassten Ausgang, Eingang oder jeder Reservierung an den Shop, und jede Shop-Bestellung reserviert sofort ihre gesamte Menge. Ein Verkauf im Shop genau im Moment eines Ausgangs im Lager bleibt möglich: Er wird zu einem Beleg, dessen Fehlbestand als „Wartet auf Wareneingang“ erscheint.
Wird ein Käufer erkannt, der schon unter meinen Geschäftspartnern ist?
Nein. Der Connector legt pro Käufer einen Kunden vom Typ „Privatkunde“ an und findet ihn bei späteren Bestellungen über seine E-Mail wieder, ordnet ihn aber keinem bereits in GSE-Web erfassten Geschäftspartner zu.
Werden Bestellungen vor der Aktivierung importiert?
Nein. Nur nach der Aktivierung eingegangene Bestellungen werden importiert.
Wie erhalte ich den Connector?
Die Module „Integrationen“ und „Shopify“ werden von KLS-Concept Organisation für Organisation freigeschaltet. Schreiben Sie uns über die Kontaktseite.
Ihren Shopify-Shop verbinden
Beantragen Sie die Freischaltung des Connectors für Ihre Organisation, oder stellen Sie uns Ihre Fragen zu Ihrem Fall.