Importdefinition: Aufbau & Inhalt

<< Click to Display Table of Contents >>

Navigation:  Shop-Schnittstelle / Auftragsimport > Importdefinition erstellen und anpassen >

Importdefinition: Aufbau & Inhalt

Aufbau und Inhalt einer Importdefinition

 

Eine Importdefinition ist prinzipiell genauso aufgebaut wie die XML-Datei mit den eigentlichen Auftragsdaten. In der Importdefinition wird jedoch anstelle der Feldinhalte für Kundenname, Adresse, bestellte Artikel etc. ein entsprechender Platzhalter im Format "#Feldname" eingesetzt. Außerdem können in der Importdefinition im Abschnitt "Defines" weitere Grundeinstellungen vorgenommen werden.

 

Adressdaten, Lieferadresse, Rechnungsadresse

 

Für den Import der Adressdaten stehen Adressfeldnamen mit drei unterschiedlichen Bedeutungen (Objekten) zur Verfügung:

 

#KUNAdresse      

Diese Adressfelder werden im Kundendatensatz eingetragen.

Wenn kein Feldname mit beginnendem "#KUNAdresse" verwendet wird, werden stattdessen die Felder mit führendem #ATRAdresse in den Kundendatensatz eingetragen.

Wenn Sie nicht nur die Adresse importieren möchten, sondern zusätzliche Felder wie Telefon, E-Mail, Bankverbindung, Geburtstag etc. (siehe Feldbeschreibung der Kundendatenbank), dann müssen Sie immer #KUNAdresse verwenden.

 

#ATRAdresse      

Adressfelder, die mit #ATRAdresse beginnen, werden im Auftragsdatensatz eingetragen und können als Rechnungsadresse verwendet werden. Wenn kein Feld mit #ATRAdresse verwendet wird, wird #KUNAdresse in den Auftrag übernommen.

 

#LFRAdresse      

Diese Felder werden als Lieferadresse eingelesen. Eine Lieferadresse wird nur dann angelegt, wenn sie nicht mit der Adresse des Kundendatensatzes übereinstimmt.

 

Die Namen der Felder für die Adresse und weiteren Kundendaten finden Sie im Kapitel "Feldbeschreibungen der Kundendatenbank".

 

Zusätzlich gibt es das Feld #Vorname_Name welches ab dem ersten Leerzeichen automatisch in die Einzelfelder Vorname bzw. Name aufgesplittet wird. Verwenden Sie #Anrede_Vorname_Name, wenn zusätzlich zum Vor- und Nachnamen noch die Anrede übertragen wird.

 

Die Zuweisung erfolgt über #Feldname oder #Objektname innerhalb eines Textnodes (<Name>#Name</Name>) oder Attributes (<Data Name="#Name" Vorname="#Vorname">). Falls Sie einen Feldnamen angeben, der nicht definiert ist und somit nicht importiert werden kann, wird eine Warnung ausgegeben.

 

Beispiel:

In der folgenden Importdefinition (Auszug) werden drei Adressen übermittelt: Kundenadresse (Customers_address), Rechnungsadresse (Billing_Address) und die Lieferadresse (Delivery_Address).

<CUSTOMERS_ADDRESS>

 <COMPANY>#KUNADRESSE.NAME2</COMPANY>

 <GENDER>#KUNADRESSE.ANREDE</GENDER>

 <FIRSTNAME>#KUNADRESSE.VORNAME</FIRSTNAME>

 <LASTNAME>#KUNADRESSE.NAME</LASTNAME>

 <STREET>#KUNADRESSE.STRASSE</STREET>

 <ZIP>#KUNADRESSE.PLZ</ZIP>

 <CITY>#KUNADRESSE.ORT</CITY>

 <COUNTRY>#KUNADRESSE.LAND</COUNTRY>

 <TELEPHONE>#KUNADRESSE.TELEFON1</TELEPHONE>

 <EMAIL>#KUNADRESSE.EMAIL</EMAIL>

 <BIRTHDAY>#KUNADRESSE.GEBURTSTAG</BIRTHDAY>

</CUSTOMERS_ADDRESS>

 

<BILLING_ADDRESS>

 <COMPANY>#ATRADRESSE.NAME2</COMPANY>

 <NAME>#ATRADRESSE.VORNAME_NAME</NAME>

 <STREET>#ATRADRESSE.STRASSE</STREET>

 <ZIP>#ATRADRESSE.PLZ</ZIP>

 <CITY>#ATRADRESSE.ORT</CITY>

 <COUNTRY>#ATRADRESSE.LAND</COUNTRY>

