Shopify verwendet Locations (Standorte), um festzulegen, von welchem Standort die Artikel einer Bestellung erfüllt werden. Bei der Anbindung eines externen Fulfillment-Systems wird darüber gesteuert, welche Aufträge dem jeweiligen System zur Bearbeitung zur Verfügung stehen.
Grundsätzlich wird zwischen Service Managed Locations und Merchant Managed Locations unterschieden. Der wesentliche Unterschied besteht darin, wer den Standort verwaltet und wie eine Fulfillment Order zur Bearbeitung freigegeben wird.
Grundlegende Begriffe
Für das Verständnis des Shopify-Fulfillment-Prozesses sind folgende Begriffe relevant.
Order
Eine Order ist die eigentliche Kundenbestellung in Shopify. Sie enthält unter anderem die bestellten Artikel, Mengen, Kunden- und Lieferdaten sowie Informationen zum Zahlungsstatus.
Die Order ist von der späteren Fulfillment-Abwicklung zu unterscheiden. Für die technische Verarbeitung des Versands verwendet Shopify sogenannte Fulfillment Orders.
Fulfillment Order
Shopify erstellt für die zu erfüllenden Positionen einer Bestellung eine Fulfillment Order. Sie legt fest, welche Artikel und Mengen von welcher Location bearbeitet werden sollen.
Eine Order kann mehrere Fulfillment Orders enthalten. Dies ist beispielsweise der Fall, wenn die bestellten Artikel unterschiedlichen Standorten zugeordnet sind.
Für die Anbindung eines Fulfillment-Systems ist deshalb nicht ausschließlich die Order, sondern insbesondere die zugehörige Fulfillment Order relevant.
Location
Eine Location ist ein in Shopify angelegter Fulfillment-Standort. Dies kann beispielsweise ein eigenes Lager, eine Filiale oder der Standort eines externen Fulfillment-Dienstleisters sein.
Jede Location erhält von Shopify eine eindeutige Location ID. Über diese ID lässt sich innerhalb der API feststellen, welchem Standort eine Fulfillment Order zugeordnet ist.
Fulfillment Service
Ein Fulfillment Service repräsentiert einen externen Dienstleister bzw. ein angebundenes System, das die Fulfillment-Abwicklung für einen Standort übernimmt.
Bei der Einrichtung wird der Fulfillment Service mit einer entsprechenden Location verknüpft. Shopify stellt hierfür unter anderem eine eindeutige Fulfillment Service ID und Location ID bereit.
Über diese Zuordnung kann die Schnittstelle erkennen, welche Fulfillment Orders für den jeweiligen Service bestimmt sind.
Service Managed Location
Bei einer Service Managed Location wird die Fulfillment-Abwicklung durch einen externen Fulfillment Service übernommen.
Wird ein Artikel einer solchen Location zugeordnet und anschließend bestellt, erstellt Shopify die entsprechende Fulfillment Order für diesen Standort. Die Zuordnung allein bedeutet jedoch noch nicht, dass der externe Fulfillment Service den Auftrag unmittelbar bearbeiten soll.
Hierfür verwendet Shopify einen zusätzlichen Fulfillment Request.
Fulfillment Request
Der Fulfillment Request stellt die konkrete Aufforderung an den Fulfillment Service dar, eine zugewiesene Fulfillment Order zu übernehmen.
Der Prozess unterscheidet somit zwischen:
- der Zuweisung einer Fulfillment Order zu einer Location und
- der tatsächlichen Beauftragung des Fulfillment Services.
Solange noch kein Request übermittelt wurde, befindet sich der Request-Status der Fulfillment Order im Zustand unsubmitted.
Wird der Request an den Fulfillment Service gesendet, wechselt dieser auf submitted.
unsubmitted
unsubmitted bedeutet, dass die Fulfillment Order bereits existiert und einer Location zugeordnet sein kann, jedoch noch kein Fulfillment Request an den zuständigen Fulfillment Service gesendet wurde.
Der Status bedeutet daher nicht, dass keine Bestellung oder Fulfillment Order vorhanden ist. Er beschreibt ausschließlich den Zustand des Fulfillment Requests.
submitted
submitted bedeutet, dass der Fulfillment Request an den zuständigen Fulfillment Service übermittelt wurde.
Der Auftrag wurde damit zur Bearbeitung angefordert.
Der Status darf nicht mit einem abgeschlossenen Fulfillment verwechselt werden. Eine Fulfillment Order mit einem submitted Request wurde noch nicht zwangsläufig versendet oder erfüllt.
Nach der Übermittlung kann der Fulfillment Service den Request annehmen und die eigentliche Bearbeitung durchführen.
Auslösen des Fulfillment Requests
Der Shopbetreiber entscheidet, unter welchen Voraussetzungen eine Bestellung an den Fulfillment Service übergeben werden soll.
Eine häufig verwendete Bedingung ist beispielsweise, dass ausschließlich bezahlte Bestellungen (Paid) zur Bearbeitung freigegeben werden.
Für das Auslösen des Fulfillment Requests stehen unterschiedliche Möglichkeiten zur Verfügung.
Manueller Fulfillment Request
Der Shopbetreiber kann den Request direkt in Shopify auslösen.
Nach Prüfung der Bestellung wird der Fulfillment Service manuell mit der Bearbeitung beauftragt. Diese Variante erfordert keine zusätzliche Automatisierung, allerdings muss jede Bestellung entsprechend durch den Shopbetreiber bearbeitet werden.
Automatisierung über Shopify-Einstellungen
Shopify bietet Einstellungen, mit denen die Fulfillment-Verarbeitung nach der Bezahlung einer Bestellung automatisch angestoßen werden kann.
Dabei ist zu berücksichtigen, dass entsprechende Einstellungen shopweit bzw. global wirken können. Werden innerhalb eines Shops mehrere Fulfillment Services oder unterschiedliche Fulfillment-Prozesse eingesetzt, kann eine solche Konfiguration deshalb auch andere Bestellungen betreffen.
Vor der Aktivierung sollte geprüft werden, ob die globale Einstellung mit den bestehenden Fulfillment-Prozessen des Shops vereinbar ist.
Automatisierung über Shopify Flow
Für eine gezieltere Steuerung kann Shopify Flow verwendet werden.
Über Shopify Flow lassen sich Bedingungen definieren, anhand derer ein Fulfillment Request automatisch ausgelöst wird.
Ein möglicher Workflow ist beispielsweise:
Bestellung ist bezahlt (Paid)
und
Fulfillment Order ist der gewünschten Location zugeordnet
→
Fulfillment Request an den entsprechenden Fulfillment Service senden
Dadurch lässt sich die Automatisierung gezielt auf bestimmte Fulfillment-Prozesse beschränken.
Insbesondere bei Shops mit mehreren Fulfillment Services bietet sich Shopify Flow an, da die Bedingungen individuell auf die jeweilige Location bzw. den jeweiligen Prozess abgestimmt werden können.
Fulfillment Request über die API
Alternativ kann der Request durch die angebundene App über die Shopify API erzeugt werden.
Das externe System kann hierfür beispielsweise prüfen, ob die Fulfillment Order der vorgesehenen Location zugeordnet und die Bestellung bereits bezahlt ist. Sind die definierten Voraussetzungen erfüllt, kann der Fulfillment Request über die API ausgelöst werden.
Hierfür benötigt die angebundene Shopify App die entsprechenden API-Berechtigungen (Scopes).
Eine Erweiterung dieser Berechtigungen sollte mit dem Shopbetreiber abgestimmt werden. Dabei ist insbesondere zu klären, ob die Steuerung des Fulfillment Requests durch Shopify bzw. Shopify Flow erfolgen oder Bestandteil der angebundenen Schnittstelle sein soll.
Für eine shopseitig konfigurierbare Lösung bietet sich in der Regel Shopify Flow an.
Verarbeitung durch den Fulfillment Service
Nachdem der Fulfillment Request übermittelt wurde und die erforderlichen Voraussetzungen erfüllt sind, kann der Fulfillment Service die für ihn bestimmten Aufträge über die API abrufen.
Dabei werden ausschließlich Fulfillment Orders berücksichtigt, die dem entsprechenden Fulfillment Service bzw. dessen Location zugeordnet sind.
Bestellungen anderer Locations oder anderer Fulfillment Services gehören nicht zum Verarbeitungsbereich der Schnittstelle.
Nach dem Abruf wird der Auftrag in das angebundene System übernommen und dort weiterverarbeitet. Dazu gehören beispielsweise die Kommissionierung, Versandvorbereitung und der anschließende Versand der Ware.
Rückmeldung des Fulfillments
Nach erfolgreicher Bearbeitung wird das Fulfillment über die Shopify API an den Shop zurückgemeldet.
Sofern für die Sendung Tracking-Informationen vorhanden sind, werden diese zusammen mit dem Fulfillment übertragen. Dazu können insbesondere gehören:
- Versanddienstleister
- Tracking-Nummer
- Tracking-URL
Shopify ordnet die Rückmeldung der entsprechenden Fulfillment Order und damit der ursprünglichen Kundenbestellung zu.
Die erfüllten Positionen werden anschließend entsprechend als fulfilled geführt.
Abhängig von den Benachrichtigungseinstellungen des Shops kann Shopify den Kunden über den Versand informieren und die Tracking-Informationen zur Verfügung stellen. Der Shopbetreiber kann den aktualisierten Fulfillment- und Versandstatus ebenfalls im Shopify-Backend einsehen.
Fulfillment-Status im Überblick
Im Fulfillment-Prozess werden unterschiedliche Status verwendet, die jeweils einen anderen Teil des Ablaufs beschreiben.
| Begriff / Status | Bedeutung |
|---|---|
| Paid | Die Bestellung wurde bezahlt. |
unsubmitted | Für die Fulfillment Order wurde noch kein Fulfillment Request an den Fulfillment Service gesendet. |
submitted | Der Fulfillment Request wurde an den Fulfillment Service übermittelt. |
| Accepted | Der Fulfillment Service hat den Request angenommen. |
| Fulfillment | Die tatsächliche Erfüllung bzw. Versandabwicklung der zugewiesenen Positionen. |
fulfilled | Die entsprechenden Positionen wurden als erfüllt an Shopify zurückgemeldet. |
| Tracking Number | Sendungsnummer des verwendeten Versanddienstleisters. |
submitted und fulfilled beschreiben unterschiedliche Prozessschritte.submitted bedeutet, dass der Fulfillment Service mit der Bearbeitung beauftragt wurde. fulfilled bedeutet, dass die entsprechenden Positionen tatsächlich erfüllt und an Shopify zurückgemeldet wurden.
Ablauf einer Service Managed Location
Der vollständige Prozess lässt sich wie folgt darstellen:
1. Bestellung
Der Kunde gibt eine Bestellung im Shopify Shop auf.
2. Erstellung der Fulfillment Order
Shopify ermittelt anhand der Artikel- und Standortzuordnung, welche Location für die Erfüllung zuständig ist, und erstellt die entsprechende Fulfillment Order.
3. Prüfung der Voraussetzungen
Abhängig vom konfigurierten Prozess wird beispielsweise geprüft, ob die Bestellung bereits bezahlt (Paid) ist.
4. Fulfillment Request
Der Request wird manuell, über eine Shopify-Automatisierung, Shopify Flow oder über die API ausgelöst.
Der Request-Status wechselt dabei von unsubmitted auf submitted.
5. Übernahme durch den Fulfillment Service
Der Fulfillment Service erhält den Auftrag und kann die für ihn bestimmte Fulfillment Order über die API übernehmen und verarbeiten.
6. Bearbeitung und Versand
Der Auftrag wird kommissioniert, für den Versand vorbereitet und anschließend versendet.
7. Rückmeldung an Shopify
Nach dem Versand wird das Fulfillment über die API an Shopify übermittelt. Vorhandene Tracking-Informationen werden dabei der Sendung zugeordnet.
8. Abschluss
Shopify aktualisiert den Fulfillment-Status der entsprechenden Positionen. Diese werden anschließend als fulfilled geführt. Je nach Konfiguration erhält der Kunde zusätzlich eine Versandbenachrichtigung mit den Tracking-Informationen.
Der Ablauf kann vereinfacht folgendermaßen dargestellt werden:
Bestellung
→ Fulfillment Order
→ Zuweisung zur Service Managed Location
→ Fulfillment Request (submitted)
→ Übernahme und Bearbeitung
→ Versand
→ Tracking-Rückmeldung
→ Fulfillment (fulfilled)
Merchant Managed Location
Bei einer Merchant Managed Location wird der Fulfillment-Standort durch den Händler selbst verwaltet.
Shopify erstellt auch hier auf Grundlage der Bestellung und der Standortzuordnung eine Fulfillment Order. Im Unterschied zu einer Service Managed Location ist jedoch kein vergleichbarer Request-/Accept-Prozess an einen externen Fulfillment Service erforderlich.
Eine berechtigte App kann die für die Merchant Managed Location vorgesehenen Fulfillment Orders entsprechend der verfügbaren API-Berechtigungen verarbeiten.
Nach der Bearbeitung erfolgt die Rückmeldung des Versands ebenfalls über ein Fulfillment. Vorhandene Tracking-Informationen können dabei an Shopify übertragen werden.
Der Ablauf ist dadurch kürzer:
Bestellung
→ Fulfillment Order
→ Zuweisung zur Merchant Managed Location
→ Bearbeitung
→ Versand
→ Tracking-Rückmeldung
→ Fulfillment
Service Managed und Merchant Managed Locations im Vergleich
| Service Managed Location | Merchant Managed Location | |
|---|---|---|
| Verwaltung | Externer Fulfillment Service | Händler / Shopbetreiber |
| Location ID | Vorhanden | Vorhanden |
| Fulfillment Service | Mit der Location verknüpft | Kein externer Fulfillment Service für die Location erforderlich |
| Fulfillment Request | Erforderlich | Kein vergleichbarer Request an einen externen Service |
| Request-Status | unsubmitted / submitted | Für diesen Prozess nicht erforderlich |
| Bearbeitung | Durch den beauftragten Fulfillment Service | Durch Händler bzw. berechtigte Anwendung |
| Tracking-Rückmeldung | Über Fulfillment an Shopify | Über Fulfillment an Shopify |
| Abschluss | Fulfillment wird an Shopify zurückgemeldet | Fulfillment wird an Shopify zurückgemeldet |