Bestell-Importer Dokumentation

Lesezeit 13 min

Mit diesem Plugin kannst du JTL-WaWi Bestellungen, die per WaWi-Export als csv-File exportiert worden sind, aber noch nicht im Shop-Frontend existieren, direkt in den Shop importieren.

1. Vorbereitung

Hierzu werden die csv-Dateien (max. 20 MB pro File; Trennzeichen: Semikolon) in ein zip-Archiv ( max. 40 MB pro File) gepackt und über die Upload-Oberfläche im Shop-Frontend auf dem Server hochgeladen. Das Plugin entpackt die Dateien und importiert diese Datensätze erstmal in eine Zwischen-Tabelle. Von dort aus werden die Bestellungen per Task-Manager Schritt für Schritt ins System importiert.

Im Shop-Admin gibt es mehrere Konfigurations-Optionen für das Plugin:

  1. Option -> Import  ins System ist deaktiviert(Standard-Einstellung)
  2. Option -> Import über Shop-Seiten-Aufruf
  3. Option -> Import über Externen Cron-Job (https://cron-job.org/)
  4. Option -> Import über Option 3 + 4 kombiniert

2. Allgemeine Einstellungen Backend

Der Import von Bestellungen ist defaultmäßig erstmal deaktiviert. Alle Einstellungen sind selbsterklärend und  beinhalten Beispielangaben.

Job-Name: 
Der interne Name des Cron-Jobs, hier braucht man nichts anzupassen, sollte so bleiben. (Standart:import_orders)

Limit: 
Die Anzahl an Bestellungen bzw. Datensätze, die pro Zeit-Einheit (Intervall), ins System aus der Cache-Tabelle importiert werden (Standart:100).

Interval: 
Immer wiederkehrendes Intervall in Sekunden, wo versucht wird, den nächsten Satz an Daten (Limit) ins System zu importieren (Standart:120).

Best Practice-Einstellung von Limit und Interval

Je nach Server-Performance können Einstellungen variieren:

Mögliche Einstell-Optionen:

  • Limit: 100; Intervall: 120 -> jede 2te Minute werden 100 Datensätze importiert.
  • Limit: 500; Intervall: 180 -> jede 3te Minute werden 500 Datensätze importiert.
  • Limit: 1000; Intervall: 300 -> jede 5te Minute werden 1000 Datensätze importiert.

Es können natürlich auch andere Kombinationen probiert werden:

wie z.B. -> Limit: 1000; Intervall: 120 -> jede 2te Minute werden 1000 Datensätze importiert.

Achtung:

Dies sollte aber mit Vorsicht betrachtet werden, wegen der Server-Performance.

Import-Modus: 

(Standart: Deaktiviert) -> Damit der Import startet sollte man Option 2,3 oder 4 auswählen.

  • Option -> Import  ins System ist deaktiviert (Standard-Einstellung)
  • Option -> Import über Shop-Seiten-Aufruf
  • Option -> Import über Externen Cron-Job (https://cron-job.org/)
  • Option -> Import über Option 3 + 4 kombiniert

Import-Logs aktivieren?: 

(Standart: Deaktiviert) -> Hier werden Import-Logs in JTL-Log eingetragen bzw. an cron-job.org übermittelt, wenn dort eingerichtet.

3. Konfiguration des Import-Modus

Option 3 Externen Cron-Job (https://cron-job.org/)

  1. Schritt: Registriere dich auf: cron-job.org
  2. Schritt: Bestätige deine Email-Adresse
  3. Schritt: Logge dich im Portal von cron-job.org/members ein
  4. Schritt: Gehe auf cron-job.org/members/jobs , um deinen 1. Cron-Job anzulegen
  5. Schritt: Klicke auf Cron-Job-Erstellen cron-job.org/de/members/jobs/add/
  6. Schritt: Fülle das Cron-Job-Formular aus und speicher es ab (siehe Screen-Shot)

Die Einstellung für die Ausführung (Interval) sollte so gewählt sein, dass sie mit den Plugin-Einstellungen für Intervall im Admin korrespondiert.

Vergiss dann bitte nicht den Cron-Job im Shop-Backend und auf cron-job.org zu aktivieren.

Wie die Cron-Job-Url auszusehen hat, entnimmst du bitte aus der Dokumentation des Plugins (Reiter: Dokumentation unter Plugin-Einstellungen)

Beispiel: https://dbdev.themehosting.de/includes/plugins/themeart_bestellimporter/version/100/frontend/importbestellungen.php?import_orders=1

Als Titel kannst du den Job-Namen eintragen, z.B.: import_orders

4. Dokumentation Backend

  1. cron-job.org Register Link
  2. Link zu dieser Doku
  3. Cron-Job-Url-Format
  4. Cron-Job-Url Beispiel

csv-Datei

Das csv-Format muß folgende Felder enthalten: Trennzeichen und Semikolon
– und in der nachfolgenden Reihenfolge sein. Eine Beispiel-Datei findet man im Artikel Dokumentation

Kunden_Nr;Kundengruppe;K_Anrede;K_Firma;K_Vorname;K_Nachname;K_Strasse;K_PLZ;K_Ort;
K_Land;K_Tel;K_E_Mail;L_Anrede;L_Firma;L_Vorname;L_Nachname;L_Strasse;L_PLZ;L_Ort;L_Land;
L_Land_ISO_Code;Bestell_Nr;Versandart;Bestellung_Firma;Bestelldatum;Zahlungsart;Bezahl_Datum;
Betrag;Artikelnummer;Bezeichnung;Menge;USt;VK_Brutto;VK_Netto;HAN;Positionstyp;
KomplettAusgeliefert;UStId

max. 20 MB pro csv-File und max. 40 MB pro zip-File;

csv-File Encoding: Es wurde mit csv: text/plain; charset=iso-8859-1 getestet, weil die JTL-Datenbank auch mit dieser Kodierung arbeitet.

Sollte versehentlich UTF-8 benutzt werden, wird sehr wahrscheinlich die Kodierung von Umlauten und Sonderzeichen nicht ordnungsgemäß dargestellt.

5. Plugin-Bedienung Frontend

Wenn du als Administrator im Shop-Backend eingeloggt bist und dann ins Shop-Frontend überwechselst, erscheinen oben links zwei Buttons. Sie ermöglichen dir, deine exportierten Bestellungen aus deiner WaWi als csv-Dateien gepackt als zip-Archiv auf den Shop-Server hochzuladen bzw. den aktuellen Fortschritt deiner Importe ins System, als Statistik anzuzeigen.

Nachdem der Upload deiner Bestellungen als zip-Archiv auf deinem Server liegt, ist die Bestellung dennoch nicht automatisch im System. Sie befinden sich erst in einem Zwischenspeicher.

Erst, wenn im Backend unter den Plugin-Einstellungen der Import-Modus aktiviert wurde, fängt der Import der Bestellungen laut Intervall- und Limit- Einstellungen an zu laufen.

Den Fortschritt der Importe kannst du der Statistik entnehmen, indem du auf Button 2 klickst.

  • Button 1: Bestellungen Importieren
  • Button 2: Bestellungen Statistik

Bedienung Button 1

Bestellungen importieren -> Es erscheint ein Upload-Dialog

Klicke auf den grünen Button + Zip-Datei -> Es erscheint ein File-Select-Dialog. Wähle ein zip-Archiv aus und klicke auf Öffnen.

  • Die selektierte Datei ist nun in der Upload-Queue hinzugefügt worden
  • Klicke nun auf den blauen Button Start, um den Upload zu starten
  • Der Upload-Fortschritts-Balken startet nun
  • Warte ab, bis der Balken 100% erreicht und dann unsichtbar wird
Progress-Status Upload noch nicht beendet!
Progress-Status Upload erfolgreich beendet! Du kannst nun den File-Upload-Dialog schließen.


Die Daten wurden in einen Zwischenspeicher der Datenbank importiert.

Bedienung Button 2

Um zu schauen, wie der Status des Bestell-Imports aussieht, klicke bitte Button 2:  Bestellungen Statistik an. Es erscheint die Statistik als modales Pop-Up-Fenster.

Zum Laden aktueller Statistik-Daten, klicke bitte auf den Button Statistik Laden.
Im Modalen-Dialog-Fenster wurden nun Informationen zum aktuellen Import-Status geladen

6. Erläuterung der einzelnen Statistik-Daten

Offene Datensätze: 
Anzahl an Datensätzen im Zwischenspeicher, die noch nicht ins System importiert worden sind

Importierte Bestellungen: 
Anzahl an Bestellungen, die vom Zwischenspeicher ins System importiert wurden

Nicht importierte Bestellungen: 
Anzahl an Bestellungen die vom Zwischenspeicher nicht ins System importiert werden konnten, weil keine Stammkunden-Daten im System zu diesen Bestellungen vorhanden sind

Aktuelle Zeit: 
Aktuelle Zeit

Nächster Job: 
Zeitpunkt, wenn der nächste Import ausgelöst wird

Estimate Time: 
Vorraussichtliche Dauer in Tagen, bis der Zwischenspeicher komplett ins System importiert ist

Intervall: 
Zeit-Intervall in Sekunden, bis der nächste Import-Job ausgelöst werden soll

Limit:
Anzahl an Datensätzen, die pro Intervall, ins System importiert werden

Is Job Running: 
Angabe, ob ein Import-Job gerade läuft. N = Nein (No); Y = Ja (Yes)

Job-Name: 
Der Name des Import-Jobs

Import-Modus: 
Angabe über den aktuellen Import-Modus

Mögliche Werte sind:

  1. Deaktiviert -> Der Import von Daten vom Zwischenspeicher ins System ist deaktiviert
  2. Bei Shop-Seitenaufruf -> Der Import von Zwischenspeicher ins System ist aktiviert bei Shop-Seiten-Aufrufen, wenn der Zeitpunkt des Nächsten Jobs erreicht ist (Nachteil bei dieser Methode -> man ist von Aktivitäten im Shop-Frontend, z.B. seitens von Shop-Kunden, abhängig)
  3. Durch Cron-Job Aufruf (cron-job.org/) -> Der Import von Zwischenspeicher ins System ist aktiviert durch Auslösung eines Cron-Job-Urls-Aufruf, seitens eines Cron-Jobs-Web-Services, wie cron-job.org, wenn der Zeitpunkt des nächsten Jobs erreicht ist (Vorteil bei dieser Methode -> 1. Man ist nicht auf Aktivitäten im Shop-Frontend angewiesen, 2. Es ist sichergestellt, dass die Importe ins System regelmäßig laufen)
  4. Beides -> Punkt 2 + 3 kombiniert.

Cron-Url:

Hyperlink der einen Import manuell anstößt.