</BILLING_ADDRESS>

 

<DELIVERY_ADDRESS>

 <COMPANY>#LFRADRESSE.NAME2</COMPANY>

 <NAME>#LFRADRESSE.VORNAME_NAME</NAME>

 <STREET>#LFRADRESSE.STRASSE</STREET>

 <ZIP>#LFRADRESSE.PLZ</ZIP>

 <CITY>#LFRADRESSE.ORT</CITY>

 <COUNTRY>#LFRADRESSE.LAND</COUNTRY>

</DELIVERY_ADDRESS>

 

Alternativ ist auch folgende Definition möglich:

 

<CUSTOMERS_ADDRESS NewData="KUNADRESSE">

 <COMPANY>#NAME2</COMPANY>

 <GENDER>#ANREDE</GENDER>

 <FIRSTNAME>#VORNAME</FIRSTNAME>

 ...

 

<BILLING_ADDRESS NewData="ATRADRESSE">

 <COMPANY>#NAME2</COMPANY>

 <NAME>#VORNAME_NAME</NAME>

 ...

 

<DELIVERY_ADDRESS NewData="LFRADRESSE">

 <COMPANY>#NAME2</COMPANY>

 <FIRSTNAME>#VORNAME</FIRSTNAME>

 ...

 

Felder für Auftragsdaten und Auftragspositionen

Das Auftragsobjekt hat die Felder Auftragnr, Datum, Lieferart, Zahlweise, Bemerkung, Waehrung, Umrechnungskurs, Versandkosten, Versandtitel, Endbetrag, Total_Title, Total_Value.

Bei den Auftragspositionen können die Felder Artikelnr, EAN, Bezeichnung, Text, Menge, LieferantArtikelnr, PreisTyp, EPreis, GPreis, Rabatt (in %) und Steuer importiert werden.

 

Weitere Informationen zu den Feldern finden Sie im Kapitel "Aufträge: Feldbeschreibungen".

 

Auftragsnummer zuordnen

Die Zuordnung einer Auftragsnummer ist in der Importdefinition zwingend notwendig, um einen Auftrag in der Importtabelle eindeutig identifizieren zu können, damit er z. B. nicht ein zweites mal importiert wird.

 

Auftragsnummer importieren

Die von AMICRON-FAKTURA verwendete Auftragsnummer (Feld "Auftragnr") müssen Sie allerdings nur dann importieren, wenn Sie z. B. die importierte Auftragsnummer als Rechnungsnummer verwenden möchten. Damit die in der Importdefinition zugeordnete Auftragsnummer tatsächlich in den Auftrag übernommen wird, muss in den Einstellungen zum Shopimport die folgende Option deaktiviert sein: bei neuen Aufträgen die Auftragsnummer aus dem Nummernkreis ermitteln und die Shopnummer ignorieren. Wenn Sie diese Option aktivieren, verwenden importierte Aufträge und manuell angelegte Rechnungen denselben Nummernkreis.

 

Auftragsart bestimmen

In den Programmoptionen können Sie in den Einstellungen zum Shopimport festlegen, als welche Auftragsart die importierten Aufträge angelegt werden sollen. Sie haben aber auch die Möglichkeit, in den importierten XML-Daten pro Auftrag die Auftragsart anzugeben. Dazu muss das Feld #AuftragArt zugeordnet werden. Die gültigen Werte finden Sie im Kapitel "Aufträge: Feldbeschreibungen".

 

Artikeldaten aus dem Artikelstamm in den Auftrag übernehmen

Wenn die Felder für Bezeichnung, Langtext und EPreis in der Importdefinition nicht zugeordnet wurden, werden die passenden Daten aus dem Artikelstamm übernommen.

 

Artikeldaten aus dem importierten Auftrag in den Artikelstamm übernehmen

Zu den importierten Auftragspositionen können automatisch Artikelstammdaten angelegt werden, wenn der importierte Artikel noch nicht vorhanden ist. Aktivieren Sie dazu in den Einstellungen zum Shopimport die entsprechende Option. Im Kapitel Artikel: Feldbeschreibungen finden Sie eine Liste der Artikelfelder.

 

Automatische Zuordnung des Lieferanten über den importierten Lieferantennamen

