Schnittstellenleitfaden: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
FBO (Diskussion | Beiträge) Die Seite wurde neu angelegt: „* '''für den Stammdatenexport an externe Webshop-Systeme''' * '''für den Auftragsimport aus externen Webshop-Systemen''' ''Stand Dezember 2021'' =Vorbemerk…“ |
FBO (Diskussion | Beiträge) |
||
| (77 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 7: | Zeile 7: | ||
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. | 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. | ||
== | ==Hinweise für externe Entwickler== | ||
{{Achtung|Wir weisen explizit darauf hin, dass die vorliegende Schnittstelle seit vielen Jahren von verschiedenen Schnittstellenpartnern eingesetzt wird}} | |||
Es handelt sich um eine '''praxiserprobte''' und '''erwiesenermaßen robuste, funktionsfähige Schnittstelle.''' Die Schnittstelle wurde mit Fachleuten aus mehreren Unternehmen gemeinsam entwickelt. Sie wurde '''bereits erfolgreich in Systeme wie "Shopware" oder "Drinkware" implementiert''' und '''wird im Produktivbetrieb von Anwendern genutzt:''' | |||
* Die Schnittstelle ist voll funktionsfähig | |||
* Alle zugrundeliegenden Normen und Spezifikationen werden eingehalten | |||
'''Daraus folgt:''' | |||
* Es werden '''keine Anpassung''' aufgrund von Einschränkungen oder Inkompatibilitäten auf der Seite des Shopsystems durchgeführt, auch nicht auf Anfrage oder gegen Kostenerstattung | |||
* Eine '''Erweiterung''' der Schnittstelle ist auf Anfrage und in jedem Fall kostenpflichtig, möglich. | |||
* Es muss nicht die Schnittstelle, sondern immer das Shopsystem angepasst werden. Dies ist nicht Aufgabe des Schnittstellenanbieters, sondern des Webshopentwicklers. | |||
{{Achtung|Sie erhalten auf Anfrage Hilfestellung zu Schnittstellendefinitionen, jedoch keinesfalls zu branchenspezifischen Themen. Zu branchenspezifische Themen sprechen Sie ausschließlich den Auftraggeber an}} | |||
Vor der Implementierung fordern wir beim Auftraggeber eine Freigabe zur Erstattung der Beratungskosten an. | |||
Der entstandenen Aufwand wird dokumentiert. | |||
==Dateiformate== | |||
'''[[wikipedia:de:CSV_%28Dateiformat%29|CSV-Dateien]]''' | |||
* Es werden deutsche Formatierungen und Zeichensätze verwendet | |||
* Zeichensatz ist UTF-8 | |||
* Spalten werden, '''durch Semikola getrennt''' | |||
* Jeder Datensatz wird '''mit einem Semikolon abgeschlossen''' | |||
* Es werden '''keine Delimiter''' verwendet, der Typ eines Datensatzes ergibt sich aus der Reihenfolge | |||
'''[[wikipedia:de:Extensible_Markup_Language|XML-Dateien]]''' | |||
* RFC- und W3C-konform | |||
* Zeichensatz ist UTF-8 | |||
==Dateitransfer== | |||
Im einfachsten Fall werden Stammdaten als [[wikipedia:de:CSV_%28Dateiformat%29|CSV]]-Daten bereitgestellt und auf einen [[wikipedia:de:File_Transfer_Protocol|FTP]]-Server übertragen. Die Auftragsdaten werden als [[wikipedia:de:Extensible_Markup_Language|XML]]-Dateien von einem FTP-Server heruntergeladen und verarbeitet. Das Abrufen | |||
* Das ''[[wikipedia:de:File_Transfer_Protocol|FTP-Protokoll]]'' wird RFC- und W3C-konform angewendet. | |||
* Der FTP-Client der Anwendung arbeitet im passiven Modus, es wird der Standardport verwendet | |||
* Die Anmeldung am Server erfolgt mit einem Benutzernamen und einem Passwort. | |||
* Der Befehlssatz des Servers muss ASCII, CWD, DELE, GET, NLST und STOR umfassen<ref>https://en.wikipedia.org/wiki/List_of_FTP_commands</ref> | |||
{{Tipp1|Neben den branchenspezifischen Schnittstellen (KOLLEX, OctopusOrder, Gastivo) unterstützt die Anwendung auch EDI-Formate}} | |||
==Bereitstellung von Daten== | ==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. | Im einfachsten Fall werden Stammdaten als [[wikipedia:de:CSV_%28Dateiformat%29|CSV]]-Daten bereitgestellt und auf einen [[wikipedia:de:File_Transfer_Protocol|FTP]]-Server übertragen. Die Auftragsdaten werden als [[wikipedia:de:Extensible_Markup_Language|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 [[Aufträge_importieren|hier]]. | * Informationen für die Auftragsverarbeitung finden Sie [[Aufträge_importieren|hier]]. | ||
* Die Einstellungen für für den Datenaustausch mit WEBDRINK finden Sie [[WEBDRINK-Schnittstelle|hier]]. | * Die Einstellungen für für den Datenaustausch mit WEBDRINK finden Sie [[WEBDRINK-Schnittstelle|hier]]. | ||
* Die Einstellungen für für den Datenaustausch mit Shopware oder Magento u.ä. finden Sie [[ | * Die Einstellungen für für den Datenaustausch mit Shopware oder Magento u.ä. finden Sie [[WEBDRINK-Schnittstelle|hier]]. | ||
==Stammdatenexport als CSV== | ==Stammdatenexport als CSV== | ||
Die Daten werden mit einer FTP-Verbindung übertragen. Nach erfolgreichem Verbindungsaufbau werden die [[wikipedia:de:CSV_%28Dateiformat%29|CSV]]-Daten in einem zu definierenden Ordner kopiert. | |||
===Formatkennzeichen=== | |||
{ | {| class="wikitable" | ||
! Zeichen !! Bedeutung !!Format | |||
|- | |||
| A || Eindimensionaler String || UTF-8, ohne Delimiter | |||
|- | |||
| N || Gleitkommazahl || (-)n0,n, maximal 32-Bit | |||
|- | |||
| I || Ganzzahl || (-)i, maximal 32-Bit | |||
|- | |||
| B || Logischer Wert || True/False oder Wahr/Falsch, ohne Delimiter | |||
|- | |||
| D || Datum || ISO 8601 JJJJ-MM-TT, Zeitanteil wird ignoriert | |||
|- | |||
| T|| |Uhrzeit || ISO 8601 hh:nn:ss, Millisekunden werden ignoriert | |||
|- | |||
| @ || Zeitstempel || JJJJ-MM-TT hh:nn:ss, Millisekunden werden ignoriert | |||
|} | |||
===Feldbeschreibungen Datei "Kunden.csv“=== | ===Feldbeschreibungen Datei "Kunden.csv“=== | ||
Nachfolgend wird ein Kundendatensatz beschrieben. | |||
<!--////////// Tabelle ANFANG //////////--> | <!--////////// Tabelle ANFANG //////////--> | ||
{| class="wikitable" | :{| class="wikitable" style="text-align:left" | ||
! style="background:#B3B7FF" | Feld | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | 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 | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Optional: Feldbeschreibungen Datei "Lieferadressen.csv“=== | |||
Nachfolgend wird ein Adressdatensatz beschrieben. Diese Liste enthält zusätzliche Adressen eines Kunden. Die Datei ist optional. Sind keine Zusatzadressen vorhanden, wird die Baissadresse des Kundendatensatzes als Lieferadresse verwendet. | |||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Feld | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | 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 | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Feldbeschreibungen Datei "Artikel.csv“=== | |||
Nachfolgend wird ein Artikeldatensatz beschrieben. | |||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Feld | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | 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 | |||
|} | |} | ||
<!--////////// Tabelle ENDE //////////--> | <!--////////// Tabelle ENDE //////////--> | ||
===Optional: Feldbeschreibungen Datei "Favoriten.csv“=== | ===Optional: Feldbeschreibungen Datei "Favoriten.csv“=== | ||
//-> | Nachfolgend wird ein Kundensortimentsdatensatz beschrieben. Diese Liste enthält die bisher bestellten Artikel eines Kunden. Die Datei ist optional. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Feld | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Information | |||
|- | |||
|KDNr | |||
|A20 (eingeschränkter Zeichensatz) | |||
|Eindeutige Identnummer des Kunden | |||
|- | |||
|ArtNr | |||
|A20, eingeschränkter Zeichensatz | |||
|Eindeutige Identnummer des Artikels | |||
|- | |||
|Anzahl | |||
|I | |||
|übliche Bestellmenge | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Optional: Feldbeschreibungen Datei "Sonderpreise.csv“=== | ===Optional: Feldbeschreibungen Datei "Sonderpreise.csv“=== | ||
//-> | Nachfolgend wird eine Tabelle mit kundenspezifischen oder zeitlich beschränkten Sonderpreisen beschrieben. Die Datei ist optional. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Feld | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | 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 | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
{{Hinweis|'''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.}} | |||
==Auftragsimport als XML== | ==Auftragsimport als XML== | ||
/ | Die Daten werden mit einer FTP-Verbindung übertragen. Nach erfolgreichem Verbindungsaufbau werden die [[wikipedia:de:Extensible_Markup_Language|XML]]-Daten aus einem zu definierenden Ordner geladen. | ||
'''Folgende Standards werden vereinbart:''' | |||
* Elemente ohne Daten werden [[wikipedia:de:Extensible_Markup_Language|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. | |||
* Der Name der [[wikipedia:de:Extensible_Markup_Language|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}} | |||
===Entität "Order"=== | ===Entität "Order"=== | ||
//-> | Nachfolgend die Entitäten, in welche sich der Tag <order></order> unterteilt. Da ausschließlich eine Bestellung pro Datei dargestellt wird, ist dieses Tag einmalig. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Entität | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Beispiel | |||
!! style="background:#B3B7FF" | Erläuterungen | |||
|- | |||
|<orderID> | |||
|I | |||
|5456 | |||
|Auftragsnummer des WebShop | |||
|- | |||
|<ip> | |||
|A | |||
|91.53.190.30 | |||
|IP-Adresse des Kunden während der Bestellung | |||
|- | |||
|<orderDate> | |||
|@ | |||
|2012-06-02 14:15:45 | |||
|Bestellzeitpunkt | |||
|- | |||
|<deliveryDate> | |||
|D | |||
|2012-07-02 | |||
|Lieferdatum | |||
|- | |||
|<deliveryPeriod> | |||
|A | |||
|Vormittags | |||
|Kommentar zur Bestellung | |||
|- | |||
|<comment> | |||
|A | |||
|Leergut steht im Garten | |||
|Kommentar zur Bestellung | |||
|- | |||
|<payment> | |||
|A (Auswahl) | |||
|bankCollection | |||
|Cash (Bar), Invoice (Rechnung), bankCollection (Einzug), paypal (PayPal) | |||
|- | |||
|<priceMode> | |||
|A (Auswahl) | |||
|gross | |||
|gross (Brutto), net (Netto) | |||
|- | |||
|<taxRate> | |||
|N (10.2) | |||
|19.00 | |||
|Mehrwertsteuersatz | |||
|- | |||
|<merchandiseValue> | |||
|N (10.2) | |||
|75.69 | |||
|Warenwert | |||
|- | |||
|<deliveryCosts> | |||
|N (10.2) | |||
|0.00 | |||
|Lieferkosten | |||
|- | |||
|<smallVolumePurchase> | |||
|N (10.2) | |||
|0.00 | |||
|Mindermengenzuschlag | |||
|- | |||
|<discountPercent> | |||
|N (10.2) | |||
|3.00 | |||
|3% Rabatt auf den Warenwert | |||
|- | |||
|<discountFix> | |||
|N (10.2) | |||
|5.45 | |||
|Gutscheineinlösung | |||
|- | |||
|<sumTotal> | |||
|N (10.2) | |||
|75.69 | |||
|Gesamtbetrag inklusive Rabatte, Lieferkosten, Zuschläge, Gutscheine, Mehrwertsteuer | |||
|- | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
{{Hinweis|Abhängig vom <priceMode> werden die Preise Brutto oder Netto übergeben. Ausnahme ist der Wert <sumTotal>, welcher immer die Gesamtsumme inklusive der gesetzlichen Steuer enthält.}} | |||
{{Hinweis|Die Tags <discountPercent und <discountFix> definieren mögliche Rabatte sowie Gutscheine. Bei prozentualen Rabatten sind diese direkt in den Artikelpreisen berücksichtigt. Bei einem Einmalbetrag werden die Werte in dem Tag <sumTotal> berücksichtigt.}} | |||
===Entität "Article"=== | ===Entität "Article"=== | ||
//-> | Nachfolgend wird dokumentiert in welche Entitäten sich der Tag <article></article> unterteilt, welcher sich innerhalb von order befindet. Der Tag kann je nach Anzahl unterschiedlicher Artikel mehrfach hintereinander erscheinen. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Entität | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Beispiel | |||
!! style="background:#B3B7FF" | Erläuterungen | |||
|- | |||
|<amount> | |||
|N | |||
|3 | |||
|Anzahl | |||
|- | |||
|<articleNumber> | |||
|A | |||
|301012 | |||
|Artikelnummer | |||
|- | |||
|<name> | |||
|A | |||
|Coca Cola | |||
|Bezeichnung | |||
|- | |||
|<package> | |||
|A | |||
|12x1,0 | |||
|Gebindeformat | |||
|- | |||
|<price> | |||
|N (10.2) | |||
|11.99 | |||
|Einzelpreis | |||
|- | |||
|<deposit> | |||
|N (10.2) | |||
|3.30 | |||
|Pfandwert | |||
|- | |||
|<taxRate> | |||
|N (10.2) | |||
|19.00 | |||
|Mehrwertsteuersatz | |||
|- | |||
|<ean> | |||
|A | |||
|4008287077018 | |||
|EAN Code | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Entität "DeliveryDetails"=== | ===Entität "DeliveryDetails"=== | ||
//-> | Nachfolgend wird dokumentiert in welche Entitäten sich der Tag <deliveryDetails></deliveryDetails> unterteilt, welcher sich innerhalb von order befindet. Sofern es keine Lieferdetails gibt, ist dieser Tag nicht enthalten. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Entität | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Beispiel | |||
!! style="background:#B3B7FF" | Erläuterungen | |||
|- | |||
|<type> | |||
|A (Auswahl) | |||
|flat | |||
|flat=Anfahrtspauschale, article=Artikelaufschlag, individual=individuell | |||
|- | |||
|<name> | |||
|A | |||
|Anfahrtspauschale | |||
|Name | |||
|- | |||
|<price> | |||
|N 10.2 | |||
|5.99 | |||
|Preis (Brutto) | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Entität "Customer"=== | ===Entität "Customer"=== | ||
//-> | Folgende Entitäten sind bei dem Tag <customer></customer> enthalten. Das Tag <customer> ist pro Bestellung einmalig. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Entität | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Beispiel | |||
!! style="background:#B3B7FF" | Erläuterungen | |||
|- | |||
|<wdCustomerID> | |||
|I | |||
|5456 | |||
|Interne Kundennummer | |||
|- | |||
|<customerNumber> | |||
|A20 | |||
|1101 | |||
|FAKTURA-X Kundennummer | |||
|- | |||
|<street> | |||
|A | |||
|Musterstraße | |||
|Straße | |||
|- | |||
|<streetNumber> | |||
|A | |||
|10 | |||
|Hausnummer | |||
|- | |||
|<additionalAddressInformation | |||
|A | |||
|5. Etage | |||
|Zusatz | |||
|- | |||
|<postcode> | |||
|A | |||
|35708 | |||
|Postleitzahl | |||
|- | |||
|<town> | |||
|A | |||
|Haiger | |||
|Ort | |||
|- | |||
|<title> | |||
|A | |||
|Herr Prof. Dr. | |||
|Anrede | |||
|- | |||
|<company> | |||
|A | |||
|Mustermann AG | |||
|Firma | |||
|- | |||
|<name> | |||
|A | |||
|Mustermann | |||
|Name | |||
|- | |||
|<firstName> | |||
|A | |||
|Max | |||
|Vorname | |||
|- | |||
|<phone> | |||
|A | |||
|02773-12345 | |||
|Telefon | |||
|- | |||
|<fax> | |||
|A | |||
|02773-12346 | |||
|Telefax (optional) | |||
|- | |||
|<mobile> | |||
|A | |||
|0175-1234567 | |||
|Mobiltelefon (optional) | |||
|- | |||
|<email> | |||
|A | |||
|info@mail.de | |||
|E-Mail | |||
|- | |||
|<registrationDate> | |||
|@ | |||
|YYYY-MM-DD HH:NN:SS | |||
|Registrierungstag | |||
|- | |||
|<newsletter> | |||
|I (0..1) | |||
|0 | |||
|0= Keine Newsletter, 1=Newsletter | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Entität "DeliveryAddress"=== | ===Entität "DeliveryAddress"=== | ||
//-> | Der Tag <deliveryAddress></deliveryAddress> innerhalb von customer ist nur vorhanden, wenn eine abweichende Lieferadresse existiert. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Entität | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Beispiel | |||
!! style="background:#B3B7FF" | Erläuterungen | |||
|- | |||
|<street> | |||
|A | |||
|Musterstraße | |||
|Straße | |||
|- | |||
|<streetNumber> | |||
|A | |||
|10 | |||
|Hausnummer | |||
|- | |||
|<additionalAddressInformation | |||
|A | |||
|5. Etage | |||
|Zusatz | |||
|- | |||
|<postcode> | |||
|A | |||
|35708 | |||
|Postleitzahl | |||
|- | |||
|<town> | |||
|A | |||
|Haiger | |||
|Ort | |||
|- | |||
|<title> | |||
|A | |||
|Herr Prof. Dr. | |||
|Anrede | |||
|- | |||
|<company> | |||
|A | |||
|Mustermann AG | |||
|Firma | |||
|- | |||
|<name> | |||
|A | |||
|Mustermann | |||
|Name | |||
|- | |||
|<firstName> | |||
|A | |||
|Max | |||
|Vorname | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
===Entität "BankDetails"=== | ===Entität "BankDetails"=== | ||
//-> | Der Tag <bankDetails></bankDetails> innerhalb von customer ist nur vorhanden, wenn diese hinterlegt ist. Bitte beachten Sie, dass der tag <payment></payment> innerhalb von <order> den Wert "bankCollection" enthält, sofern der Kunde bei dieser Bestellung Bankeinzug wünscht. | ||
<!--////////// Tabelle ANFANG //////////--> | |||
:{| class="wikitable" style="text-align:left" | |||
! style="background:#B3B7FF" | Entität | |||
!! style="background:#B3B7FF" | Typ | |||
!! style="background:#B3B7FF" | Beispiel | |||
!! style="background:#B3B7FF" | Erläuterungen | |||
|- | |||
|<accountOwner> | |||
|A | |||
|Max Mustermann | |||
|Kontoinhaber | |||
|- | |||
|<accountNumber> | |||
|A | |||
|1234567890 | |||
|Kontonummer (obsolet) | |||
|- | |||
|<bankCode> | |||
|A | |||
|41650001 | |||
|BLZ (obsolet) | |||
|- | |||
|<bank> | |||
|A | |||
|Sparkasse | |||
|Bank (obsolet) | |||
|- | |||
|<Iban> | |||
|A | |||
|DE67416500011234567890 | |||
|IBAN | |||
|- | |||
|<bic> | |||
|A | |||
|WELADED1LIP | |||
|BIC (kann leer belieben) | |||
|} | |||
<!--////////// Tabelle ENDE //////////--> | |||
==Beispieldateien== | ==Beispieldateien== | ||
//-> | Das folgende Listing veranschaulicht eine Auftragsdatei. Die zugehörige XML-Datei "2012-02-06-105730-5432.xml" kann [[https://www.fakturax.de/files/2012-02-06-105730-5432.xml 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> | |||
= Einzelnachweise = | |||
<references /> | |||