Schnittstellenleitfaden: Unterschied zwischen den Versionen

Aus FAKTURA-X Wiki
Zur Navigation springen Zur Suche springen
Zeile 321: Zeile 321:
==Auftragsimport als XML==
==Auftragsimport als XML==
Die Daten werden über eine FTP-Verbindung bereitgestellt. Nach erfolgreichem Verbindungsaufbau befinden sich die XML- Daten in einem zu definierenden Ordner.  
Die Daten werden über eine FTP-Verbindung bereitgestellt. Nach erfolgreichem Verbindungsaufbau befinden sich die XML- Daten in einem zu definierenden Ordner.  
Der Name der XML- Datei besteht aus dem Zeitstempel (YYYY-MM-DD-HHMMSS) sowie der Auftragsnummer, welche vom Shopsystem vergeben werden muss.  
Der Name der XML- Datei besteht aus dem Zeitstempel (YYYY-MM-DD-HHNNSS) sowie der Auftragsnummer, welche vom Shopsystem vergeben werden muss.  


{{Tipp1|'''Beispiel:''' 2012-02-06-105730-5432.xml}}
{{Tipp1|'''Beispiel:''' 2012-02-06-105730-5432.xml}}

Version vom 23. Dezember 2021, 15:25 Uhr

  • für den Stammdatenexport an externe Webshop-Systeme
  • für den Auftragsimport aus externen Webshop-Systemen

Stand Dezember 2021

Vorbemerkungen

Im Folgenden werden die Austauschformate für die nicht spezifische Webshop-Schnittstelle aufgeführt. Die Schnittstelle ist eine von mehreren Schnittstellen, die genutzt werden können.

Formate

Neben den branchenspezifischen Schnittstellen (KOLLEX; OctopusOrder, Refill, Gastivo) unterstützt FAKTURA-X auch algemeine EDI Formate.

Informationen dazu erhalten Sie vom Hersteller

Formatkennzeichen

  • A: String (Zeichenkette alphanumerisch), Länge wird zusätzlich angegeben
  • N: Float (Numerisch), Wertebereich optional angegeben
  • I: Integer (Ganzzahl), Wertebereich optional angegeben
  • B: Boolean (Logisch), Wertebereich (FALSCH, WAHR)
  • D: Date (Datum), Format [TT.MM.JJJJ]
  • T: Time (Uhrzeit), Format [HH:NN:SS]
  • @: DateTime (Zeitstempel), Format [TT.MM.JJJJ HH:NN:SS]

Abweichende Definitionen

Sollte eine Anforderung mit diesem Leitfaden nicht abgedeckt werden können, sprechen Sie uns bitte an.

Eine Anpassung oder Erweiterung ist nach Absprache kostenpflichtig möglich.

Bereitstellung von Daten

Im einfachsten Fall werden Stammdaten als CSV-Daten bereitgestellt und auf einen FTP-Server übertragen. Die Auftragsdaten werden als XML-Dateien von einem FTP-Server herutergeladen und verarbeitet. Das Abrufen und Verarbeiten der Aufträge kann automnatisch oder manuell erfolgen.

  • Informationen für die Auftragsverarbeitung finden Sie hier.
  • Die Einstellungen für für den Datenaustausch mit WEBDRINK finden Sie hier.
  • Die Einstellungen für für den Datenaustausch mit Shopware oder Magento u.ä. finden Sie hier.

Stammdatenexport als CSV

Folgende Standards werden voreingestellt:

  • Daten werden durch Semikola getrennt, bereitgestellt. Jeder Datensatz wird mit einem Semikolon abgeschlossen.
  • Es werden keine Delimiter verwendet, der Typ eines Datensatzes ergibt sich aus der Reihenfolge.
  • Der Zeichensatz ist Windows 1252 (ANSI).
Eine Anpassung oder Erweiterung ist nach Absprache kostenpflichtig möglich.