Wenn bei den importierten XML-Daten das Feld LieferantName2 oder LieferantSuchbegriff auf der Ebene der Artikeldaten bzw. Auftragspositionen enthalten ist, wird der übertragene Name automatisch im Lieferantenstamm gesucht und bei erfolgreicher Suche beim Artikel als Standardlieferant eingetragen. Voraussetzung: Die Option "Importierte Artikelstammdaten in den Artikelstamm schreiben" muss aktiviert worden sein.

Im Artikelstamm muss ein Standardlieferant eingetragen sein, um automatisch Bestellungen für diesen Artikel durchführen zu können.

 

Versandkosten

Falls die Versandkosten nicht innerhalb der Auftragspositionen aufgelistet werden, können diese über das Feld #Auftrag.Versandkosten zugeordnet werden. Wurde dem Feld ein Wert zugeordnet, so wird automatisch eine zusätzliche Auftragsposition „Versandkosten" hinzugefügt. Wenn eine genauere Bezeichnung übergeben wird, kann sie per #Auftrag.VersandTitel in die Bezeichnung der Auftragsposition übernommen werden. Über das Feld #Auftrag.VersandArtikelnr lässt sich die importierte Artikelnummer für Versandkosten übernehmen. Alternativ kann ein Versandkostenartikel über den <VersandkostenArtikelnr>-Tag im Defines-Block zugeordnet werden, welcher dann bei der ot_shipping-Funktion wirksam ist.

 

Versandkosten für Nachnahme

Falls bei Nachnahmesendungen die Versandkosten nicht innerhalb der Auftragspositionen aufgelistet werden und auch nicht im Wert #Auftrag.Versandkosten enthalten sind (siehe oben), können diese über das Feld #Auftrag.Nachnahmekosten zugeordnet werden. Wurde dem Feld ein Wert zugeordnet, so wird automatisch eine zusätzliche Auftragsposition „Nachnahmegebühr" hinzugefügt und berechnet. Wenn eine genauere Bezeichnung übergeben wird, kann sie per #Auftrag.Nachnahmetitel in die Bezeichnung der Auftragsposition übernommen werden.

 

Beispiel:

<Versand>#Auftrag.Versandkosten</Versand>

<Versanddetails>#Auftrag.Versandtitel</Versanddetails>

<Versandnachnahme>#Auftrag.Nachnahmekosten</Versandnachnahme>

 

Rabattbeträge

Wenn ein bestimmter Rabattbetrag (nicht Prozente) vom Auftragswert abgezogen werden soll, kann dazu der Platzhalter #Rabattbetrag verwendet werden.

 

Gutscheinbeträge

Wenn Sie Gutschriften importieren möchten und diese nicht bereits innerhalb der Auftragspositionen aufgelistet werden, können Sie die Gutschriftbeträge über das Feld #Auftrag.Gutscheinbetrag zuordnen. Wurde dem Feld ein Wert zugeordnet, so wird eine zusätzliche Auftragsposition mit dem Text „Gutschein" hinzugefügt. Wenn eine genauere Bezeichnung übergeben wird, kann sie per #Auftrag.Gutscheintitel in die Bezeichnung der Auftragsposition übernommen werden.

 

Steuer

Über das Auftragsfeld #SteuerInkl kann bestimmt werden, ob der Auftrag inkl. Mwst., zzgl. Mwst. oder ohne Mwst. erstellt werden soll. Die Preise der Auftragspositionen müssen dann entsprechend als Brutto- bzw. Netto-Preise übertragen werden. Falls Sie mit unterschiedlichen Steuersätzen arbeiten, können Sie die Mwst.-Prozente über das Feld #Steuer importieren. Zulässig sind z. B. die Werte "19" und "0.19" für Auftragspositionen mit 19% Mwst. Alternativ zu den Prozenten kann über das Feld Steuersatz das Steuersatzkürzel importiert werden, also z. B. "1" für den vollen Steuersatz und "2" für den reduzierten Satz.

 

Zahlungsbedingungen und Vertreter

Wenn Sie für die Zahlungsbedingungen keine Werte importieren, werden bei vorhandenen Kunden diejenigen Werte in den Auftrag übernommen, die Sie in den Kundenstammdaten beim jeweiligen Kunden voreingestellt haben. Dies betrifft die Felder Rabatt, Skonto, Skontotage, Zahlungin, Preisgruppe und Vertreter. Eine Beschreibung der Felder finden Sie im Kapitel "Aufträge: Feldbeschreibungen".

