Workflow-Bedingungen — alle angegebenen Bedingungen müssen erfüllt sein
Bedingungen in einer Regel sind mit UND verknüpft. Für ODER verwendest du eine Gruppe „Einer der folgenden“ mit Alternativen.
Die Bedingungen in der Liste sind mit UND verknüpft — für ODER brauchst du eine Gruppe
Mehrere Bedingungen untereinander sind mit UND verknüpft. Alle müssen erfüllt sein.
Die Prüfung endet bei der ersten nicht erfüllten Bedingung.
Eine Alternative erstellen
Dafür gibt es drei Möglichkeiten, von der einfachsten an:
- Verwende in einer einzelnen Bedingung den Operator ist eines von. Damit prüfst du etwa „Status ist A oder B oder C“. Das genügt, wenn sich die Alternativen auf dasselbe Feld beziehen.
- Verwende die Bedingungsgruppe Einer der folgenden. Darin kannst du mehrere verschiedene Bedingungen angeben; die Regel läuft weiter, wenn mindestens eine zutrifft. Das ist ODER.
- Erstelle zwei Regeln mit demselben Ereignis und denselben Aktionen. Das ist nur noch nötig, wenn die Alternativen unterschiedliche Aktionen ausführen sollen.
Bedingungsgruppe „Einer der folgenden“
Wähle die Gruppe aus der Bedingungsliste wie jede andere Bedingung. Im Wertefeld erscheint eine kleine Liste; mit Alternative hinzufügen fügst du weitere hinzu. Jede Alternative ist eine normale Bedingungszeile mit eigener Bedingung, eigenem Operator und eigenem NEIN-Schalter.
- Eine leere Gruppe ist nie erfüllt. Eine halb eingerichtete Gruppe lässt keine Regel „für alles“ durch.
- Der NEIN-Schalter an der Gruppe selbst bedeutet „keiner der folgenden“.
- Gruppen lassen sich nicht ineinander verschachteln. Eine Gruppe innerhalb einer anderen wird in der Auswahl nicht angeboten und ignoriert, falls sie von außen eingegeben wurde.
- Eine Alternative, die sich nicht prüfen lässt (gelöschte Bedingung oder ungültiger Wert), gilt als nicht erfüllt. Die übrigen Alternativen werden weiter geprüft.
Die Gruppe steht für alle Auslöserfamilien zur Verfügung: Bestellungen, Rückgaben, Dokumente und Produkte.
Was du prüfen kannst
Es gibt Dutzende Bedingungen, thematisch gruppiert:
| Gruppe | Beispiele |
|---|---|
| Bestellung | Wert, Produktwert, Versandkosten, Zahlungsmethode, bezahlt, Währung |
| Zeit | aktuelle Stunde, Wochentag |
| Bestellpositionen | Fulfillment-Lager der Positionen — alle oder eine beliebige |
| Zusammengesetzt | Produkt in der Bestellung, Adresse und Kunde — jeweils mit eigenem Editor |
| Integrationsfunktionen | ob der Kanal externen Status, Tracking, Rechnung oder Dokumente unterstützt |
| Rückgaben | Bewertungsentscheidungen und Klassen, Listen erlaubter Werte, Überschuss und nicht bestellte Positionen, nicht zugestelltes Paket, Zahlungsstatus der Rückgabebestellung, Status der Rückgabebestellung |
| Dokumente | Typ, Status |
| Inventur | Scanergebnisse |
| Katalog | Bestände, Preise, Attribute |
| Kurier | Sendungsstatus |
| Lieferung / Pakete | zum Beispiel, ob alle Positionen einer Bestellung versendet wurden |
Bedingungen zu Integrationsfunktionen werden leicht übersehen. Sie verhindern, dass eine Regel, die in einem Kanal funktioniert, in einem anderen Aktionsfehler auslöst.
Fulfillment-Lager der Positionen
Eine Bestellung hat nicht ein einziges Lager: Das Fulfillment-Lager steht bei jeder Bestellposition einzeln (dasselbe Feld wie auf der Bestellkarte; es entscheidet, in welche Kommissionierwarteschlange die Position kommt). Deshalb gibt es zwei Bedingungen:
- Alle Produkte aus Lager ist erfüllt, wenn jede Position aus dem ausgewählten Lager kommt. Das ist eine Schranke für Regeln, die an einen Standort gebunden sind, etwa an dessen Kurier oder Dokumente.
- Beliebiges Produkt aus Lager ist erfüllt, wenn mindestens eine Position aus dem ausgewählten Lager kommt, auch wenn der Rest aus einem anderen Lager versendet wird. Damit lassen sich aufgeteilte Bestellungen für die Bearbeitung an einem Standort erfassen.
Beide unterstützen ist eines von. So deckt eine Regel mehrere Lager gleichzeitig ab („alles aus den Lagern, aus denen wir heute kommissionieren“).
Einen Operator für „nicht alle Positionen kommen von hier“ gibt es nicht. Verwende NEIN bei Alle Produkte aus Lager.
Alle Bestellpositionen wurden versendet
Die Bedingung Hat Sendungsnummer ist erfüllt, wenn mindestens ein Paket der Bestellung eine Sendungsnummer hat. Wird die Bestellung in mehreren Paketen versendet — etwa teilweise aus deinem Lager und teilweise vom Großhändler (Großhandel – Ware, die jemand anderes für dich versendet) — reicht das noch nicht, um die gesamte Bestellung als versendet zu betrachten.
Alle Bestellpositionen versendet (ja/nein) ist erst erfüllt, wenn jede Einheit jeder Bestellposition in einem Paket mit Sendungsnummer liegt — sowohl in deinen Paketen als auch in Paketen, die der Großhändler für dich verschickt hat. Deine Positionen werden anhand dessen gezählt, was beim Verpacken in die einzelnen Kartons gelegt wurde. Ein gepackter Karton ohne Sendungsnummer ist noch nicht unterwegs; seine Positionen warten weiter.
- Eine Sendung, die der Großhändler selbst verschickt und mit einer Frachtbriefnummer versehen hat (zum Beispiel Halmar), zählt für alle Positionen aus dessen Lager — auch wenn er nicht alle Produkte auflistet oder wir eines nicht erkannt haben.
- Andere Sendungen mit Nummer, deren Paketen keine Positionen zugeordnet sind (zum Beispiel ältere Sendungen), zählen ihre eigenen Positionen: Deine Kuriersendung aus einem Großhandelslager zählt Positionen aus diesem Lager; deine eigene Sendung zählt Positionen aus deinem Lager.
- Positionen aus einem virtuellen Lager halten die Bedingung nicht auf; sie werden nicht in einem Paket versendet.
- Eine Bestellung ohne Positionen oder ohne ausgehende Sendung erfüllt die Bedingung nicht.
Typische Verwendung: Auslöser Sendung erstellt, Bedingung Alle Bestellpositionen versendet, Aktion Status ändern auf einen Versandstatus.
Zusammengesetzte Bedingungen: „Produkt in Bestellung“ und „Adresse und Kunde“
Diese beiden Bedingungen haben einen eigenen Editor statt eines einfachen Wertefelds, weil sie ein Attribut prüfen und nicht ein einzelnes bestimmtes Feld:
- Produkt in Bestellung — SKU, EAN, Name, Produkt, Kategorie, Katalog, ABC-Klasse.
- Adresse und Kunde — Stadt, Straße, Postleitzahl, Region, Unternehmen, Steuernummer, E-Mail, Telefon, Person, Name und Stadt des Abholpunkts.
Fülle den Editor in drei Schritten aus: Abgleichen nach (Attribut), Vergleich und Wert. Der Operator über dem Editor bleibt bei „ist wahr“; der Vergleich wird darin eingestellt.
Vergleichsarten: ist, ist eines von, enthält, beginnt mit.
Ist eines von nimmt eine Werteliste an. Das Feld wird zu einer Chip-Liste (Wert eingeben und Enter drücken) oder bei Attributen mit Wörterbuch zu einer Mehrfachauswahl. Eine Regel ersetzt so mehrere Zeilen in einer Gruppe „Einer der folgenden“: „Steuernummer ist eine aus <B2B-Firmenliste>“, „SKU ist eine aus <Aktionsliste>“ oder „Stadt ist eine aus <Ballungsraumliste>“.
Ein paar wichtige Details:
- Vergleiche sind unabhängig von Groß- und Kleinschreibung, auch in Listen.
- Bei Adresse und Kunde werden Käuferdaten wie in Suche und gespeicherten Filtern verglichen: polnische Sonderzeichen und Akzente werden ignoriert („Łódź“ = „Lodz“), Bindestrich und Leerzeichen in Postleitzahlen werden ignoriert („00-950“ = „00950“), und Telefonnummern werden mit oder ohne Landesvorwahl abgeglichen („+48 600 700 800“ = „600 700 800“). Regel und gespeicherter Filter liefern daher für dieselbe Bestellung dasselbe Ergebnis.
- Leere Werte in einer Liste werden ignoriert; eine leere Liste ist nie erfüllt. Auch eine halb ausgefüllte Bedingung lässt keine Regel „für alles“ durch.
- Attribute, die Kennungen sind (Produkt, Kategorie, Katalog), bieten nur „ist“ und „ist eines von“. „Enthält 12“ würde auch 120 und 512 treffen.
- Manche Attribute werden auf beiden Seiten gesucht: Steuernummer und Telefon können bei Adresse oder Kunde stehen; SKU und EAN bei der Bestellposition oder beim zugeordneten Katalogprodukt. Eine Werteliste prüft beide Seiten.
- Einen Vergleich für „Bestellung enthält SKU X nicht“ gibt es nicht. Verwende den NEIN-Schalter der Bedingung.
Nicht zugestelltes Paket (Rückgaben)
Nicht zugestelltes Paket ist erfüllt, wenn die Rückgabe ein Paket betrifft, das an den Kunden gesendet wurde, der Kurier es aber nicht zustellen konnte — Annahme verweigert, nicht rechtzeitig abgeholt oder an den Absender zurückgeschickt — und das nun im Lager angekommen ist. Der Kunde hatte die Ware nie, deshalb wird eine solche Rückgabe oft anders bearbeitet als eine Rücksendung durch den Kunden. Das System erkennt sie auf eine von zwei Arten; eine genügt:
- Die Rückgabe ist mit der vom System für die fehlgeschlagene Zustellung angelegten Ankündigung verknüpft (sichtbar unter den Sendungen unterwegs).
- Der letzte Kurierstatus des an den Kunden gesendeten Pakets lautet Zustellung fehlgeschlagen.
Rückgabebestellung: bezahlt und Status (Rückgaben)
Ein durch eine Rückgabe ausgelöster Workflow (Ereignisse – wodurch eine Regel startet) kann nur Bedingungen aus der Gruppe Rückgaben verwenden. Zwei davon prüfen die Bestellung, aus der die Rückgabe stammt:
- Bestellung aus Rückgabe: bezahlt — prüft, ob die Bestellung bezahlt ist: Sie ist als bezahlt markiert oder es handelt sich um eine Nachnahme, die der Kurier kassiert hat (eine an den Kunden gesendete Sendung hat den Status zugestellt). Eine verweigerte, nicht abgeholte oder noch unterwegs befindliche Nachnahme gilt als unbezahlt. Die Bestellbedingung Bezahlt prüft nur die Bezahlmarkierung, die beim Import von Nachnahmebestellungen nicht gesetzt wird. Deshalb können beide Bedingungen für eine Nachnahme unterschiedlich ausfallen. Das Ergebnis dieser Bedingung erscheint auch als Chip Bezahlt / Unbezahlt im Rückgabekopf.
- Bestellung aus Rückgabe: Status — interner Bestellstatus aus derselben Liste wie bei Interner Status. Operatoren: ist und ist eines von.
Beispiel: Rückgabe erstellt + Nicht zugestelltes Paket + Bestellung aus Rückgabe: bezahlt → Rückgabe zur Prüfung an den Kundenservice weiterleiten, der über Erstattung oder erneuten Versand entscheidet.
Operatoren
Sie hängen vom Typ des verglichenen Werts ab:
| Typ | Operatoren |
|---|---|
| Zahl | ist kleiner als, ist höchstens, ist größer als, ist mindestens, ist, ist leer/null, ist größer als null, ist kleiner als null, ist eines von |
| Text | enthält, beginnt mit, endet mit, ist nicht leer, ist, ist eines von |
| Datum | ist vor, ist am oder vor, ist nach, ist am oder nach, ist in derselben Minute wie, ist älter als, ist neuer als, ist, ist eines von |
| Ja/Nein | ist wahr, ist falsch |
| Kennung | ist, ist eines von |
Bei Bedingungen für Kurierstatus gilt der Operator im Sinn von „einer beliebigen gespeicherten Status passt“.
Relative Zeit: „älter als“ / „neuer als“
Ein Datum, das mit einem festen Kalendertag verglichen wird, veraltet zusammen mit der Regel: „vor dem 1. März bestellt“ bedeutet ein halbes Jahr später etwas anderes als am Tag der Einrichtung. Darum bieten Datumsbedingungen auch ein relatives Zeitfenster:
- Wähle ist älter als oder ist neuer als.
- Statt eines Kalenders erscheinen die Felder Anzahl und Einheit (Minuten, Stunden, Tage). Längere Zeiträume gibst du in Tagen ein, zum Beispiel „älter als 30 Tage“.
„Vor mehr als 3 Tagen bestellt“ bedeutet an jedem Tag des Jahres dasselbe. Ist neuer als prüft ein Zeitfenster, das JETZT endet. Ein Datum in der Zukunft (geplanter Versand) gehört also nicht dazu. Ein unvollständiges Fenster (Zahl ohne Einheit) ist ein Konfigurationsfehler. Die Bedingung ist dann auch mit NEIN nicht erfüllt.
Wie lange eine Bestellung im aktuellen Status ist
Stunden im aktuellen Status gibt die vollen Stunden seit dem Eintritt der Bestellung in ihren jetzigen Status zurück. Hat sie ihren Status nie gewechselt, wird ab der Erstellung gerechnet.
Meistens wird die Bedingung mit dem Auslöser Bestellung steckt in Status fest (Ereignisse – wodurch eine Regel startet) verwendet. Sie funktioniert aber bei jedem Bestellauslöser, auch beim Test einer Regel.
Verneinung
Jede Zeile hat einen eigenen NEIN-Schalter, der zuletzt angewendet wird.
Gibt es einen positiven Operator mit entgegengesetzter Bedeutung, blendet die Operatorliste die negative Variante aus. So lässt sich eine unübersichtliche doppelte Verneinung wie „NEIN (ist ungleich)“ vermeiden, die dasselbe bedeutet wie „ist gleich“.
Eine fehlerhafte Bedingung gilt als nicht erfüllt
Lässt sich eine Bedingung nicht prüfen — weil Angaben fehlen oder einen unerwarteten Wert haben —, gilt sie als nicht erfüllt und die Regel läuft nicht. Nichts zu tun ist sicherer, als auf Verdacht zu handeln.
Im Ausführungsverlauf erscheint dann Bedingungen nicht erfüllt (Ausführungsverlauf — was tatsächlich passiert ist).
Bedingungen werden nach einer Wartezeit erneut geprüft
Eine Regel mit Verzögerung prüft ihre Bedingungen nach dem Warten erneut. Hat sich die Situation inzwischen geändert, kann die Regel trotz erfolgreichem Start ausbleiben. Das ist beabsichtigt (Ablauf einer Regel – Warteschlange, Wiederholungen und Wartezeit).
Möchtest du NOXTI mit deinen Bestellungen kennenlernen? Wir zeigen dir NOXTI mit deinen Vertriebskanälen und deinem Lager.
Präsentation vereinbaren