Workflows sind Wenn-dann-Regeln, die X-Sitter an bestimmten Punkten im Auftragsablauf automatisch prüft und ausführt. Beispiele:

- beim Import eines Auftrags eine Versandart setzen,
- ab einem bestimmten Gewicht Verpackungsmaterial hinzufügen,
- beim Verpacken einen Beileger (z. B. einen Flyer) drucken,
- nach dem Versand eine E-Mail an den Endkunden schicken.

Die **Workflow-Logs** zeigen, welche Workflows bei welchem Auftrag gegriffen haben.

![Screenshot: Workflow-Übersicht mit Mandanten-Filter, Filter aktiv/inaktiv und einer Liste von Workflows](/automation/images/workflows-overview.png)

## Bevor du startest

- Dein Benutzer braucht die Rechte für **Einstellungen** und **Workflows** im WMS-Menü; Anlegen und Bearbeiten ist ein eigenes Recht – frag deinen Administrator.
- Mindestens ein Mandant – ein Workflow gilt immer für einen oder mehrere Mandanten –, siehe [Mandanten](/company/clients.md).
- Für **E-Mail senden**: eine E-Mail-Vorlage – siehe [E-Mail-Vorlagen](/automation/email-templates.md).
- Für **Lieferschein drucken** / **Rechnung drucken**: PDF-Vorlagen – siehe [PDF-Dokumente](/automation/pdf-documents.md).
- Für Beileger: ein PDF in der Medien-Verwaltung deiner Firmen-Einstellungen – siehe [Medien](/company/media.md).
- Für **Versandart setzen/überschreiben**: die Frachtführer deines Lagers – siehe [Frachtführer](/warehouse-setup/freight-carriers.md).

## Workflow anlegen

1. Öffne **WMS › Einstellungen › Workflows**. Filtere mit **Alle Mandanten** und **Aktive und inaktive** / **Nur aktive** / **Nur inaktive**.
2. Klicke auf **Neuen Workflow anlegen**. Das Formular **Workflow anlegen / bearbeiten** öffnet sich.
3. Fülle den Kopfbereich aus:
   - **Aktiv**,
   - **Immer loggen (auch bei Fehlern oder wenn Bedingungen nicht erfüllt sind)**,
   - **Name**, **Beschreibung**,
   - **Reihenfolge** – kleinere Zahlen werden früher geprüft und ausgeführt.
4. Wähle das **Trigger-Ereignis** – wann der Workflow geprüft wird (siehe Tabelle unten).
5. Lege unter **Wenn (Bedingungen)** fest, wann der Workflow greift.
6. Lege unter **Dann (Aktionen)** fest, was er tut.
7. Klicke auf **Speichern**. Du siehst „Workflow wurde angelegt.“ oder „Workflow wurde gespeichert.“

![Screenshot: Kopfbereich des Workflow-Formulars mit Aktiv, Immer loggen, Name, Reihenfolge und der Auswahl des Trigger-Ereignisses](/automation/images/workflows-form-header.png)

## Trigger-Ereignisse

| Trigger-Ereignis | Wann es auslöst |
|---|---|
| **Beim Import/Anlegen eines Auftrages** | Ein neuer Auftrag kommt herein oder wird angelegt. |
| **Beim Bearbeiten eines Auftrages** | Ein Auftrag wird geändert. |
| **Beim Statuswechsel des Auftrages** | Der Auftragsstatus ändert sich. |
| **Beim Start der Kommissionierung** | Die Kommissionierung des Auftrags beginnt. |
| **Nach Abschluss der Kommissionierung** | Der Auftrag ist vollständig gepickt – siehe [Kommissionierung](/outbound/picking.md). |
| **Verpackungs-Prozess begonnen** | Der Auftrag wird am Packtisch geöffnet. |
| **Lieferschein erstellt** | Ein Lieferschein wurde erstellt. |
| **Versandsandlabel erzeugt (ShipCloud)** | Ein Versandlabel wurde erstellt. |
| **Verpackung abgeschlossen (einzelnes Paket/Palette)** | Ein Paket oder eine Palette ist fertig. |
| **Verpackung abgeschlossen (Auftrag vollständig)** | Der ganze Auftrag ist verpackt – siehe [Verpacken](/outbound/packing.md). |
| **Verpackungs-Prozess beendet** | Der Packvorgang ist beendet. |
| **Verladen abgeschlossen (einzelnes Paket/Palette)** | Ein Paket oder eine Palette ist verladen. |
| **Verladen abgeschlossen (Auftrag vollständig)** | Der ganze Auftrag ist verladen – siehe [Verladung](/outbound/loading.md). |

