Modul Integrationen

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.

Startseite / Dokumentation / Shopify-Connector

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.
Bevor Sie beginnen

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.

1

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).

2

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.

3

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_orders liefert 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.
4

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.

5

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.

6

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

Produkt …: Produkttyp wird vom Shop nicht unterstützt

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.

Produkt …: kein Verkaufspreis — nicht veröffentlicht

Ursache
Das Produkt hat in GSE-Web keinen Verkaufspreis.
Was tun
Tragen Sie seinen Verkaufspreis ein. Der Punkt verschwindet beim nächsten Durchlauf.

Produkt …: Steuersatz fehlt, Bruttopreis nicht berechenbar

Ursache
Die Preise werden brutto veröffentlicht, und das Produkt hat keinen Steuersatz.
Was tun
Tragen Sie den Steuersatz des Produkts ein.

Produkt …: die Referenz wird im Shop bereits von einem anderen Produkt verwendet

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.

Produkt … vom Shop abgelehnt (…)

Ursache
Shopify hat die Produktseite abgelehnt; der Ablehnungscode wird angezeigt.
Was tun
Prüfen Sie das Produkt im Shop anhand dieses Codes.

Produkt …: im Shop angelegt, aber nicht im Onlineshop veröffentlicht (…)

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.

Produkt … im Shop gelöscht: neu anlegen oder Verknüpfung lösen

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.

Produkt …: Typ in GSE-Web geändert, die alte Shopify-Produktseite ist nicht mehr verknüpft

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“.

Kit …: Stückliste nicht veröffentlichbar (Grund)

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.

Produkt mit Varianten …: keine aktive Variante — nicht veröffentlicht

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.

Variante …: nicht veröffentlicht (Grund)

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.

Produkt …: Foto nicht aus dem Shop übernommen (Grund)

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

Bruchteilbestand im Shop auf ganze Einheit abgerundet

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.

Bestand von Produkt … vom Shop abgelehnt (…)

Ursache
Shopify hat die Menge abgelehnt; der Ablehnungscode wird angezeigt.
Was tun
Prüfen Sie die Produktseite im Shop anhand dieses Codes.

Lagerstandort nicht verfügbar (Grund): der Bestand wird nicht veröffentlicht

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

Bestellung …: unbekanntes Produkt (SKU …) — kein Beleg erstellt

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“.

Bestellung …: Variante nicht importierbar (SKU …, Grund) — kein Beleg erstellt

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.

Bestellung …: ohne Käufer-E-Mail

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.

Bestellung …: Käufer nicht lesbar (geschützte Kundendaten nicht deklariert)

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“.

Bestellung …: der Kunde ist in GSE-Web archiviert

Ursache
Der zu diesem Käufer gehörende Kunde wurde archiviert.
Was tun
Es wird kein Beleg erstellt. Bearbeiten Sie diese Bestellung von Hand.

Bestellung …: Währung … weicht von … ab

Ursache
Die Bestellung lautet auf eine andere Währung als die Ihrer Organisation.
Was tun
Bearbeiten Sie diese Bestellung von Hand.

Bestellung …: zu alt für den automatischen Import (über … Tage)

Ursache
Beim Nachholen überschreitet die Bestellung das „Höchstalter einer nachgeholten Bestellung“.
Was tun
„Erneut ausführen“ importiert sie trotzdem.

Bestellung …: bereits über Shopify versandt, kein Beleg erstellt

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“.

Bestellung … im Shop storniert, der Beleg ist aber bereits in Bearbeitung: vom Team zu klären

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“.

Bestellung … nach dem Import im Shop geändert: Beleg prüfen

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.

Bestellung …: Import fehlgeschlagen (…)

Ursache
Der Import ist fehlgeschlagen; der Grund steht in Klammern.
Was tun
Beheben Sie die angegebene Ursache, dann „Erneut ausführen“.

Bestellung …: Kit … nicht veröffentlichbar (Grund) — kein Beleg erstellt

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“.

Bestellung …: der Shop lehnt den Vorgang ab (…)

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.

Bestellung …: Beleg storniert, aber die Bestellung ist im Shop bereits abgeschlossen — mit dem Kunden zu klären

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

Webhooks vom Shop entfernt: neu angelegt, Bestellungen nachgeholt

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.

Angehalten — prüfen

„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“.

Ungültige Shop-Domain: erwartet wird eine Domain der Form shop.myshopify.com

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]

