Automatischer Mailversand bei geringem Lagerbestand

Hallo zusammen,

ich möchte gerne folgendes umsetzen: Wenn nach dem Verkauf eines Artikel der Lagerbestand z. B. nur noch 3 St. erreicht, dann soll automatisch eine Mail mit dem betroffenen Artikel an eine definierte Adresse verschickt werden.

Hat so was schon mal jemand umgesetzt? Falls ja, wie denn?

Danke!

Viele Grüße

Vorweg, genau für diesen Zweck gibt es auch fertige Plugins, einfach mal im Store schauen.

Für Leute die ein wenig basteln möchten, müsste man das doch eigentlich mit dem Flow Builder lösen können.
Jetzt mal schnell runtergebrochen, ohne es testen zu können:

Auslöser: Bestellabschluss / Bestellung / Eingang

Bedingung: Neue Regel im Rule Builder → Position mit Lagerbestand kleiner gleich 3

Aktion: E-Mail verschicken. Neues E-Mail Template anlegen, mit der lineItems[0] Variable kann man auf die einzelnen Positionen der Bestellung zugreifen.

Mehr zu den E-Mail Templates hier:

Hallo Novac,

vielen Dank für die schnelle Antwort.

Mir fällt dazu noch was ein. Bei Shopware 5 gab es doch die Möglichkeit, einen Cronjob einzuplanen, der automatisch eine Mail mit den Artikeln verschickt, bei denen der Lagerbestand einen bestimmten Mindestbestand unterschritten hat. Hier hatte ich das gefunden: Lager-Mindestbestand hat welche Funktion?

Funktioniert dies bei Shopware 6 auch? Das wäre natürlich eine super Lösung.

Danke!

Viele Grüße

Cronjobs / Scheduled Tasks sind auch in Shopware6 natürlich möglich. Das ist aber absolut nicht mein Fachgebiet, keine Ahnung wie man das mit den Lagerbestandsbenachrichtigungen dort einrichtet.

Nein, diese Funktion gibt es in Shopware 6 ohne Plugin / eigens erstellten Flow nicht mehr.

Hallo, ich habe den Mailversand mal wie vorgeschlagen eingerichtet und ich muss sagen es funktioniert! Allerdings habe ich im E-Mail-Template den Typ „Lagerbestandshinweis“ verwendet, da gibt es keine Variablen zur Auswahl.
Im Mail-Text kann man mit {{product.productNumber}} die Produktnummer ausgeben.

1 Like

@windes könntest du bitte Schritt für Schritt erklären, wie du das gemacht hast?

Wie siehst du, welche Produkte einen geringen Lagerbestand haben?

Wenn ich als E-Mail-Typ „Lagerbestandshinweis“ auswähle, sind die Variablen in der Seitenleiste gesperrt. Wäre es nicht besser, einen anderen E-Mail-Typ zu wählen?

Hallo, ich habe mich an die Beschreibung von @Novac im 2ten Post gehalten.

Im Rule Builder wird geschaut ob ein Artikel mit Warenbestand <= 3 bestellt wird, wenn die Bedingung wahr ist wird im Flow Builder eine Regel abgearbeitet und die Mail versendet.

Wäre bestimmt besser! Nur welchen? Denn wenn eine Variable im Mail-Text steht wird keine Mail versendet. Ich komme hier noch nicht so recht weiter. Ich bin da auch nicht so fit, mit den ganzem Variablen Kram!

Edit: Weiter oben habe ich geschrieben: „Im Mail-Text kann man mit {{product.productNumber}} die Produktnummer ausgeben.“ Das haut leider nicht hin, im Log findet man diese Fehlermeldung: Failed rendering string template using Twig: Variable „product“ does not exist in „7a011c2b22e34ccb470ca63d1f2f0ffa“ at line 2.

Ich habe noch ein wenig rum probiert und mich an einem anderem Mailtemplate (Bestellbestätigung) orientiert.
So funktioniert die Email mit Ausgabe der Artikelnummer:

  1. Im Rulebuilder habe ich die Bedingung von „Position mit Lagerbestand“ in „Position mit verfügbarem Bestand“ geändert.
    Dadurch wird sofort, nach Bestellausgang, die Mail ausgelöst. Ansonsten erst nach Abschluss der Bestellung. Zum testen war die Variante besser.
  2. Im E-Mail Template habe ich folgenden Code eingefügt:
<h2>Lagerbestandswarnung</h2> 
<p>Der Artikel mit der Artikelnummer:

{% for lineItem in order.lineItems %}
{% if lineItem.payload.productNumber is defined %}{{ lineItem.payload.productNumber|u.wordwrap(80) }}{% endif %}      
{% endfor %}

muss nachbestellt werden!</p>

Mal sehen ob das meiner Kundin genügt.
VG Steffen Winde

PS: Mein Testshop läuft mit 6.5 unter 6.4 habe ich noch Probleme, da wird die Artikelnummer nicht ausgegeben.

1 Like

Hallo!

vielen Dank! Weißt du denn auch einen Weg, wie man über einen Cronjob oder ähnliches eine Mail verschickt, in der alle Artikel enthalten sind, die z. B. unter 2 St. Lagerbestand haben? Bei Shopware 5 ging das doch mit dem Feld „Mindestbestand“ und dem entsprechenden Cronjob.

Bei Shopware 6 klappt das nicht mehr so, oder?

Viele Grüße

Moin!

Für Dein Ziel habe ich leider nichts im Core gefunden - ich kann natürlich auch was übersehen haben, aber ohne programmatischen Aufwand scheint das so nicht mehr möglich zu sein. Vielleicht wäre hier ein Blick in den Plugin-Store doch ganz sinnvoll…

Wäre eigentlich ein geiles Feature, wenn man Flows aus dem Flow Builder auch an Scheduled Tasks, statt Ereignissen, knüpfen könnte.

LG;LA