## Bedingungen (Wenn)

| Bedingung | Bedeutung |
|---|---|
| **Firma (Eigentümer)** | Die Mandanten, für die der Workflow gilt. Mehrere sind auswählbar. Pflichtfeld. |
| **Plattform(en)** | Nur Aufträge von diesen Plattformen. |
| **Modul(e)** | Nur Aufträge aus diesen Auftragsmodulen. |
| **Zielland/Länder** | Nur Aufträge in diese Länder. |
| **Bemerkung enthält** | Text, der in der Auftragsbemerkung vorkommen muss. |
| **Versandart (eingehend) enthält** | Prüft die Versandart, die das Fremdsystem übergibt. Zusammen mit der Aktion „Versandart setzen“ kannst du externe Versandarten je Mandant auf deine Frachtführer mappen – z. B. „Selbstabholer“. |
| **Auftragsdaten enthalten** | Durchsucht Kundenbestellung, Zusatzdaten und beide Adressen – nützlich für Schnittstellen-Kennungen, die in unterschiedlichen Feldern ankommen. Trenne Alternativen mit einem senkrechten Strich; ein Treffer reicht. |
| **Adresse enthält (Feld + Text)** | Prüft, ob das gewählte Feld der Lieferadresse den Text enthält, z. B. eine Händler-Kundennummer. |
| **Auftrags-ID (order_id)** | **Beginnt mit**, **Enthält** oder **Endet mit** einem Wert. |
| **Artikel-Bedingungen** | Artikelregeln mit einem **Regeltyp** und einem **Wert / Suche**, siehe unten. |

**Regeltypen für Artikel**

- Enthält mindestens einen Artikel der Kategorie X
- Enthält ausschließlich Artikel der Sorte Y
- Enthält bestimmten Artikel (SKU)
- Enthält Teil des Artikelnamens
- Gesamtmenge der Artikel ist mindestens N
- Bestand von Artikel (SKU) unterschreitet N (Wert als SKU:N)
- Anzahl der Positionen ist N
- Gesamtgewicht der Artikel ist mindestens / höchstens N kg
- Mindestens ein Artikel wiegt mindestens N kg
- Jeder Artikel wiegt höchstens N kg
- Verfügbarer Bestand für die Artikelposition nicht ausreichend

![Screenshot: Bereich „Wenn (Bedingungen)“ mit Mandantenauswahl, Ländern und einer Artikelregel](/automation/images/workflows-conditions.png)

## Aktionen (Dann)