Feldbeschreibungen Datei "Kunden.csv“

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer
Anrede A10 Anrede, optional
Vorname A80 Vorname, optional
Name/Firma A80 Firmenname oder Name
Zusatz A80 optional Abteilung etc.
Strasse A20 Straße mit Hausnummer
PLZ A5 ohne Nationalitätskennzeichen
Ort A80 Ort
Telefon A20 Telefon 1, optional
Mobil A20 Telefon 2, optional
Email A255 Mehrfacheinträge mit „,“ getrennt
StNr A40 StNr. oder USt.ID, optional
BIC A10 ohne Leerzeichen, optional
IBAN A30 Darf Leerzeichen enthalten, optional
Bar B Kunde muss bei Lieferung zahlen
Gewerbe B Gewerbe oder Privatkunde
Limit N (-1, 0..n) -1 = gesperrt, 0 = kein Limit
Preisgruppe I (1..n) Preisgruppenliste

Optional: Feldbeschreibungen Datei "Lieferadressen.csv“

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer
Anrede A10 Anrede, optional
Vorname A80 Vorname, optional
Name/Firma A80 Firmenname oder Name
Zusatz A80 optional Abteilung etc.
Strasse A20 Straße mit Hausnummer
PLZ A5 ohne Nationalitätskennzeichen
Ort A80 Ort
Telefon A20 Telefon 1, optional
Ident A20 Kennung der Adresse

Feldbeschreibungen Datei "Artikel.csv“

Feld Typ Information
Versionsnummer I Wird nicht verwendet
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer
Artikelbezeichnung A80 Artikelbezeichnung
Menge I (0..n) Flaschen im Kasten, Einzel = 0
Gebinde-Inhalt N (0..n) Liter
Warengruppe A40 Warengruppe
Untergruppe A40 Wird nicht verwendet
Hersteller A40 Hersteller
Bruttopreis N Basispreis 1 des Artikels inkl. MwSt.
Brutto-Pfand N Basispreis 1 des Pfands inkl. MwSt.
Brutto-Literpreis N Basispreis 1 pro Liter inkl. MwSt.
Nettopreis N Basispreis 2 des Artikels exkl. MwSt.
Netto-Pfand N Basispreis 2 des Pfands exkl. MwSt.
Netto-Literpreis N Basispreis 2 pro Liter exkl. MwSt.
MwSt N (0..n) MwSt.-Satz in Prozent
Barcode A20 EAN des Teilgebinde oder Einzelartikel
Lieferbar I Wird nicht verwendet
Angebotsart I Wird nicht verwendet

Optional: Feldbeschreibungen Datei "Favoriten.csv“

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
Anzahl I übliche Bestellmenge

Optional: Feldbeschreibungen Datei "Sonderpreise.csv“

Aktionspreise: Ist das Feld KDNr leer, wird der eingetragene Preis NettoVK als zeitlich gesteuerter Aktionspreis behandelt, der im Zeitraum von Start bis Ende unter Beachtung der Zugehörigkeit eines Kunden zur Preisgruppe in „Gruppe“, der Vorgabe der Möglichkeit zum Überschreiben eines möglichen Sonderpreises eines Kunden für den Artikel und Einschränkung der Gültigkeit eines Aktionspreises auf eine maximale Abverkaufsmenge Vorrat gilt.
Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Auftragsimport als XML

Die Daten werden über eine FTP-Verbindung bereitgestellt. Nach erfolgreichem Verbindungsaufbau befinden sich die XML- Daten in einem zu definierenden Ordner. Der Name der XML- Datei besteht aus dem Zeitstempel (YYYY-MM-DD-HHNNSS) sowie der Auftragsnummer, welche vom Shopsystem vergeben werden muss.

Beispiel: 2012-02-06-105730-5432.xml
  • Elemente ohne Daten werden XML-konform als <Tag-Name /> dargestellt.
  • Jede Bestellung wird einzeln erfasst.
  • Der Datensatz enthält Bestellmerkmale sowie alle Details des Kunden.
  • Der Zeichensatz ist UTF-8.

