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?
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.
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.
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.
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.
@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:
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.
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.
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.
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.
warum nicht einfach im Flow Builder für das Event „order placed“ eine Prüfung des Lagerbestandes rein und wenn z.B. < 10, dann eine beliebige Mail an sich senden mit „Bestellung X prüfen, Lagerbestand eines Artikels unterschritten“? Würde sowas nicht ausreichen?
Wenn einzelne Produkte unterschiedliche Lagermindestbestände haben sollen, ist das nicht mehr ganz so einfach, oder? Dann würde generell z.B. „<10“ nicht ausreichen. Viele Grüße, Romina
Bei uns kommt das sehr häufig vor, Beispiel Schrauben:
Einen Sortimentskoffer mit unterschiedlichen Schrauben kann man einen Lagermindestbestand von z.b. 1 zuweisen, da dieser nicht in größeren Stückzahlen gekauft wird.
Aber eine Schraube die einzeln gekauft werden kann, sehr wohl. Schnell mal legt ein Kunde davon z.b. 35 Stück in den Warenkorb.
Aus diesem Grund wäre für uns diese Funktion sehr wichtig.
Falls es jemand brauchen kann: … zumindest kann man eine Mail schicken lassen, wenn ein bestellter Artikel - mit seiner Bestellung (das ist der Auslöser) - unter den Bestand von „X“ fällt.
1. MENÜ EINSTELLUNGEN (Shop) → RULE BUILDER → REGEL ERSTELLEN
Name: Mindestbestandes Warnung Prio: 1 Beschreibung: …beliebig… Typ: Flow Builder Bedingung: Position mit verfügbarem Bestand → mind. eine → Ist kleiner → 1 (oder was man eben möchte) siehe: https://www.lembi.de/pd/shareX_329772772.png
Hoffe es hilft. Läuft hier auf 6.5.8.7.
Die Mail wird getriggert, wenn eine Bestellung eingeht, die den Lagerbestand eines bestellten Artikels „kleiner 1“ (hier im Beispiel) setzt.
vielen Dank für die Infos. Der Inhalt für die HTML-Mail war super hilfreich Endlich bekomme ich auch die Artikel übermittelt, deren Bestände gering sind.
Eine Frage habe ich aber noch: Bei uns werden in der E-Mail Artikel, bei denen der Lagerbestand mal unterschritten und nun wieder aufgefüllt wurde, trotzdem weiterhin in der E-Mail aufgeführt. Woran könnte das denn liegen?
Zusätzlich hilfreich ist eine Abfrage über die dynamischen Produktgruppen, über die im Backend nur die Artikel angezeigt, deren Lagerbestand unter einen bestimmten definierten Wert gefallen sind. Sehr hilfreich, wenn man viele Variantenartikel hat und alle Artikel mit geringem Lagerbestand sehen möchte … So ist man deutlich schneller in der Mengenaktualisierung (falls man die Bestandsmengenpflege direkt manuell in Shopware macht). Ist zwar nicht direkt das Thema des Threads, passt aber trotzdem ganz gut dazu und vielleicht hilft es ja jemandem