Den Lebenszyklus verstehen

Die drei Bestellstatus

Eine Bestellung kann gleichzeitig bestätigt, unbezahlt und halb versendet sein. Warum das drei unabhängige Status braucht, und wie Sie sie lesen.

Ein Käufer ruft bei Ihrem Innendienst an und fragt, ob seine Bestellung erledigt ist. Darauf gibt es drei richtige Antworten, und sie können sich widersprechen. Dieses eine Konzept unterscheidet die B2B-Bestellabwicklung von allem anderen, und es sorgt für die meiste Verwirrung bei allen, die aus einem Endkundenshop kommen.

Warum ein Status nicht reicht

In einem B2C-Shop ist die Bestellung überschaubar genug für eine Zeile: bezahlt, dann gepackt, dann versendet, dann zugestellt. Die Zahlung kommt zuerst, alles geht auf einmal raus, und ein einziges Wort beschreibt das Ganze.

B2B bricht das an drei Stellen gleichzeitig:

Die Zahlung kommt zuletzt. Kauf auf Rechnung (30 Tage netto, manchmal 60) ist im deutschen B2B nach wie vor der Normalfall. Die Ware geht raus, bevor ein Cent ankommt. Eine Bestellung, die vor dem Versand bezahlt sein muss, beschreibt fast nichts von Ihrem Geschäft.

Lieferungen sind Teillieferungen. Sie haben 6 der 10 Fittings im Regal, der Rest kommt am Donnerstag vom Hersteller. Der Käufer braucht die 6 jetzt. Eine Bestellung, zwei Lieferungen, zwei Lieferscheine.

Die Freigabe ist eine eigene Stufe. Die Bestellung kann existieren und rechtmäßig sein und trotzdem darauf warten, dass jemand beim Käufer, oder bei Ihnen, sie freigibt.

Pressen Sie das in ein einziges Statusfeld, bekommen Sie Werte wie partially_shipped_unpaid_awaiting_approval, und das sind drei Status in einem Wort. Jede Kombination muss vorab erfunden werden, und für den ersten Fall, an den niemand gedacht hat, gibt es keinen Wert.

Die drei Dimensionen

Eine Bestellung trägt deshalb drei unabhängige Statusfelder und eine Markierung.

DimensionWerteWer sie bewegt
statuspendingplacedin_fulfillmentcompleted, oder cancelledDie Lebenszyklus-Aktionen: aufgeben, versenden, abschließen, stornieren
payment_statusopen, pending, authorized, paid, partially_paid, refunded, failedDie Payments-App, von außen
fulfillment_statusunfulfilled, partial, fulfilledNiemand. Er wird aus den Positionsmengen abgeleitet
on_holdwahr / falsch, mit einem hold_reasonEin Operator, oder eine Bonitätsprüfung

Im Cockpit heißen die Werte Ausstehend, Aufgegeben, In Abwicklung, Abgeschlossen und Storniert für den Lebenszyklus; Offen, Autorisiert, Bezahlt, Teilweise bezahlt, Erstattet und Fehlgeschlagen für die Zahlung; Nicht erfüllt, Teilweise und Erfüllt für die Auftragsabwicklung.

Die drei sind unabhängig. Jeder Lebenszyklus-Zustand kann mit jedem Zahlungsstatus und jedem Abwicklungsstatus zusammentreffen, und die meisten dieser Kombinationen sind gewöhnliches Geschäft und kein Fehler.

fulfillment_status fällt aus der Reihe: Sie setzen ihn nie. Er wird von den Positionen abgelesen. Deckt bei jeder Position die versendete Menge die bestellte Menge, ist die Bestellung fulfilled; ist ein Teil versendet, partial; ist nichts versendet, unfulfilled. Stornierte Mengen zählen als erledigt. Deshalb schließt das Stornieren der restlichen 4 von 10 auf einer teilversendeten Bestellung diese ab, statt sie für immer offen zu lassen.

Eine echte Bestellung lesen

Nehmen Sie eine typische Bestellung: zehn Hydraulik-Fittings, Artikel 4711-A, auf Rechnung gekauft von einem Kunden mit 30 Tagen netto. Sechs sind auf Lager.

Was passiertstatuspayment_statusfulfillment_status
Der Käufer schickt den Warenkorb abplacedopenunfulfilled
Ihr ERP bestätigt die Bestellungplacedopenunfulfilled
Sie versenden 6 von 10in_fulfillmentopenpartial
Die Rechnung für die Teillieferung wird bezahltin_fulfillmentpartially_paidpartial
Die restlichen 4 kommen an und gehen rauscompletedpartially_paidfulfilled
Die zweite Rechnung wird bezahltcompletedpaidfulfilled

Lesen Sie Zeile drei noch einmal: in_fulfillment / open / partial. Bestätigt, unbezahlt und halb geliefert, alles gleichzeitig, und vollkommen korrekt. Für diese Zeile gibt es kein einzelnes Wort, und das ist das ganze Argument für drei Felder.

