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 / StatusBedeutung
PaidDie Bestellung wurde bezahlt.
unsubmittedFür die Fulfillment Order wurde noch kein Fulfillment Request an den Fulfillment Service gesendet.
submittedDer Fulfillment Request wurde an den Fulfillment Service übermittelt.
AcceptedDer Fulfillment Service hat den Request angenommen.
FulfillmentDie tatsächliche Erfüllung bzw. Versandabwicklung der zugewiesenen Positionen.
fulfilledDie entsprechenden Positionen wurden als erfüllt an Shopify zurückgemeldet.
Tracking NumberSendungsnummer 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 LocationMerchant Managed Location
VerwaltungExterner Fulfillment ServiceHändler / Shopbetreiber
Location IDVorhandenVorhanden
Fulfillment ServiceMit der Location verknüpftKein externer Fulfillment Service für die Location erforderlich
Fulfillment RequestErforderlichKein vergleichbarer Request an einen externen Service
Request-Statusunsubmitted / submittedFür diesen Prozess nicht erforderlich
BearbeitungDurch den beauftragten Fulfillment ServiceDurch Händler bzw. berechtigte Anwendung
Tracking-RückmeldungÜber Fulfillment an ShopifyÜber Fulfillment an Shopify
AbschlussFulfillment wird an Shopify zurückgemeldetFulfillment wird an Shopify zurückgemeldet