Shopify lehnt die Zugangsdaten ab: prüfen Sie Client-ID und Secret (oder das Admin-Token), dass die App im Shop installiert ist und dass sie zur selben Organisation im Dev Dashboard gehört

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]

Diese Zugangsdaten gehören zum Shop …, nicht zu …

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]

Der App fehlen erforderliche Berechtigungen. Fehlende Berechtigungen: …

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]

Die Währung des Shops (…) weicht von der der Organisation ab (…)

Was tun
Der Connector verbindet nur einen Shop in der Währung Ihrer Organisation.
[SHOPIFY_SHOP_CURRENCY_MISMATCH]

Der Shop veröffentlicht seine Preise …, die Verbindung ist aber auf … eingestellt

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]

Wählen Sie den Shopify-Standort, der den Bestand erhält (testen Sie die Verbindung, um die Liste der Standorte zu erhalten)

Was tun
„Verbindung testen“, den „Standort des Shops“ wählen, „Speichern“, dann „Aktivieren“.
[SHOPIFY_LOCATION_REQUIRED]

Der gewählte Standort existiert nicht mehr oder ist im Shop deaktiviert: testen Sie die Verbindung und wählen Sie einen anderen

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]

Der Shop ist von Shopify eingefroren, pausiert oder gesperrt: in GSE-Web ist nichts zu korrigieren, versuchen Sie es erneut, wenn er wieder geöffnet ist

Was tun
Klären Sie die Situation des Shops mit Shopify (Abonnement, Zahlung); der Abgleich setzt danach von selbst fort.
[SHOPIFY_SHOP_UNAVAILABLE]

Der Shop ist nicht erreichbar (…)

Was tun
Prüfen Sie, ob der Shop antwortet, und versuchen Sie es erneut.
[SHOPIFY_SHOP_UNREACHABLE]

Der Shop hat nicht rechtzeitig geantwortet

Was tun
Versuchen Sie es etwas später erneut.
[SHOPIFY_SHOP_TIMEOUT]

Der Shop begrenzt die Aufrufe: versuchen Sie es später erneut

Was tun
Warten Sie: der nächste Durchlauf setzt von selbst fort.
[SHOPIFY_SHOP_RATE_LIMITED]

Unlesbare Antwort des Shops

Was tun
Versuchen Sie es erneut; erscheint die Meldung wieder, schreiben Sie uns mit dem Code unten.
[SHOPIFY_SHOP_RESPONSE_INVALID]

Pausieren Sie die Verbindung, bevor Sie Shop, Zugangsdaten oder Lagerstandort ändern

Was tun
„Pausieren“, ändern, „Speichern“, „Verbindung testen“, „Fortsetzen“.
[SHOPIFY_CONNECTION_ACTIVE_CHANGE_REFUSED]

Trennen Sie zuerst den aktuellen Shop (seine Webhook-Abonnements sind noch eingerichtet), bevor Sie einen anderen eingeben

Was tun
„Trennen“, dann den neuen Shop eingeben.
[SHOPIFY_SHOP_CHANGE_REQUIRES_DISCONNECT]

Der Preismodus (netto/brutto) wird bei einer pausierten Verbindung geändert

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]

Das Secret der App und genau eine Kennung — die Client-ID oder das Admin-Token — sind zusammen erforderlich

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]

Aktivieren Sie die Zwei-Faktor-Authentifizierung für Ihr Konto, bevor Sie die Zugangsdaten eines Shops eingeben

Was tun
Aktivieren Sie sie unter „Meine Informationen“ (die Seite bietet „„Meine Informationen“ öffnen“ an) und speichern Sie erneut.
[SHOPIFY_CONNECTION_TWO_FACTOR_REQUIRED]

Ein Übungslager kann nicht mit einem Onlineshop verbunden werden

Was tun
Wählen Sie ein reales Lager als „Veröffentlichtes Lager“.
[SHOPIFY_WAREHOUSE_EXERCISE_REFUSED]

Die gespeicherten Zugangsdaten können auf diesem Server nicht mehr gelesen werden: geben Sie sie erneut ein

Was tun
Geben Sie Secret und Client-ID (oder das Token) erneut ein, testen Sie, dann aktivieren Sie.
[INTEGRATIONS_CREDENTIALS_UNREADABLE]

Für diese Verbindung läuft bereits ein Abgleich: versuchen Sie es in einigen Augenblicken erneut

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.