Lieferantenbestände in JTL Wawi importieren

Ein Ansatz für Dropshipping per Batch Script

Lieferantenbestände per Batch Script in JTL WaWi importieren

von Mrz 11, 2019JTL Shop 40 Kommentare

Die JTL Umsetzung von Dropshipping steckt noch ein wenig in den Kinderschuhen, so sind zB unterschiedliche Lieferzeiten im JTL Shop je nach Lieferanten und Eigen-/externer Bestand noch nicht ganz durchdacht. Aber es kann ja zumindest nicht schaden, wenn man in der eigenen Wawi schnell nachschauen kann, ob ein Artikel beim Lieferanten noch am Lager ist, um ggf für den Kunden zu bestellen.

Um die Bestände zu importieren muss euch der Lieferant auf seinem Server eine CSV Datei bereitstellen, die ihr automatisiert per (S)FTP über ein CMD-Line Script abrufen könnt. Über HTTPS geht das ggf auch. Als SFTP Client habe ich WinSCP installiert, da dieser SFTP besser beherrscht als die bei Windows mitgelieferte Variante.

Als erstes legt ihr eine Textdatei an, die die Zugangsinformationen des Lieferantenservers beinhaltet, zB „LieferantXY.txt“:

open ftp//user:password@lieferantxy.comget lieferantendatei.csv C:\dein\speicher\pfad\lieferantxy.csv
exit

Die zweite Datei, auch mit einem Texteditor zu erstellen, nennen wir mal „LieferantXY.bat“ – die Dateiendung für Batch Scripts. Als Vorbereitung solltet ihr in der Ameise unter Import->Artikeldaten“ die Lieferantendatei laden, und euch daraus eine Importvorlage erstellen. Je nach enthaltenen Daten in der Importdatei ordnet ihr die Spalten den entsprechenden Spalten von JTL zu („mappen“). Meine Empfehlung ist, das ausschliesslich über die eindeutige EAN/GTIN zu machen, da HAN bei manchen Herstellern zB nicht die Farbe oder Größe reflektiert. Ihr braucht einen eindeutigen Wert zur Zuweisung! Zusätzlich zum Mapping solltet ihr den Standardlieferanten auf euren Lieferanten setzen (alternatives Szenario nicht probiert) und – ganz wichtig – bei der Importart „(2) + alle nicht enthaltenen Artikel des Std-Lieferanten auf Lieferanten-Lagerbestand = 0 setzen“ wählen… falls der Artikel beim Lieferanten ausverkauft ist und nicht in der neuen CSV vorkommt, habt ihr sonst den letzten (positiven) Lagerbestand drin. Speichert nun die Importvorlage als „LieferantXY Import“ und merkt euch die interne Bezeichnung („IMPxxx“).

So, alle Daten für das Batch Script vorhanden:

@echo off
timeout 30
"C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=DeineServerinstanz --database=DeineDB --dbuser=DeinUser --dbpass=DeinPW --templateid=DeineImportvorlage --inputfile="C:\beschreibarer\pfad\lieferantxy.csv" --csv_errors="C:\beschreibarer\pfad\lieferantxy_errors.csv"
exit

Die Errors Datei dient nur zur gelegentlichen Kontrolle, sie wird zB doppelte und/oder nicht vorhandene EANs beinhalten.

Nun muss das ganze noch in der Windows Aufgabenplanung angelegt werden, vorzugsweise wenn die Lieferantendatei frisch und der Server unausgelastet ist. Öffnet die Aufgabenplanung und legt eine neue Aufgabe an. Als Trigger nehmen wir eine Uhrzeit, und dann je nach Sicherheitsbedarf einen stündlichen bis täglichen Intervall. Bei Aktion „Programm Starten“ und als Programm WinSCP auswählen. Als Argument verwenden wir den Pfad zur LieferantXY.txt: „/script=’C:\pfad\zur\LieferantXY.txt'“. Als zweite Aktion kommt dann die Batch Datei in die gleiche Aufgabe, und schon könnt ihr zeitgesteuert die Bestände eurer Lieferanten in die JTL WaWi importieren. Wir haben zB eine tägliche Aufgabe vor Arbeitsbeginn, die uns auf einen Schlag gleich mehrere Dateien importiert – lässt sich alles wunderbar in einer einzigen Aufgabe verhaften 🙂