Die genannten Felder werden nur dann aus den Kundendaten übernommen, wenn die Option "Auftragsadresse aus den Kundenstammdaten übernehmen" aktiv ist und die Felder nicht zugeordnet wurden, d.h. nicht in der Importdefinition angegeben wurden oder das jeweilige XML-Tag von der Schnittstelle nicht übergeben wurde (ein leeres Tag reicht nicht aus).

 

Lieferart und Zahlweise

Die Felder Zahlweise und Lieferart werden aus den Kundendaten in den Auftrag übernommen, wenn die entsprechenden Platzhalter nicht in der Importdefinition enthalten sind. Andernfalls, d.h. bei Zuweisung der Platzhalter, werden grundsätzlich die importierten Werte übernommen, auch wenn diese leer sind.

 

Felder für Kundendaten

Eine Feldliste finden Sie unter Feldbeschreibung der Kundendatenbank. Zusätzlich steht beim Auftragsimport das Feld #Vorname_Name und #Anrede_Vorname_Name zur Verfügung. Falls der Vorname und Name zusammen übertragen werden, z. B. <CONTACT_NAME>Birgit Müller</CONTACT_NAME> oder <CONTACT_NAME>Frau Birgit Müller</CONTACT_NAME>, erfolgt eine automatische Zuweisung in die Felder Anrede, Vorname und Name.

Wie Sie bei Lastschriftzahlung die Bankverbindung übernehmen können, wird in unserem Blog in diesem FAQ-Beitrag beschrieben.

 

Markierung für neuen Auftrag und neue Auftragsposition

Damit AMICRON-FAKTURA erkennen kann, wo ein neuer Auftrag bzw. eine neue Auftragsposition beginnt, müssen Sie in der Importdefinition eine Markierung bei dem Knoten (<Tag>) einfügen, bei dem ein neuer Auftrag bzw. Auftragsposition beginnt:  

 

Neuer Auftrag: NewData="AUFTRAG"

Neuer Position: NewData="ATRPOS"

 

Die Knotennamen selbst werden vom Programm nicht beachtet, können also beliebige Bezeichnungen tragen.

 

Beispiel:

Angenommen, Ihre Auftragsdaten werden in folgender Form geliefert: (Auszug)

 

<?xml version="1.0" encoding="iso-8859-1"?>

<ORDER>

  <ORDER_INFO>

     <ORDER_HEADER>

        <ORDER_ID>7890</ORDER_ID>

        <CUSTOMER_ID>10000</CUSTOMER_ID>

        <ORDER_DATE>16.03.2018</ORDER_DATE>

     </ORDER_HEADER>

 

     <CUSTOMERS_ADDRESS>

       ..

     </CUSTOMERS_ADDRESS>

 

     <ORDER_PRODUCTS>

        <PRODUCT>

           <PRODUCTS_ID>34</PRODUCTS_ID>

           <PRODUCTS_QUANTITY>1</PRODUCTS_QUANTITY>

           <PRODUCTS_TEXT>Amicron-Faktura</PRODUCTS_TEXT>

           <PRODUCTS_TAX>19</PRODUCTS_TAX>

 

Die Importdefinition muss dann wie folgt angepasst werden:

 

<?xml version="1.0" encoding="iso-8859-1" ?>

<ORDER>

  <ORDER_INFO>

     <ORDER_HEADER NewData="AUFTRAG">

        <ORDER_ID>#AUFTRAGNR</ORDER_ID>

        <CUSTOMER_ID>#KUNADRESSE.NR</CUSTOMER_ID>

        <ORDER_DATE>#AUFTRAG.DATUM</ORDER_DATE>

     </ORDER_HEADER>

 

     <CUSTOMERS_ADDRESS>

       ..

     </CUSTOMERS_ADDRESS>

 

     <ORDER_PRODUCTS>

        <PRODUCT NewData="ATRPOS">

           <PRODUCTS_ID>#ARTIKELNR</PRODUCTS_ID>

           <PRODUCTS_QUANTITY>#MENGE</PRODUCTS_QUANTITY>

           <PRODUCTS_TEXT>#BEZEICHNUNG</PRODUCTS_TEXT>

           <PRODUCTS_TAX>#STEUER</PRODUCTS_TAX>