Entität "Order"

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Entität "Article"

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Entität "DeliveryDetails"

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Entität "Customer"

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Entität "DeliveryAddress"

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Entität "BankDetails"

Feld Typ Information
KDNr A20 (eingeschränkter Zeichensatz) Eindeutige Identnummer des Kunden
ArtNr A20, eingeschränkter Zeichensatz Eindeutige Identnummer des Artikels
NettoVK N Netto Sonderpreis
Start @ Zeitstempel Gültigkeitsbeginn eines Aktionspreises
Ende @ Zeitstempel Gültigkeitsende eines Aktionspreises
Gruppe A20 Aktionspreis gilt für Preisgruppe
Ersetzen A5 (Ja, Nein) Aktionspreis kann Sonderpreise überschreiben
Vorrat I (-1, 1..n) Beschränkter Vorrat eines Aktionspreises, -1 = kein Vorrat

Beispieldateie

Das folgende Listing veranschaulicht eine Auftragsdatei. Die zugehörige XML-Datei kann hier heruntergeladen werden.

<xml version="1.0" encoding="UTF-8" standalone="yes">
<order>
  <orderID>8372</orderID>
  <ip>87.153.22.57</ip>
  <orderDate>2012-06-04 13:46:40</orderDate>
  <deliveryDate>2012-07-07</deliveryDate>
  <deliveryPeriod>Vormittags</deliveryPeriod>
  <comment/>
  <payment>bankCollection</payment>
  <priceMode>gross</priceMode>
  <taxRate>19.00</taxRate>
  <merchandiseValue>55.95</merchandiseValue>
  <deliveryCosts>10.00</deliveryCosts>
  <smallVolumePurchase>0.00</smallVolumePurchase>
  <sumTotal>80.05</sumTotal>
  <discountPercent>0.00</discountPercent>
  <discountFix>0.00</discountFix>
  <article>
    <amount>2</amount>
    <articleNumber>17106</articleNumber>
    <name>Possmann Apfelwein 1 l (6x1,00)</name>
    <package>6x1,00</package>
    <price>8.49</price>
    <deposit>2.40</deposit>
    <taxRate>19</taxRate>
    <ean/>
  </article>
  <article>
    <amount>3</amount>
    <articleNumber>23105</articleNumber>
    <name>Veltins Pils 0,5 (20x0,50)</name>
    <package>20x0,50</package>
    <price>12.99</price>
    <deposit>3.10</deposit>
    <taxRate>19</taxRate>
    <ean>4005249000367</ean>
  </article>
  <deliveryDetails>
    <name>Anfahrtspauschale</name>
    <price>4.00</price>
  </deliveryDetails>
  <deliveryDetails>
    <name>5 Artikel à 1,20€</name>
    <price>6.00</price>
  </deliveryDetails>
  <customer>
    <wdCustomerID>2578</wdCustomerID>
    <customerNumber/>
    <street>Musterstr.</street>
    <streetNumber>1</streetNumber>
    <additionalAddressInformation/>
    <postcode>35708</postcode>
    <town>Haiger</town>
    <title>Frau </title>
    <company/>
    <name>Mustermann</name>
    <firstName>Max</firstName>
    <phone>5468715687</phone>
    <fax/>
    <mobile/>
    <email>mustermann@mustermann.de</email>
    <registrationDate>2012-06-01 18:48:49</registrationDate>
    <newsletter>0</newsletter>
    <bankDetails>
      <accountOwner>Max Mustermann</accountOwner>
      <accountNumber>99999999</accountNumber>
      <bankCode>999999999</bankCode>
      <bank>Mustermann eG</bank>
      <iban>999999999</iban>
      <bic>DE0075XX</bic>
    </bankDetails>
  </customer>
</order>
</xml>