Sehen Sie sich auch Zeile fünf an. Die Bestellung erreicht completed, obwohl sie noch nicht bezahlt ist. Ob das für Sie richtig ist, entscheiden Sie in der Einstellung, die unter Wann eine Bestellung schließt beschrieben ist.

Welche Kombinationen normal sind, und welche nicht

KombinationUrteil
placed / open / unfulfilledNormal. Eine neue Rechnungsbestellung.
in_fulfillment / open / partialNormal. Der B2B-Alltag.
placed / paid / unfulfilledNormal: Vorkasse, oder eine Kartenzahlung, die vorab eingezogen wurde.
completed / open / fulfilledNormal bei Rechnungskauf. Mahnen Sie die Zahlung an, nicht die Bestellung.
cancelled / paid / unfulfilledHandlungsbedarf. Geld wurde für Ware genommen, die nicht rausgeht; eine Erstattung ist fällig.
in_fulfillment / failed / partialHandlungsbedarf. Ware hat das Haus verlassen, obwohl die Zahlung nicht durchging.
placed / beliebig / partialUnmöglich. Eine Sendung bewegt den Lebenszyklus nach in_fulfillment.

Die letzte Zeile ist die nützliche für die Fehlersuche: Sehen Sie eine teilversendete Bestellung, die noch auf placed steht, wurde die Sendung nicht über die Plattform erfasst. Jemand hat aus dem Lagersystem heraus versendet und es der Bestellung nie mitgeteilt.

Was die einzelnen Status bewegt

status bewegen die Aktionen auf der Detailseite der Bestellung: Bestätigen, Sendung anlegen, Positionen stornieren, Bestellung stornieren, Abschließen.

payment_status wird von außen gespeist. Die Payments-App verwaltet das Geld: Eine Zahlung durchläuft ihren eigenen Lebenszyklus (angelegt → autorisiert → eingezogen → erstattet) und meldet das Ergebnis an die Bestellung. Sie können ihn auch von Hand mit Zahlung aktualisieren setzen. Das tun Sie bei einer Überweisung, die auf Ihrem Kontoauszug angekommen ist statt über einen Zahlungsanbieter. Siehe Zahlungsmethoden.

fulfillment_status bewegt sich nur, wenn sich Positionsmengen bewegen: durch eine Sendung, eine Stornierung oder eine Retoure.

on_hold setzen Sie mit Sperren und heben es mit Sperre aufheben auf. Was die Sperre blockiert, ist eine mandantenweite Entscheidung: nur den Versand; Versand und Stornierung, die richtige Einstellung während einer laufenden Bonitätsprüfung, weil die Bestellung der Prüfung auch nicht durch eine Stornierung entzogen werden soll; oder nichts, womit die Markierung ein sichtbarer Hinweis bleibt und sonst nichts.

Wann eine Bestellung schließt

completed bedeutet nicht in jedem Unternehmen dasselbe, deshalb ist es konfigurierbar. Es gibt drei Einstellungen:

EinstellungEine Bestellung schließt, wennWählen Sie das, wenn
Vollständige LieferungJede Position versendet istDie Lieferung für Sie das Ende Ihrer Verantwortung ist. Der Standard.
Vollständige Lieferung und ZahlungAlles versendet ist und payment_status auf paid stehtEine unbezahlte Bestellung für Sie eine offene Bestellung ist, was überall dort üblich ist, wo der Innendienst Zahlungen anmahnt
ManuellNie von allein; jemand wählt AbschließenIhr Abschluss eine Ermessensfrage ist, oder Ihre Bestellungen Dienstleistungen sind, die nie versendet werden

Die manuelle Option ist auch das ehrliche Ende einer Bestellung, zu der es nie eine Sendung geben wird: eine Dienstleistung, eine Installation, eine Lizenz.

Wo Sie alle drei sehen

Auf der Detailseite der Bestellung erscheinen die drei als Badges im Kopf, nebeneinander, und der Lebenszyklus ist im Reiter Übersicht als Ablauf gezeichnet. Unter Order Management › Bestellungen sind es drei getrennte Spalten und drei getrennte Filter, dazu ein Filter für Gesperrt.

Das macht eine echte Arbeitsliste möglich. „Gesperrte Bestellungen“, „Bestellungen, die auf Freigabe warten“ und „offene Retouren“ sind je ein Filter, und jeder ist eine andere Warteschlange, die eine andere Person abarbeitet. Ein einziges Statusfeld würde alle drei in eine Liste zwingen.

Bauen Sie keine Berichte allein auf status. Gefährdeter Umsatz ist eine Frage des payment_status, Lagerrückstand eine Frage des fulfillment_status, und keine von beiden beantwortet das Zählen von Bestellungen in in_fulfillment. Ein Dashboard, das ein Feld liest und es „Bestellstatus“ nennt, liegt bei beidem leise daneben.

Weiter