Inhaltsverzeichnis

    Anwendungsbeispiele: Versanddatenexport

    Hinweis: Auf dieser Seite finden Sie lediglich Funktionsbeispiele. Diese sind nicht zwangsläufig vollständig und müssen nicht in einer produktiven Umgebung funktionieren. Wenden Sie sich an einen JTL-Servicepartner, wenn Sie Hilfe bei der Anpassung Ihrer Vorlagen benötigen. Zur Servicepartner-Suche.

    Versanddatenexport-Vorlagen

    In unserem Beispiel beschreiben wir den Aufbau unserer meistgenutzten Beispielvorlage für Easylog 6.6 XL als CSV-Exportdatei. Nahezu jedes andere Format lässt sich auf die selbe Weise ebenfalls erzeugen.

    Die vollständige Vorlage sieht so aus:

    {% for Pakete in Vorgang.Pakete -%}{{Lieferschein.Lieferscheinnummer}};\
    1;\
    ;\
    1;\
    {% if Lieferschein.Auftrag.Lieferadresse.LandISO == 'DE' %}1{% else %}53{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}2{% else %}1{% endif %};\
    ;\
    {% if Lieferschein.Auftrag.Lieferadresse.LandISO == 'DE' %}101{% else %}5301{% endif %};\
    {% if Lieferschein.Auftrag.Lieferadresse.LandISO == 'DE' and Lieferschein.Auftrag.IstVersandartNachnahme %}\
    134={{Lieferschein.Auftrag.OffenerBetrag}}\
    {% elsif Lieferschein.Auftrag.Lieferadresse.LandISO != 'DE' and Lieferschein.Auftrag.IstVersandartNachnahme %}\
    5311={{Lieferschein.Auftrag.OffenerBetrag}}\
    {% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}EUR{% else %}{% endif %};\
    0;\
    {{Lieferschein.Auftrag.Kunde.Kundennummer}};\
    {{Lieferschein.Auftrag.Lieferadresse.Vorname|Remove:'"'}} {{Lieferschein.Auftrag.Lieferadresse.Name|Remove:'"'}};\
    {{Lieferschein.Auftrag.Lieferadresse.Firma|Remove:'"'}};\
    {{Lieferschein.Auftrag.Lieferadresse.Anrede|Remove:'"'}};\
    {{Lieferschein.Auftrag.Lieferadresse.PLZ}};\
    {{Lieferschein.Auftrag.Lieferadresse.Ort}};\
    ;\
    {{Lieferschein.Auftrag.Lieferadresse.Straße|OhneHausnummer}};\
    {{Lieferschein.Auftrag.Lieferadresse.Straße|NurHausnummer}};\
    {{Lieferschein.Auftrag.Kunde.Telefon}};\
    {{Lieferschein.Auftrag.Kunde.Fax}};\
    {{Lieferschein.Auftrag.Kunde.EMail}};\
    {{Lieferschein.Auftrag.Kunde.ZuHänden}};\
    {{Lieferschein.Auftrag.Kunde.UStID}};\
    {{Lieferschein.Auftrag.Lieferadresse.LandISO}};\
    {% if paket.Gewicht > 0 %}{{paket.Gewicht}}{% else %}{{Lieferschein.Positionen.VersandGewichtGesamt|Plus:Lieferschein.Auftrag.Versandart.Zusatzgewicht}}{% endif %};
    {% endfor %}

    Eine ganze Menge weiterer Beispiele für den WMS-Sendungsdatenexport finden Sie in unserem Bereich zu JTL-WMS.

    Detaillierte Erläuterungen

    Zerlegen wir nun unsere Vorlage in ihre Bestandteile, die Spalten entsprechen der Wawi-Exportvorlage für DHL Easylog:

    {% for Paket in Pakete %}
    
    #=> Wir definieren über eine for-Schleife, dass in der CSV für jedes Paket ein kompletter Datensatz geschrieben wird.

    POOL_REFNR

    {{Lieferschein.Lieferscheinnummer}};\
    
    #=> Jeder Datensatz beginnt mit der Ausgabe der Lieferscheinnummer und einem Semikolon als Spaltenbegrenzer.
    #=> Der Backslash unterbindet den Zeilenumbruch, so dass nachfolgender Inhalt in die selbe Spalte geschrieben wird.

    POOL_V_ABS_REFNR

    1;\
    
    #=> In dieser Zeile geben wir nur eine 1 aus, gefolgt von dem Spaltenbegrenzer und wir vermeiden den Zeilenumbruch.

    POOL_V_ABS_BEMERKUNG

    ;\
    
    #=> In dieser steht nix! Wir erzeugen eine leere Spalte mit Begrenzer und ohne Zeilenumbruch.

    POOL_V_MAND_REFNR

    1;\
    
    #=> In dieser Zeile geben wir nur eine 1 aus, gefolgt von dem Spaltenbegrenzer und wir vermeiden den Zeilenumbruch.

    POOL_V_VERFAHREN

    {% if Lieferschein.Auftrag.Lieferadresse.LandISO == 'DE' %}1{% else %}53{% endif %};\
    
    #=> Hier geben wir die DHL-Verfahrensnummer aus. Anhand einer Abfrage bestimmen wir den Wert.
    #=> Wenn die Lieferadresse sich in Deutschland befindet, dann nehme 1, ansonsten 53.

    POOL_V_TEILNAHME

    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}2{% else %}1{% endif %};\
    
    #=> Hier geben wir die DHL-Teilnahmenummer aus. Anhand einer Abfrage bestimmen wir den Wert.
    #=> Wenn die Versand- oder Zahlungsart den Begriff "Nachnahme" enthält, dann nehme 2, ansonsten 1.
    #=> Außerdem definieren wir mit forloop.first, dass die Bedingung nur beim ersten Element true ist.

    POOL_V_KSTELLE_KUERZEL

    ;\
    
    #=> In dieser steht nix! Wir erzeugen eine leere Spalte mit Begrenzer und ohne Zeilenumbruch.

    POOL_V_PRODUKT_CN

    {% if Lieferschein.Auftrag.Lieferadresse.LandISO == 'DE' %}101{% else %}5301{% endif %};\
    
    #=> Hier geben wir die DHL-Produktnummer aus. Anhand einer Abfrage bestimmen wir den Wert.
    #=> Wenn die Lieferadresse sich in Deutschland befindet, dann nehme 101, ansonsten 5301.

    POOL_V_EXTRASLST

    {% if Lieferschein.Auftrag.Lieferadresse.LandISO == 'DE' and Lieferschein.Auftrag.IstVersandartNachnahme %}\
     134={{Lieferschein.Auftrag.OffenerBetrag}}\
    {% elsif Lieferschein.Auftrag.Lieferadresse.LandISO != 'DE' and Lieferschein.Auftrag.IstVersandartNachnahme %}\
     5311={{Lieferschein.Auftrag.OffenerBetrag}}\
    {% endif %};\
    
    #=> Hier geben wir die DHL-Zusatzleistungen aus. Anhand einer verschachtelten Abfrage bestimmen wir den Wert.
    #=> Wenn die Lieferadresse sich in Deutschland befindet und die Versandart den Begriff "Nachnahme" enthält, dann gebe den Code 134= aus, gefolgt vom offenen Nachnahmezahlbetrag.
    #=> Wenn die Lieferadresse sich nicht in Deutschland befindet und die Versandart den Begriff "Nachnahme" enthält, dann gebe den Code 5311= aus, gefolgt vom offenen Nachnahmezahlbetrag.
    #=> Wir beenden auch die verschachtelte Abfrage mit einem endif, gefolgt von unserem Spaltentrenner und wir vermeiden abermals den Zeilenumbruch.

    POOL_V_NN_WAEHRUNG

    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}EUR{% else %}{% endif %};\
    
    #=> Hier geben wir die Währung an, in der wir unsere Nachnahmezahlung entgegen nehmen.
    #=> Wenn die Versand- oder Zahlungsart den Begriff "Nachnahme" enthält, dann gebe EUR aus, sonst gar nichts.
    #=> Außerdem definieren wir mit forloop.first, dass die Bedingung nur beim ersten Element true ist.

    POOL_WERT_WAEHRUNG

    0;\
    
    #=> In dieser Zeile geben wir nur eine 0 aus, gefolgt von dem Spaltenbegrenzer und wir vermeiden den Zeilenumbruch.

    POOL_EMPF_REFNR

    {{Lieferschein.Auftrag.Kunde.Kundennummer}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Kundennummer, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_NAME

    {{Lieferschein.Auftrag.Lieferadresse.Vorname|Remove:'"'}} {{Lieferschein.Auftrag.Lieferadresse.Name|Remove:'"'}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe des Vor- und Nachnamens, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.
    #=> Außerdem entfernen wir alle Anführungsstriche aus den Zeichenketten.

    POOL_EMPF_NAME2

    {{Lieferschein.Auftrag.Lieferadresse.Firma|Remove:'"'}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe des Firmennamens, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.
    #=> Außerdem entfernen wir alle Anführungsstriche aus den Zeichenketten.

    POOL_EMPF_NAME3

    {{Lieferschein.Auftrag.Lieferadresse.Anrede|Remove:'"'}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Anrede, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.
    #=> Außerdem entfernen wir alle Anführungsstriche aus den Zeichenketten.
    Die Felder NAME, NAME2, NAME3 können alternativ auch mit anderen Wawi-Spalten belegt werden.

    POOL_EMPF_PLZ

    {{Lieferschein.Auftrag.Lieferadresse.PLZ}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Postleitzahl, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_ORT

    {{Lieferschein.Auftrag.Lieferadresse.Ort}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Stadt, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_ORTTEIL

    ;\
    
    #=> In dieser steht nix! Wir erzeugen eine leere Spalte mit Begrenzer und ohne Zeilenumbruch.
    #=> Wir könnten die Spalte zum Beispiel auch für Adresszusatz verwenden.

    POOL_EMPF_STRASSE

    {{Lieferschein.Auftrag.Lieferadresse.Straße|OhneHausnummer}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Straße, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.
    #=> Über den JTL-Spezialfilter OhneHausnummer bewirken wir die Ausgabe des Straßennamens ohne die Hausnummer.

    POOL_EMPF_HAUSNR

    {{Lieferschein.Auftrag.Lieferadresse.Straße|NurHausnummer}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Straße, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.
    #=> Über den JTL-Spezialfilter NurHausnummer bewirken wir, dass nur die Hausnummer ausgegeben wird.
    Die Filter OhneHausnummer und NurHausnummer sind nicht für Ländern einsetzbar, bei denen die Hausnummer VOR dem Straßennamen steht. Dies trifft zum Beispiel auf Frankreich oder teilweise Großbritannien zu.

    POOL_EMPF_TEL

    {{Lieferschein.Auftrag.Kunde.Telefon}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Telefonnummer, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_FAX

    {{Lieferschein.Auftrag.Kunde.Fax}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Faxnummer, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_EMAIL

    {{Lieferschein.Auftrag.Kunde.EMail}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Emailadresse, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_APARTNER

    {{Lieferschein.Auftrag.Kunde.ZuHänden}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe des Wawi-Feldes Zu Händen, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_USTID

    {{Lieferschein.Auftrag.Kunde.UStID}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe der Umsatzsteuer-Identifikationsnummer, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_EMPF_LANDCODE

    {{Lieferschein.Auftrag.Lieferadresse.LandISO}};\
    
    #=> In dieser Zeile erzeugen wir die Ausgabe des Landes in Form des ISO-Codes, gefolgt von einem Spaltentrenner und vermeiden den Zeilenumbruch.

    POOL_GEWICHT

    {% if Paket.Gewicht > 0 %}{{paket.Gewicht}}{% else %}{{Lieferschein.Positionen.VersandGewichtGesamt|Plus:Lieferschein.Auftrag.Versandart.Zusatzgewicht}}{% endif %};\
    
    #=> In dieser Zeile fragen wir ab, ob ein Verwiegegewicht größer Null angegeben wurde.
    #=> Wird kein Verwiegegewicht ermittelt, so übernehmen wir das Gesamtversandgewicht der Positionen aus dem Auftrag.
    #=> Außerdem addieren wir das Zusatzgewicht des Auftrags auf Gesamtversandgewicht der Artikel.

    ENDE DATENSATZ

    {% endfor %}
    
    #=> Mit endfor beenden wir unsere Schleife. Diesmal vermeiden wir den Zeilenumbruch nicht, damit der nächste Datensatz für ein weiteres Paket in der nächsten Zeile beginnt.
    Die verwendeten Zahlencodes für Verfahren, Produkte und Teilnahme können je nach Kunde und Dienstleister variieren. Wie genau Ihre CSV aufgebaut sein muss, erfragen Sie direkt beim technischen Support Ihres Versanddienstleisters. Auch die verwendeten Spalten können je Software und Dienstleistungsvertrag variieren.