Einrichtung
Zugang zum Shop, Läger, Belegtypen, Zuordnungen und die Reihenfolge bei der Erstinbetriebnahme.
- Shopdaten
- Läger und Standorte
- Belege
- Zahlungs- und Versandarten
- Sprachen und Märkte
- SelectLine-Makros
- Erstinbetriebnahme
Shopdaten
Unter Shopify → Einstellungen → Shopdaten wird der Zugang zum Shop hinterlegt. Ohne diese Angaben bleiben alle weiteren Auswahllisten in den Einstellungen leer, weil sie ihre Inhalte direkt aus dem Shop laden.
Zugangsdaten
Shopname
Nur der Name, nicht die vollständige Adresse. FINN.ghost bildet daraus
https://<Shopname>.myshopify.com.
Der Shopname ist der Teil vor .myshopify.com in der Adresse des Adminbereichs. Er bleibt gleich, auch wenn der Shop unter einer eigenen Domain erreichbar ist.
AccessToken
Das Zugangstoken einer eigenen App im Shopify-Adminbereich. Anzulegen unter Einstellungen → Apps und Vertriebskanäle → Apps entwickeln → App erstellen.
Die App braucht Lese- und Schreibrechte auf Produkte, Bestände, Bestellungen, Entwürfe, Kunden, Unternehmen, Dateien, Übersetzungen, Preislisten, Publikationen und Versandeinstellungen. Im Zweifel alle Bereiche freigeben, die mit Produkten, Bestellungen und Kunden zu tun haben.
Shopify zeigt das Token nur einmal an. Wer es nicht notiert hat, muss ein neues erzeugen.
Beim Speichern prüft FINN.ghost die Verbindung sofort und meldet, wenn sie nicht zustande kommt.
Verbindung prüfen
Die Verbindung ist in Ordnung, wenn sich die Auswahllisten in den Einstellungen füllen — etwa die Standorte, die Sprachen oder die Versandarten. Bleiben sie leer, stimmt etwas am Shopnamen oder am Token nicht. Die konkrete Meldung steht im Protokoll unter Shopify → Zeitsteuerung.
Grenzen der Shopify-Schnittstelle
Shopify begrenzt, wie viele Anfragen eine App pro Sekunde stellen darf. FINN.ghost beachtet das selbst: Nähert sich das Kontingent der Grenze, legt die Schnittstelle eine Pause ein und arbeitet dann weiter. Bei Überlast auf Shopify-Seite wird der Aufruf automatisch wiederholt.
Das ist der Grund, warum ein Vollexport bei vielen Artikeln lange dauert und sich nicht beliebig beschleunigen lässt. Das Tempo gibt Shopify vor, nicht die Schnittstelle.
Nächster Schritt
Läger und Standorte
Shopify führt Bestände je Standort. FINN.ghost muss deshalb wissen, welches SelectLine-Lager zu welchem Shopify-Standort gehört. Die Zuordnung liegt unter Shopify → Einstellungen → Lager.
Ohne mindestens eine Zuordnung wird kein Bestand übertragen. Im Protokoll erscheint dann die Meldung, dass keine Läger definiert sind.
Die Zuordnung
Links stehen die Standorte aus dem Shop, rechts wählt man das SelectLine-Lager.
Alle Läger
Neben den einzelnen Lägern steht die Auswahl Alle Läger zur Verfügung. Damit wird der Gesamtbestand über alle Läger an diesen Standort gemeldet.
Das ist die richtige Wahl für den Normalfall: ein Shopify-Standort, ein Lagerbestand. Erst wenn der Shop tatsächlich mehrere Standorte getrennt führt — etwa Zentrallager und Filiale —, ordnet man einzelne Läger zu.
Ist genau ein Standort mit Alle Läger zugeordnet, schreibt FINN.ghost beim Bestellimport kein Lager in den Beleg. Bei echter Standorttrennung wird dagegen das Lager des Fulfillments übernommen, und zusätzlich der Lagerplatz aus den SelectLine-Lagerstammdaten.
Weitere Einstellungen in diesem Bereich
Bestand verwenden
Schaltet die Bestandsführung im Shop insgesamt ein oder aus. Ist sie aus, verkauft Shopify unbegrenzt weiter, weil es keine Bestandsangabe kennt.
Reservierten Bestand ignorieren
Standardmäßig wird der reservierte Bestand abgezogen, also nur der wirklich freie Bestand gemeldet. Mit dieser Einstellung wird der volle Lagerbestand gemeldet.
Offene Aufträge von Bestand abziehen
Zieht die noch nicht gelieferten Mengen aus offenen Aufträgen des Bestell-Belegtyps zusätzlich ab. Sinnvoll, wenn Aufträge in der SelectLine längere Zeit offen liegen, bevor sie geliefert werden, und der Shop diese Ware nicht mehr anbieten soll.
Nächster Schritt
Belege
Unter Shopify → Einstellungen → Belege wird festgelegt, wie Bestellungen in die SelectLine-Belegkette einlaufen und was aus der Belegkette zurück in den Shop gemeldet wird.
Belegtypen
Zur Auswahl stehen jeweils alle Verkaufsbelege der SelectLine.
Bestellungen
In diesen Belegtyp wird der Warenkorb aus dem Shop übertragen.
Vorkasse
Bestellungen mit einer Vorkasse-Zahlungsart landen stattdessen in diesem Belegtyp. Welche Zahlungsarten als Vorkasse gelten, wird unter Zahlungs- und Versandarten festgelegt.
Ist der Vorkassebeleg in der SelectLine als gezahlt verbucht, markiert FINN.ghost die Bestellung im Shop als bezahlt.
Versand
Erreicht ein Beleg diesen Belegtyp — üblicherweise der Lieferschein —, meldet die Schnittstelle die Bestellung im Shop als versendet und überträgt die Paketnummern aus der Paketverwaltung.
Rechnung
Wird für die Gutschriftverarbeitung gebraucht: Zu einer Rückerstattung im Shop entsteht in der SelectLine eine Rechnung als Vorgänger und darauf die Gutschrift. Siehe Gutschriften und Storni.
Belegtyp Bestelländerungen
Die Gegenrichtung: Wird ein Beleg dieses Typs in der SelectLine geändert, überträgt FINN.ghost die Änderung zurück in die Shopify-Bestellung — geänderte Mengen, entfernte und hinzugefügte Positionen, angepasste Versandkosten.
Das ist die einzige Stelle, an der die Schnittstelle die Bestellung im Shop inhaltlich verändert. Wer das nicht möchte, lässt das Feld leer. Näheres unter Versand und Rückmeldungen.
Versandmeldung
Trackingnummern importieren
Kehrt die Richtung um: Statt den Versand aus der SelectLine an Shopify zu melden, übernimmt FINN.ghost die in Shopify erfassten Sendungen. Zu einer vollständig versendeten Bestellung entsteht der Versandbeleg als Nachfolger, und die Trackingnummern werden in die Paketverwaltung geschrieben.
Das ist der Weg für Shops, in denen der Versand über Shopify oder einen dort angebundenen Dienstleister abgewickelt wird.
Beide Richtungen schließen sich aus. Ist der Import aktiv, wird kein Versand mehr an Shopify gemeldet.
Nur Lieferstatus senden, wenn Paketnummer vorhanden
Meldet den Versand erst, wenn mindestens eine Paketnummer erfasst ist. Findet sich am Versandbeleg keine, sucht FINN.ghost zusätzlich in den Vorgängerbelegen.
Kunde über Versand informieren
Legt fest, ob Shopify die Versandbenachrichtigung an den Kunden schickt. Voreingestellt ist aus — sinnvoll, wenn die Kundenkommunikation über die SelectLine läuft.
Positionen
Versandposition immer anlegen
Normalerweise entsteht eine Versandposition nur, wenn die Bestellung Versandkosten enthält. Mit dieser Einstellung wird sie immer angelegt, auch mit Betrag 0.
Bezeichnung vom Versandartikel aus SelectLine verwenden
Standardmäßig übernimmt die Versandposition die Bezeichnung der Versandart aus dem Shop. Mit dieser Einstellung gilt stattdessen die Bezeichnung des Artikels aus der SelectLine.
Rabattpositionen aufsummieren pro Rabattcode
Ohne diese Einstellung entsteht pro rabattierter Artikelposition eine eigene Rabattposition. Bei einem Rabattcode über den ganzen Warenkorb ergibt das viele kleine Zeilen. Mit der Einstellung wird pro Rabattcode eine Position gebildet.
Nächster Schritt
Zahlungs- und Versandarten
Damit eine Bestellung als Beleg entstehen kann, muss FINN.ghost wissen, welche Zahlungsbedingung und welche Lieferbedingung der SelectLine zu einer Zahlungsart und Versandart im Shop gehört.
Zahlungsbedingungen
Die Liste der Zahlungsarten füllt sich erst, nachdem Bestellungen importiert wurden. Shopify bietet keine Abfrage der verfügbaren Zahlungsarten an — FINN.ghost merkt sich deshalb jede Zahlungsart, die in einer Bestellung vorkommt. Nach der Einrichtung sollte man den Bereich also erneut aufrufen und die neu erschienenen Zahlungsarten zuordnen.
Zu jeder Zahlungsart gibt es vier Spalten.
SelectLine
Die Zahlungsbedingung, die in den Beleg geschrieben wird.
Bankbezug
Die Kasse oder Bank, die als Bankbezug im Beleg gesetzt wird. Erleichtert später den Zahlungsabgleich in der Buchhaltung.
Import
Normalerweise werden nur Bestellungen übernommen, deren offener Betrag 0 ist — also vollständig bezahlte. Zahlungsarten wie Rechnung erreichen diesen Zustand nie; für sie wird dieser Haken gesetzt.
Bei Shopify Plus mit B2B-Bestellungen entfällt die Prüfung ohnehin, weil dort mit Zahlungsziel gearbeitet wird.
Vorkasse
Bestellungen dieser Zahlungsart gehen in den Vorkasse-Belegtyp statt in den Bestell-Belegtyp.
Geschenkkarten
Mit Geschenkkarten bezahlte Anteile werden nicht als Zahlungsart behandelt, sondern als Rabattposition auf den Promotion-Artikel gebucht, mit dem Hinweis auf die letzten Zeichen der Karte. Steuer 0.
Wird eine Bestellung ausschließlich mit Geschenkkarte bezahlt, gilt die Zuordnung der
Zahlungsart gift_card.
Lieferbedingungen
Hier wird jeder Versandart des Shops eine Lieferbedingung der SelectLine zugeordnet.
Die Liste kommt aus den Shopify-Versandprofilen. Zusätzlich steht immer der Eintrag Abholung zur Verfügung — Shopify meldet bei Abholung im Laden den Shopnamen als Versandart, und FINN.ghost bildet das auf diesen Eintrag ab.
Findet sich zu einer Versandart keine Zuordnung, wird die Bestellung trotzdem importiert — der Beleg bleibt dann aber ohne Lieferbedingung. Im Protokoll steht ein Hinweis. Nach dem Anlegen neuer Versandarten im Shop lohnt deshalb ein Blick in diesen Bereich.
Versanddienstleister
Unter Shopify → Einstellungen → Versand lassen sich die SelectLine-Transportdienstleister auf die Bezeichnungen abbilden, die Shopify für die Sendungsverfolgung erwartet. Ohne Zuordnung wird die SelectLine-Bezeichnung unverändert übergeben.
Trifft Shopify den Dienstleister nicht, zeigt es dem Kunden zwar die Paketnummer, aber keinen Verfolgungslink. Die Zuordnung lohnt sich daher für die gängigen Dienstleister.
Platzhalterartikel
Nicht jede Position einer Bestellung entspricht einem Artikel aus der SelectLine. Versandkosten und Rabatte brauchen deshalb Platzhalterartikel, die unter Shopify → Einstellungen → Artikel hinterlegt werden.
Promotion Artikel
Auf diesen Artikel werden Rabatte, Rabattcodes und Geschenkkarten gebucht.
Ist kein Promotion-Artikel hinterlegt, werden Rabatte stillschweigend übersprungen — der Beleg in der SelectLine ist dann teurer als die Bestellung im Shop. Das ist die häufigste Ursache für Betragsabweichungen.
Versandartikel – Standard und Ermäßigt
Auf diese Artikel werden die Versandkosten gebucht. FINN.ghost ermittelt, welche Steuersätze in der Bestellung vorkommen, und verteilt die Versandkosten anteilig nach dem jeweiligen Warenwert. Steuersätze unter 16 % laufen auf den ermäßigten Versandartikel.
Enthält eine Bestellung Ware mit 19 % und mit 7 %, entstehen dadurch zwei Versandpositionen mit dem jeweils passenden Steuersatz. Wer das nicht möchte, aktiviert Steuer vom Versandartikel aus SelectLine verwenden — dann entsteht eine Position mit dem Steuersatz des Artikels.
Konten für Rabattpositionen
Zusätzlich lässt sich je Steuersatz ein Erlöskonto für die Rabattpositionen festlegen. Ohne diese Angabe übernimmt die Rabattposition Konto und Steuer der vorangehenden Artikelposition — damit landet der Rabatt auf demselben Konto wie der rabattierte Umsatz.
Nächster Schritt
Sprachen und Märkte
Shopify bündelt Länder, Währungen und Sprachen in Märkten. Zu jedem Markt gehört ein Katalog mit einer Preisliste und einer Publikation. FINN.ghost kann diese Struktur mit Preisen aus SelectLine-Preisgruppen versorgen.
Sprachzuordnung
Unter Shopify → Einstellungen → Sprachzuordnung wird jeder Shop-Sprache eine SelectLine-Sprache zugeordnet.
Übersetzt werden Produkttitel und Beschreibung aus den Fremdbezeichnungen zum Artikel. Zusätzlich schreibt der Bestellimport die Sprache der Bestellung in den Beleg, sodass Belegformulare in der Sprache des Kunden gedruckt werden können.
Es werden nur Titel und Beschreibung übersetzt. Metafelder, Sammlungen und Merkmalsbezeichnungen bleiben einsprachig.
Märkte
Der Bereich Märkte zeigt die im Shop eingerichteten Märkte mit ihren Katalogen, Preislisten und Währungen. Er dient der Übersicht — eingerichtet werden Märkte im Shopify-Adminbereich.
Preiszuweisung zu Katalogen
Hier entsteht die eigentliche Zuordnung: Je Katalog wird festgelegt, aus welcher SelectLine-Preisgruppe und in welcher Währung der Preis kommt.
Die Aufgabe Preise exportieren schreibt daraufhin für jeden Artikel den Preis in die Preisliste des Katalogs und veröffentlicht den Artikel in der zugehörigen Publikation.
Findet sich für einen Artikel in der zugeordneten Preisgruppe kein Preis, wird der Katalogpreis dieses Artikels wieder entfernt. Damit fällt der Artikel im betreffenden Markt auf den Standardpreis zurück. Wer in einem Markt bewusst nur einen Teil des Sortiments anbieten will, sollte das im Shopify-Adminbereich über die Publikation steuern, nicht über fehlende Preise.
Währungen in Bestellungen
Präsentationswährungen
Kauft ein Kunde in einer anderen Währung als der Shop-Grundwährung, liefert Shopify beide Beträge. Standardmäßig übernimmt FINN.ghost den Betrag in der Shop-Währung.
Trägt man eine Währung in die Liste der Präsentationswährungen ein, werden für Bestellungen in dieser Währung stattdessen die Beträge in der Kundenwährung in den Beleg geschrieben, und der Beleg erhält diese Währung.
Ergänzend lässt sich je Währung ein Fibukonto festlegen, das bei neu angelegten Kunden gesetzt wird.
Nächster Schritt
SelectLine-Makros
An drei Stellen kann das Modul ein SelectLine-Makro ausführen. Damit lassen sich kundenspezifische Nachbearbeitungen ohne Programmierung einhängen. Die Felder liegen unter Shopify → Einstellungen → Makros.
Bestellung angelegt
Läuft, nachdem der Beleg vollständig aufgebaut ist — nach Kopf, allen Positionen, den Versandkosten und der Kontenzuweisung der Rabattpositionen. Übergeben werden Belegtyp und Belegnummer.
Das ist der Platz für alles, was mit einem fertigen Shop-Beleg passieren soll: Kommissionierung anstoßen, Zusatzfelder befüllen, Belege drucken, eigene Prüfungen laufen lassen.
Läuft das Makro auf einen Fehler, wird der gerade angelegte Beleg gelöscht und die Bestellung im Shop mit dem Tag ImportError versehen. Sie wird dann nicht erneut versucht, bis der Tag entfernt wird. Makros an dieser Stelle sollten ihre Fehler daher selbst abfangen. Siehe Bestellungen.
Kunde angelegt
Läuft, nachdem beim Bestellimport ein neuer Kunde entstanden ist. Übergeben wird die Nummer des neuen Kunden.
Bei reinen Aktualisierungen bestehender Kunden läuft kein Makro. Und auch nicht beim Kundenexport in den Shop — nur beim Anlegen aus einer Bestellung.
Artikel exportieren
Soll vor dem Export jedes einzelnen Artikels laufen und bekommt die Nummer des Artikels. Gedacht für berechnete Felder, die der Shop braucht — etwa einen zusammengesetzten Beschreibungstext.
Dieses Feld hat derzeit keine Wirkung. Die Schnittstelle liest an dieser Stelle die entsprechende Einstellung des Moduls FINN.webshop, nicht die hier eingetragene. Wer ein Artikelmakro braucht, sollte sich an den Support wenden — bitte nichts in dieses Feld eintragen, es würde stillschweigend ignoriert.
Hinweise
- Makronamen werden ohne Prüfung übernommen. Ein Tippfehler zeigt sich erst zur Laufzeit als Fehler.
- Die Makros laufen unter dem API-Benutzer aus den SelectLine-Einstellungen, nicht unter einem interaktiven Benutzer.
- Ein Makro, das vor jedem Artikel läuft, wird bei einem Vollexport entsprechend oft aufgerufen. Bei 20.000 Artikeln sind das 20.000 Aufrufe — jede Sekunde Laufzeit multipliziert sich.
Nächster Schritt
Erstinbetriebnahme
Die einzelnen Übertragungen bauen aufeinander auf. Bei einem leeren Shop lohnt es sich, die Läufe einmal in dieser Reihenfolge von Hand anzustoßen, unter Shopify → Zeitsteuerung.
Diese Reihenfolge gilt für die Erstbefüllung. Im laufenden Betrieb spielt sie keine Rolle mehr — dann zieht die Schnittstelle fehlende Metafelder und Sammlungen selbst nach.
Reihenfolge
1. Sachmerkmale und Extrafelder aktualisieren
Legt im Shop die Metafeld-Definitionen an, in denen später die SelectLine-Felder landen. Dieser Schritt muss zuerst laufen.
Ohne die Definitionen wären die Werte am Produkt vorhanden, aber im Adminbereich nicht als gepflegte Felder sichtbar. Der Artikelexport zieht fehlende Definitionen bei Bedarf selbst nach — beim Erstlauf ist der eigene Durchgang aber schneller.
2. Artikelgruppen exportieren
Legt die Sammlungen an, in die die Artikel später einsortiert werden.
3. Artikel exportieren (alle)
Der große Lauf. Er legt Produkte, Varianten, Bilder, Metafelder und Sammlungszuordnungen an und exportiert direkt danach den Bestand jeder Variante.
Für einen ersten Eindruck kann man stattdessen Artikel exportieren (alle, ohne Bilder) starten — das ist deutlich schneller. Die Bilder holt der nächste Vollauf nach.
4. Preise exportieren
Setzt Preis und Streichpreis je Variante und füllt die Katalogpreise der Märkte.
5. Bestand exportieren
Korrekturlauf über alle Artikel. Setzt außerdem den Status archivierter und freigegebener Artikel richtig.
6. Exportiere Kunden
Überträgt die Kunden mit gesetztem Kundenkennzeichen — bei Shopify Plus als Unternehmen mit Kontakten.
7. Dateien aktualisieren
Lädt die Journaldateien der konfigurierten Kategorien hoch und hängt sie an die Produkte.
8. Bestellungen importieren
Erst zum Schluss einschalten. Vorher fehlen im Shop die Artikel, auf die sich Bestellungen beziehen würden.
Der erste Importlauf holt alle Bestellungen, die seit dem Einschalten geändert wurden. In einem Shop, der vorher schon live war, kann das viele Altbestellungen bedeuten. Wer das nicht will, sollte den Zeitpunkt vorher mit dem Support abstimmen.
Danach
Wenn die Erstbefüllung durchgelaufen ist, werden die Aufgaben mit einem Zeitplan versehen. Empfehlungen dazu stehen unter Zeitplan der Übertragungen.
Kontrolle
| Prüfpunkt | Wo |
|---|---|
| Anzahl der Produkte im Shop | Shopify-Adminbereich, verglichen mit den freigegebenen Artikeln |
| Sammlungen | Shopify-Adminbereich unter Produkte → Sammlungen |
| Preise an Stichproben | Produkt im Shop aufrufen, Preis mit der SelectLine vergleichen |
| Bestände an Stichproben | Shopify-Adminbereich unter Produkte → Bestand |
| Meldungen im Protokoll | Shopify → Zeitsteuerung |
Das Protokoll enthält auch Hinweise auf übersprungene Artikel. Diese Meldungen sind keine Fehler, sondern zeigen fehlende Angaben — die Liste ist eine gute Arbeitsgrundlage für die Datenpflege. Näheres unter Wenn etwas nicht im Shop ankommt.