Operation: SaleTransmitB2B
Verkäufe
Ein typisches Szenario ist, dass ein Lieferant gerne die Verkäufe seiner Händler kennen möchte, um interne Auswertung mit diesen Daten zu ermöglichen und damit sein Sortiment optimal auf den Markt abstimmen kann.
Rahmennummern
Ein weiteres Szenario ist, dass über die Verkaufsübermittlung auch die Rahmennummer eines verkauften Fahrrads übermittelt werden kann. Das kann bei Lieferanten eingesetzt werden um Garantie- und Servicefälle schneller zu bearbeiten.
Für beide Szenarien gilt:
Verkaufsidentifikation (ID, SaleTransmitB2BLine)
Damit einzelne Verkäufe vom Client bzw. Server jederzeit wieder eindeutig identifiziert werden können - z.B. beim Abruf des Status einer Übertragungstransaktion - wird jeder Verkauf mit einer eindeutigen ID versehen. Diese ID kann vom client frei vergeben werden (z.B. ein Hashwert, timestamp oder eine UUID).
Damit ist es auch möglich Verkäufe mehrfach zu übertragen. Der Server kann anhand der ID erkennen, ob dieser Verkauf schonmal übermittelt wurde und diesen Datensatz ggf. aktualisieren. Die Angabe ist Pflicht.
Artikelidentifikation (SellersItemIdentification, SaleTransmitB2BLine)
Zur Identifikation eines Artikels reicht die Bestellnummer des Lieferanten (SellersItemIdentification), da diese beiden Partnern bekannt ist. Die Angabe ist Pflicht. Es kann auch sinnvoll sein, die Artikelnummer des Händlers (BuyersItemIdentification) zu übermitteln, um bei der Response des Servers eine eindeutige Identifikation des Artikels in der Warenwirtschaft des Händlers zu ermöglichen. (Der Artikel könnte in der WaWi des Händlers doppelt mit zwei unterschiedlichen Nummern angelegt sein.) Die Angabe ist optional.
Verkaufte Menge (QuantityFraction, SaleTransmitB2BLine)
Bei der Übermittlung eines Verkaufs ist auch die verkaufte Menge des Artikels mit anzugeben. Diese wird als Teilmenge der vom Lieferanten übermittelten Verkaufseinheit angegeben. Die Menge kann damit als Dezimalzahl angegeben werden mit maximal 4 Nachkommastellen (Falls eine noch kleinere Teilmenge nötig sein sollte muss an dieser Stelle gerundet werden). Die Angabe ist Pflicht.
Beispiele:
In den abgerufenen Artikeldaten eines Fahrradherstellers ist die Verkaufseinheit mit “EA” angegeben. Es wurde ein Fahrrad verkauft. Damit wird im übermittelten Verkauf die verkaufte Menge als “1” angegeben.
In den abgerufenen Artikeldaten eines Teilelieferanten ist die Verkaufseinheit mit “PK” angegeben. Ein Paket enthält 100 einzelne Stück des Artikels. Es wurde nun ein einzelner Artikel aus einem Paket verkauft. Damit wird im übermittelten Verkauf die verkaufte Menge als “0,01” angegeben.
Verkaufsdatum (SaleDate, SaleTransmitB2BLine)
Bei der Übermittlung (SaleTransmitB2BRequest) ist ein Zeitpunkt anzugeben zu welchem dieser Verkauf statt gefunden hat. Die Angabe ist Pflicht.
Verkaufspreis (SaleTransmitB2BLine)
Über die Attribute SalesPriceGross
und SalesPriceNet
kann der Verkaufspreis als Burtto/Netto übermittelt werden. Die Angabe ist optional.
Referenz zum Verkaufsdokument (SaleTransmitB2BLine)
Über das Attribute DocumentNumber
kann die Referenz zu einem Dokument (z.B. Rechnung) übermittelt werden. Die Angabe ist optional.
Postleitzahl (SaleTransmitB2BLine)
Über das Attribute PostalCode
kann die Postleitzahl des Verkaufs übermittelt werden. Die Angabe ist optional.
Verkaufskanal (SaleTransmitB2BLine)
Über das Attribute SalesChannel
kann der Verkaufskanal des Verkaufs übermittelt werden.
Der Verkaufskanal kann folgende Werte haben:
RETAIL (Verkauf im Ladengeschäft)
ONLINE (Verkauf über Webshop)
LEASING (Verkauf über Leasinganbieter)
PARTNER (Verkauf über einen Partner)
Die Angabe ist optional.
Übermittlung von Seriennummern (SaleTransmitB2BLine)
Neben den reinen Verkaufsdaten können über das Attribut SerialNumbers
auch Seriennummern übermittelt werden. Dies erfolgt nach dem gleichen Schema wie im Modul receipt.
Beispiel: Beim Verkaufs eines Fahrrads wird direkt die Rahmennummer des verkauften Rads übergeben. Der Lieferant hinterlegt dies in seinen internen Daten und kann in einem Garantiefall bei Angabe der Rahmennummer sehr schnell die korrekten Daten in den internen System zur Bearbeitung finden.
Antwort (SaleTransmitB2BResponse)
Der Server muss in einer ersten, sofortigen Antwort (SaleTransmitB2BResponse) den Eingang bzw. die Verarbeitung des Uploads bestätigen und eine Transaktions-ID übermitteln.
Hierbei gelten folgende Transaction States:
84 = Daten werden importiert
85 = Daten wurden Importiert, ab jetzt kann der Status zurückgeliefert werden
184 = Transaktion geschlossen. Status kann nicht mehr zurückgeliefert werden
Status
Verarbeitungsprotokoll (GetStatusSaleTransmitB2BRequest)
Nach einem erfolgreichen SaleTransmit kann sich der Client (z.B. WaWi) des Händlers mit der entsprechenden TransactionID per Request (GetStatusSaleTransmitB2BRequest) ein Protokoll der Verarbeitung abrufen.
Ist die im Request übergebene TransactionID unbekannt wird ein ResponseCode 420 zurückgeliefert.
Ist die referenzierte Transaktionsinstanz nicht in einem Zustand siehe oben wird ein ResponseCode 430 zurückgeliefert.
Hierbei gelten folgende Transaction States:
84 = Daten werden noch importiert
85 = Daten wurden Importiert, der Status wird zurückgeliefert
184 = Transaktion geschlossen. Status kann nicht mehr zurückgeliefert werden
Antwort (GetStatusSaleTransmitB2BResponse)
Die Antwort (GetStatusSaleTransmitB2BResponse) ist in Form einer Verkaufs-Liste (SaleTransmitB2BResponseLine) mit folgenden Angaben pro Artikel:
ID (Eindeutige vom Client vergebene ID des Verkaufs) Pflicht
Lieferantenartikelnummer (SellersItemIdentification) Pflicht
Händlerartikelnummer (BuyersItemIdentification) (wenn im Request übertragen)
Verkaufte Menge (QuantityFraction) Pflicht
Verkaufsdatum Pflicht
Die Liste kann in Pakete aufgeteilt sein, die Client und Server miteinander aushandeln
(vergleichbar mit der Transaktion TextSearch).