Contents

    Exporting shipping data in JTL-WMS

    General information

    When an order is packed in JTL-WMS, JTL-WMS checks how the shipping label should be printed and how the tracking ID should be linked to the order. One of these options is to export the shipping data and then import them again into a different program. There are programs from various logistics partners such as DHL Intraship, DPD Delisprint or iloxx Versandsystem, which can read csv files with sales order data and print shipping labels. After the label has been printed, some of these programs write another csv file with the tracking IDs, which in turn can be imported into JTL-Wawi or JTL-WMS.
    The following describes the process and explains which settings must be made in JTL-WMS.

    Processes

    Csv files can be exported at every JTL-WMS workstation. These are then used by external programs to create the shipping labels. If the external program also directly writes the tracking ID, it can be fed back to JTL-WMS and processed directly by the automatic import service running in the background.

    In JTL-Wawi, you first to need specify for the shipping method that the shipping data is to be exported in a csv file. Additionally, an export template must be selected. This is the template for the csv file created by JTL-WMS.
    You can also specify that for this shipping method, data is also imported. For this, an import template must also be defined.

    Shipping data export

    The csv export must be configured once in the logistics partner and shipping type settings in JTL-Wawi. In addition, each JTL-WMS workstation must be told whether and to which folders to export the file.

    The export templates can be highly customised in JTL-Wawi with the dotliquid template language. To do this, open the menu Versand (Shipments) and go to Import- / Exportvorlagen > Versanddaten-Export > Anlegen (Import/Export templates > Shipping data export > Create). Below you will find the help pages on the syntax of this language. When there is a “\” before a line break, the line break is not exported. With this, the template can be made more legible.

    Configuration in JTL-Wawi

    In the dialogue box that opens after clicking on Bearbeiten (Edit), you can match the shipping method to a suitable shipping data export template in the box Verknüpfungen (Linking) box. If this is set up correctly, a csv file is automatically generated for the shipping method.

    To do this, first edit the shipping type and link the corresponding logistics partner with the shipping method.

    In the second step, create a new template in Menü Versand > Import- / Exportvorlagen > Versanddaten-Export (Shipments menu > Import/Export templates > Shipping data export).

    To do this, click on Anlegen (Create). You can choose between the modes Basic and Expert.

    You can now link the created export template with the shipping method in the Versandarten (Shipping methods) settings. To do this, go back to editing the shipping method. In the area Verknüpfungen (Linking), select the option Versanddatenexport: Export gemäß Exportvorlage (Shipping data export: Export according to export template). Then pick the correct export template from the options in Versanddaten-Exportvorlage (Shipping data export template). Finally, confirm with Speichern (Save).

    From now on, shipping data can be exported via JTL-WMS. Whenever a sales order is exported, the system checks whether an export template exists for the logistics partner of the corresponding shipping method. If yes, the system will try to create the csv file according to the workstation settings.

    Configuration for UPS

    UPS Worldship always expects the same file name. This means that you have to enter the file name only once and that the data is always written to the same file. For this reason, the option Vorhandene Datei überschreiben (Overwrite existing file) after Überschreiben (Overwrite) must be selected.

    Current UPS Worldship template

    Anzahl Pakete (Number of packages): If the sales order consists of several packages, the number of packages is transferred to UPS. This field also controls the number of labels to be printed.

    Artikel (Item): In the field that currently says Artikel (Item) is, UPS expects a description of the contents of the package.

    {% for Paket in Vorgang.Pakete -%}
    {{ Lieferschein.Auftrag.Kunde.Kundennummer }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Firma  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Name  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Straße  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Vorname  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.AdressZusatz  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Ort }};\
    ;\
    {{ Lieferschein.Auftrag.Lieferadresse.PLZ }};\
    {{ Lieferschein.Auftrag.Lieferadresse.LandISO }};\
    {% if Lieferschein.Auftrag.Kunde.Telefon != null and size(Lieferschein.Auftrag.Kunde.Telefon) > 0 %}\
    {{ Lieferschein.Auftrag.Kunde.Telefon}}{% else %}{{ Lieferschein.Firma.Telefon }}{% endif %};\
    {{ Lieferschein.Auftrag.Kunde.Fax }};\
    pp;\
    {{ Lieferschein.Firma.UStID }};\
    ;\
    2;\
    ;\
    {{ Lieferschein.Auftrag.Währung }};\
    {{ Lieferschein.Auftrag.Kunde.EMail }};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme %}y{% else %}{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme %}{{ Lieferschein.Auftrag.OffenerBetrag }}{% else %}{% endif %};\
    st;\
    cp;\
    {% if Lieferschein.Auftrag.Kunde.EMail != null and size(Lieferschein.Auftrag.Kunde.EMai) > 0 %}{{ Lieferschein.Auftrag.Kunde.EMail }}{% else %}{% endif %};\
    y;;Artikel;{{ Lieferschein.Auftrag.Auftragsnummer }};\
    {{ Lieferschein.Auftrag.Auftragsnummer }};\
    {{ Lieferschein.Auftrag.Kunde.Kundennummer }};\
    ;\
    ;\
    {{ Lieferschein.Pakete.Anzahl }};\
    {{ Lieferschein.Auftrag.Rechnung.Rechnungsnummer }};\
    P{{ Paket.InternePaketnummer }}
    {% endfor -%}

    Configuration for DPD

    DelisPrint can read all files from the set folder. For DPD, the overwrite settings in JTL-Wawi specify that each csv file is saved under a new name. The name is always generated from the sales order ID and the time stamp.

    For DelisPrint the default template in JTL-Wawi generates one row for every package created. In case of cash on delivery, the first package is marked as Nachnahme (Cash on delivery) with the full amount. The remaining packages are marked as Keine Nachnahme (No cash on delivery).

    DPD’s Flex delivery, for which the customer can arrange a delivery date with the delivery agent, is integrated into the standard template (status as of 11 July 2013). Flex is always possible for deliveries to the Netherlands, Luxembourg, Belgium and the Czech Republic and only for “No cash on delivery” deliveries to Germany, Great Britain, Ireland and Slovakia.

    To do this, the corresponding logistics partner for the shipping type must be set first.

    Template DelisPrint 5 with cash on delivery

    {% for Paket in Vorgang.Pakete %}{{ Lieferschein.Auftrag.Lieferadresse.Firma  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Vorname  | Remove:'"' }} {{ Lieferschein.Auftrag.Lieferadresse.Name  | Remove:'"' }};;\
    {{ Lieferschein.Auftrag.Lieferadresse.Firmenzusatz  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Straße  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.AdressZusatz  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.PLZ }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Ort }};\
    {{ Lieferschein.Auftrag.Lieferadresse.LandISO }};\
    {{ Lieferschein.Auftrag.Kunde.Kundennummer }};\
    {% if Lieferschein.Auftrag.Kunde.EMail %}{{Lieferschein.Auftrag.Kunde.EMail}}{% endif %};\
    {% if Lieferschein.Auftrag.Kunde.Telefon %}{{Lieferschein.Auftrag.Kunde.Telefon}}{% endif %};\
    {{ Lieferschein.Auftrag.Rechnung.Rechnungsnummer }};\
    NP{% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %},NN{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}{{ Lieferschein.Auftrag.OffenerBetrag }}{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}BAR{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}EUR{% endif %};\
    {{ Lieferschein.Auftrag.Auftragsnummer }};\
    P{{ Paket.InternePaketnummer }};
    {% endfor -%}

    Template DelisPrint 5 with cash on delivery and express

    {% for Paket in Vorgang.Pakete -%}
    {{ Lieferschein.Auftrag.Lieferadresse.Firma  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Vorname  | Remove:'"' }} {{ Lieferschein.Auftrag.Lieferadresse.Name  | Remove:'"' }};;\
    {{ Lieferschein.Auftrag.Lieferadresse.Firmenzusatz  | Remove:'"'}};\
    {{ Lieferschein.Auftrag.Lieferadresse.Straße  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.AdressZusatz  | Remove:'"' }};\
    {{ Lieferschein.Auftrag.Lieferadresse.PLZ }};\
    {{ Lieferschein.Auftrag.Lieferadresse.Ort }};\
    {{ Lieferschein.Auftrag.Lieferadresse.LandISO }};\
    {{ Lieferschein.Auftrag.Kunde.Kundennummer }};\
    {% if Lieferschein.Auftrag.Kunde.EMail %}{{Lieferschein.Auftrag.Kunde.EMail}}{% endif %};\
    {% if Lieferschein.Auftrag.Kunde.Telefon %}{{Lieferschein.Auftrag.Kunde.Telefon}}{% endif %};\
    {{ Lieferschein.Auftrag.Rechnung.Rechnungsnummer }};\
    NP{% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %},NN{% endif %};\
    {% if Lieferschein.Auftrag.Versandart.IstExpress %}E;{% if Lieferschein.Auftrag.Kunde.EMail %}{{Lieferschein.Auftrag.Kunde.EMail}}{% endif %};904;DE;{% endif -%}
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}{{ Lieferschein.Auftrag.OffenerBetrag }}{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}BAR{% endif %};\
    {% if Lieferschein.Auftrag.IstVersandartNachnahme and forloop.first %}EUR{% endif %};\
    {{ Lieferschein.Auftrag.Auftragsnummer }};\
    P{{ Paket.InternePaketnummer }};\
    {% endfor -%}

    Configuration DHL

    Configuration DHL: Template EasyLog 6.6 XL

    {% for Paket in Vorgang.Pakete -%}
    P{{Paket.InternePaketnummer}};\
    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{% endif %};\
    0;\
    {{Lieferschein.Auftrag.Kunde.Kundennummer}};\
    {{Lieferschein.Auftrag.Lieferadresse.Vorname|Remove:'"'}} {{Lieferschein.Auftrag.Lieferadresse.Name|Remove:'"'}};\
    {{Lieferschein.Auftrag.Lieferadresse.Firma|Remove:'"'}};\
    {{Lieferschein.Auftrag.Lieferadresse.AdressZusatz|Remove:'"'}};\
    {{Lieferschein.Auftrag.Lieferadresse.PLZ}};\
    {{Lieferschein.Auftrag.Lieferadresse.Ort}};\
    {{Lieferschein.Auftrag.Lieferadresse.Anrede|Remove:'"'}};\
    {{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.Zusatzgewicht}}{% endif %};
    {% endfor %}

    For information on the structure and logical structure of this shipping data export template, please refer to Dotliquid for JTL users.

    Configuration DHL: Customs declaration for Easylog 6.6. XL

    {% for item in Lieferschein.Positionen limit:5 -%}
    {% if item.Auftragsposition.Artikel.IstLagerartikel -%}
    {{  item.Menge }}x - {{ item.Artikel.Bezeichnung }};{{  item.Artikel.Herkunftsland }};{{ item.Artikel.TaricCode }};{{  item.Artikel.Gewicht | Times: item.Menge }};{{  item.Artikel.Nettoverkaufspreis | Times: item.Menge | Nummer: 'N2' }};\
    {% endif -%}
    {% endfor -%}

    Now only the import template in the polling of Easylog (tested in version 6.6 XL) has to be adjusted accordingly: Easylog > System > Polling settings. Under Configuration, click on the Book icon and select the template. Then right-click on the context menu and select Change. Under Options, the semicolon ( ; ) must be used as value separator and the tube ( | ) as field separator. The separators can vary depending on the structure of your template. It is important that the column separators in the export template are also adjusted. The assignment of the fields can remain unchanged.

    Important note If options had to be changed, it may happen that the field assignment was emptied. In this case, please cancel the process and make a note of the old assignments, either by writing them down on a piece of paper or by exporting them via XML and then re-importing them, except for the following changes:
    • Customs type of goods: Check the box,
    • Select “Goods shipment” in the drop-down menu.
    • Customs declaration of contents: Drag the new row that you have created or inserted in the WMS template into the field matrix from the right. In the example, this is field 29, but this can vary depending on its position in the DHL template.

    Configuration GLS

    Configuration GLS: Current template Gepard

    {% for Paket in Vorgang.Pakete -%}
    {{Lieferschein.Auftrag.Kunde.Kundennummer}};\
    {{Lieferschein.Auftrag.Lieferadresse.Vorname|Remove:'"'}} {{Lieferschein.Auftrag.Lieferadresse.Name|Remove:'"'}};\
    {% capture firma %}{{Lieferschein.Auftrag.Lieferadresse.Firma|Remove: '"'}}{% endcapture -%}
    {% capture name %}{{Lieferschein.Auftrag.Lieferadresse.Vorname|Remove:'"'}} {{Lieferschein.Auftrag.Lieferadresse.Name|Remove:' "'}}{% endcapture -%}
    {% if firma != empty %}{{ firma }}{% else %}{{ name }}{% endif %};\
    {% if firma != empty %}{{ name }}{% endif %};\
    {{Lieferschein.Auftrag.Lieferadresse.Adresszusatz}};\
    {{Lieferschein.Auftrag.Lieferadresse.Straße|Remove:'"'}};\
    ;\
    {{Lieferschein.Auftrag.Lieferadresse.LandISO}};\
    {{Lieferschein.Auftrag.Lieferadresse.PLZ}};\
    {{Lieferschein.Auftrag.Lieferadresse.Ort}};\
    {{Lieferschein.Auftrag.Kunde.ZuHänden}};\
    {{Lieferschein.Auftrag.Kunde.Telefon}};\
    {{Lieferschein.Auftrag.Kunde.EMail}};\
    {{Lieferschein.Auftrag.Anmerkung}};\
    {{Lieferschein.Lieferscheinnummer}};\
    P{{Paket.InternePaketnummer}};\
    {% endfor -%}

    Configuration at the WMS workstation

    When packing an order in JTL-WMS, the system checks whether the corresponding shipping method has been configured for shipping data export via csv file. If this is the case, a csv file is generated according to the set export template. The file is created on the export path specified in the workstation configuration for the corresponding shipping method. A separate export path can be set for each logistics partner. At the time of shipping data export, the sales order has already been completed in JTL-WMS and the next order can be packed.

    The external program processes the csv file and prints a shipping label. If the data was not correct, it must be edited in the external program. After the correction, a new printing of the label can be triggered.

    Shipping data import

    Most shipping providers offer the option of exporting created tracking IDs individually or in bulk in their shipping tools at the end of the day. To do this, you have to configure the shipping data import once in JTL-Wawi and tell the respective client in JTL-WMS in which directory the import file can be found.

    1. You can define the import template in JTL-Wawi in the menu Menü Versand > Import- / Exportvorlagen > Versanddaten-Import (Shipments > Import/Export template > Shipping data import).
    2. Give the template a name and optionally also a description. Define the format of the import file by correctly configuring the separator, date format, and number of headers. The columns Identifikationsnummer (Identification number) and the Trackingnummer (Tracking number) are particularly relevant for field assignments.
    3. Optionally, you can enter the columns with the Versanddatum (Shipping date) and the Versandinformation (Shipping information).
    4. Use the button Vorschau (Preview) to select your export file and check if the columns are correctly assigned.
    5. In the last step, you must select the logistics partner on the client side in the workstation configuration in JTL-WMS in the bottom right-hand corner. Define the path in which your shipping data import file, i.e. the export file of your shipping software, can be found.
    6. In addition, you can decide whether you want to import the shipping data manually or automatically. For automation, simply check the box for the shipping data import service.
    7. Using Windows notifications, JTL-WMS immediately receives a message from Windows that a new CSV file is present in the path already defined. If you want to have a manual import, you can import the shipping data as usual via JTL-Wawi in the are Bereich Versand > Lieferscheine > Offen > Versanddaten importieren (Shipments > Delivery notes > Open > Import shipping data).
    When all settings have been configured correctly and the tracking ID has been successfully assigned to a sales order, the shipment is confirmed and JTL-WMS automatically sends the shipping status to your online shop, eBay, or Amazon and sends an email to your customer, if desired. The import can handle any number of packages per delivery note and correctly adds all tracking IDs to your sales order and delivery note if you send a large order with several packages.
    Wichtig! Für den Sendungsdatenimport ist es wichtig, dass Sie in der Exportvorlage als Sendungsreferenz nicht die normale Lieferscheinnummer {{Lieferschein.Lieferscheinnummer}}, sondern die interne Paketnummer verwenden und dieser ein großes P voranstellen. Das Ergebnis sollte dann so aussehen: P{{Paket.InternePaketnummer}}

    Working with several packing benches

    In principle, the settings in the workstation configuration must be configured on each workstation at which labels are to be printed. For each shipping method that is to be processed via the shipping data export, the export paths for the affected shipping methods must be set on each computer that is used for packing.

    At each workstation at which shipping data is to be imported, the correct paths must be set in the workstation configuration. There are two different configuration methods if you are working with several packing stations.

    • Each workstation imports its own sales orders: For this, the Import Worker must also be configured and started on each individual packing bench.
    • Central Import Worker: One workstation is designated as the central Import Worker, which reads the csv files for all sales orders. This can be any JTL-WMS workstation. With this method, the external programs must be configured so that the csv files are written to a network path that is accessible to the central workstation. It is important to ensure that each external program writes a different file name, otherwise the different programs at the individual print stations would overwrite the files.