| Aktion | Was sie tut |
|---|---|
| **Verpackung/Produkt hinzufügen** | Fügt Verpackungsmaterial oder ein Produkt als zusätzliche Position hinzu. Wähle den **Produkttyp** und den Artikel. |
| **Versandart setzen/überschreiben** | Setzt die Versandart (Frachtführer) des Auftrags. |
| **Priorität setzen** | Setzt die Auftragspriorität. Standard ohne Änderung ist 10; je kleiner, desto wichtiger. |
| **Teillieferung erlauben** | Erlaubt für den Auftrag eine Teillieferung. |
| **Aus dem Versandlabel auch ein Retouren-Label erzeugen** | Erstellt zusammen mit dem Versandlabel ein Retourenlabel. Fordert der Auftrag selbst schon ein Retourenlabel an, erstellt es der Packtisch und die Aktion wird übersprungen – es entsteht kein zweites Label. |
| **Druckeinstellungen** | **Lieferschein drucken** mit einer **Vorlage für Lieferschein**, **Beileger drucken (PDF aus Medien-Verwaltung)** mit der **Anzahl Exemplare** (1–20), **Rechnung drucken** mit einer **Vorlage für Rechnung**. Die Dokumente werden am Packplatz gedruckt. |
| **Cronjob ausführen** | Ruft den gewählten Cronjob des Systems auf. X-Sitter gibt dabei die Firma, die Auftrags-ID, den Packplatz und – falls ausgefüllt – den Quell-Ordner mit. |
| **Quell-Ordner (für PDFs)** | Optionaler Ordner, in dem nach PDFs gesucht werden soll. Basis ist immer der Ordner „remote/“. Er wird an den Cronjob übergeben. |
| **Bemerkung ergänzen** | Hängt Text an die Auftragsbemerkung an (vorhandener Text bleibt erhalten, es wird ein Zeilenumbruch eingefügt). |
| **Pack Hinweise ergänzen** | Hängt Text an die Pack-Informationen an. |
| **Packhinweis ergänzen** | Hängt einen kurzen Hinweis an (insgesamt max. 128 Zeichen), z. B. „Bitte Grußkarte beilegen“. Er erscheint 5 Sekunden mittig auf dem Bildschirm, wenn der Auftrag am Packtisch geöffnet wird. |
| **Auftrag anpassen** / **Auftragspositionen anpassen** | Setzt ausgewählte Felder des Auftrags oder der Positionen auf den Wert aus **Neuer Wert**, wenn die Bedingungen zutreffen. Mit einer Artikelregel (SKU, Name, Kategorie) werden nur die passenden Positionen geändert. |
| **E-Mail senden** | Schickt eine E-Mail auf Basis einer [E-Mail-Vorlage](/automation/email-templates.md) – Empfänger, Betreff und Text kommen aus der Vorlage. **Nur einmal pro Auftrag senden** wird für Versandbestätigungen empfohlen, weil Versand-Trigger mehrmals pro Auftrag auslösen können. |

![Screenshot: Bereich „Dann (Aktionen)“ mit Druckeinstellungen, Packhinweis und E-Mail senden](/automation/images/workflows-actions.png)

## Welche Workflows laufen

- Nur **aktive** Workflows deiner Firma mit dem passenden Trigger, deren Mandantenliste den Mandanten des Auftrags enthält, sortiert nach **Reihenfolge**.
- In den Auftragsdetails kannst du die Workflows mit **Workflow erneut ausführen** noch einmal laufen lassen. Dabei laufen die Workflows für „Verpackung abgeschlossen (Auftrag vollständig)“ erneut – siehe [Auftragsdetails](/orders/order-details.md). Du siehst „Workflow wurde erneut gestartet.“
- Um einen Workflow anzuhalten, entferne den Haken bei **Aktiv**.

## Workflow-Logs

1. Öffne **WMS › Einstellungen › Workflow-Logs**.
2. Filtere nach Eigentümer (**Alle Eigentümer**), Status und **Auftrag**.
3. Die Spalten zeigen **Zeit**, **Trigger**, **Für Firma**, **Artikel**, **Matched**, **Actions**, **Status** und **Nachricht**.

Logs werden einen Monat lang aufbewahrt.

![Screenshot: Workflow-Logs mit Filtern und Einträgen mit Trigger, Matched, Actions und Status](/automation/images/workflows-logs.png)

## Fehlerbehebung

**Mein Workflow greift nicht.** Prüfe: Ist er **Aktiv**, stimmt der Trigger, ist der Mandant in **Firma (Eigentümer)** ausgewählt, sind die Bedingungen erfüllt? Mit **Immer loggen** siehst du in den Workflow-Logs auch Prüfungen, bei denen die Bedingungen nicht erfüllt waren.

| Meldung | Ursache | Lösung |
|---|---|---|
| Bitte Name und mindestens eine Firma auswählen. | Pflichtfelder fehlen. | Gib einen Namen ein und wähle einen Mandanten. |
| Die gewählte E-Mail-Vorlage wurde nicht gefunden, die Aktion „E-Mail senden“ wurde nicht gespeichert. | Die Vorlage wurde gelöscht oder gehört zu einer anderen Firma. | Wähle die Vorlage noch einmal. |
| Fehler beim Speichern des Workflows. | Technischer Fehler. | Speichere noch einmal. |
| Workflow nicht gefunden. | Ungültiger Link. | Öffne den Workflow über die Übersicht. |
| Keine Workflows für die gewählten Filter gefunden. / Es wurden noch keine Workflows angelegt. | Leere Liste. | Passe die Filter an oder lege einen Workflow an. |
