Das Dokument SalesReport dient zur Meldung von Abverkäufen von Artikeln beim Optiker an den Lieferanten. Der beständige Datenaustausch zwischen Verkaufsstellen (Geschäften/Filialen) und dem Hersteller garantiert, dass der Hersteller stets die exakte Menge an Produkten beim Kunden vor Ort kennt und kann so sicher stellen, dass die gewünschte Menge an Artikeln beim Kunden vor Ort verfügbar ist und für Statistikzwecke genutzt werden kann.
Das Format für den Statusaustausch basiert auf dem Katalog-Format Catalog.xml
.
Für eine einfache Realisierung der Abverkaufsmeldung ist nur eine kleine Anzahl von Informationen erforderlich. Für die verschiedenen Anwendungsfälle können zusätzlich weitere Informationen übergeben werden.
Das Dokument SalesReport dient dem Austausch von Verkaufs-Informationen während eines bestimmten Zeitraum für die Statistik und die Lagerverwaltung. Es gibt zwei möglich Anwendungsfälle. Der erste Fall (Standardfall) ist der SalesReport für ein bestimmtes Geschäft oder eine Geschäftseinheit. Der zweite Fall ist der SalesReport für eine Kette. In diesem Fall beinhaltet der SalesReport Verkaufsinformationen für alle oder eine Gruppe von Geschäftseinheiten (Läden) einer Kette. In diesem Fall hat jede Verkaufsstelle eine clientID um die entsprechende Geschäftseinheit (Laden/Filiale) zu identifizieren. Der Extrakt der Verkäufe für eine bestimmte Geschäftseinheit (Laden) ist durch das Sortieren nach einer ClientID möglich.
Eine Abverkaufsmeldung bezieht sich immer auf einen bestimmten Zeitraum, der im Dokument angegeben werden muss.
Die Validierung erfolgt auf Basis der jeweils aktuellsten Schema-Version. Diese ist unter folgender Url erreichbar:
Das Dokument SalesReport besteht aus den drei Haupt-Elementen SalesReport
,
SalesReportItem
und Client
.
SalesReport
¶Das Element SalesReport
besteht mindestens aus den Attributen generationDate
,
salesReportID
, salesStartDate
, salesEndDate
, schemaMajorVersionID
,
supplierID
und schemaMajorVersionID
sowie den Elementen Client
und SalesItems
.
Das Element SalesItems
kann aus einem oder mehreren Elementen SalesItem
bestehen.
Generell können Artikel auf zwei Arten beschrieben werden. Entweder über eine eindeutige ID, die genau eine Variante (SKU) definiert (z.B. EAN oder UPC-Code) oder über die Artikel-ID (Modellnummer bei Fassungen) und die zur Identifizierung der Variante erforderlichen Features (im Katalog als bestellrelevant definierten Produkteigenschaften).
Example XML-Code:
<SalesReport xsi:noNamespaceSchemaLocation= "http://templates.look4optics.com/v_2_0/SalesReport.xsd" schemaMajorVersionID="1" schemaMinorVersionID="13" generationDate="2017-02-11T09:52:23.9305444+02:00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" currency="EURO" corporateOfficeType="headquarter" salesStartDate="2017-02-01T09:52:23.9305444+02:00" salesEndDate="2017-02-31T09:52:23.9305444+02:00" salesReportID="SR-20101221105912-123" salesReportName="Test sales report" supplierID="DE813058544" generatorInfo="XML-SPY"> <Client clientID="31024" clientName="Karl Friedrich GmbH"> <Addresses> <Address addressID="1" addressType="MainAddress" name="Karl Friedrich GmbH" street="Strasse 123" zip="54332" city="Koeln" isoCountryCode="DE" phone="+49-12345-65498" fax="+49-12345-65498" clientType="Retailer"/> </Addresses> </Client> <SalesReportItems> <SalesReportItem articleID="L0505" articleName="Biomedics 1 day UV (30er Box)" clientID="31024" clientName="Karl Friedrich GmbH" quantitySold="100" retailPrice="23.12"> <Configuration quantity="2"> <Feature templateID="Diameter" selectedValue="14.20"/> <Feature templateID="RadiusBasecurve" selectedValue="8.70"/> <Feature templateID="Sphere" selectedValue="-9.00"/> </Configuration> </SalesReportItem> <SalesReportItem articleID="L0220" articleName="Proclear Toric (6er Box)" clientID="31024" clientName="Karl Friedrich GmbH" quantitySold="110" retailPrice="19.12"> <Configuration quantity="3"> <Feature templateID="Diameter" selectedValue="14.40"/> <Feature templateID="RadiusBasecurve" selectedValue="8.80"/> <Feature templateID="Sphere" selectedValue="-7.00"/> <Feature templateID="Cylinder" selectedValue="-1.25"/> <Feature templateID="AxisCylinder" selectedValue="70"/> </Configuration> </SalesReportItem> <SalesReportItem articleID="02030" articleName="Aigner 02030-00001" clientID="31024" clientName="Karl Friedrich GmbH" quantitySold="100" retailPrice="39"> <Configuration quantity="3"> <Feature templateID="FrameColour" selectedValue="silver"/> <Feature templateID="LensColour" selectedValue="polar gray"/> <Feature templateID="FrameTempleLength" selectedValue="125"/> </Configuration> </SalesReportItem> <SalesReportItem articleID="L7928" articleName="Trient 1256" clientID="31024" clientName="Karl Friedrich GmbH" quantitySold="80" retailPrice="49"> <Configuration quantity="1"> <Feature templateID="EanCode" selectedValue="4026587082069"/> </Configuration> </SalesReportItem> </SalesReportItems> </SalesReport>
Attribute | Type / Use | Description / Example |
---|---|---|
corporateOfficeType |
xs:NMTOKEN optional |
(z.B. headquarter ) |
currency |
xs:string |
(z.B. EURO ) |
generationDate |
xs:dateTime required |
(z.B. 2011-02-11T11:48:34 ) |
generatorInfo |
xs:string required |
(z.B. Look4 Webservices Test ) |
salesEndDate |
xs:dateTime required |
(z.B. 2011-05-28T22:09:00.0000000+02:00 ) |
salesReportID |
xs:string required |
(z.B. SR-2011-03-21-campain summertime ) |
salesReportName |
xs:string optional |
(z.B. Sales report for campain "summertime" ) |
salesStartDate |
xs:dateTime required |
(z.B. 2011-07-28T22:12:00.0000000+02:00 ) |
schemaMajorVersionID |
xs:integer required |
(z.B. 1 ) |
schemaMinorVersionID |
xs:integer required |
(z.B. 0 ) |
supplierID |
xs:string required |
(z.B. 012345 ) |
SalesReportItem
¶Example XML-Code:
<SalesReportItem articleID="L0505" articleName="Biomedics 1 day UV (30er Box)" recommendedRetailPrice="23.12" articleGroupCode="AGBC" articleGroupDescription="contact lenses" articleGroupCodeRetailer="123456" brand="Biomedics" clientID="31024" clientName="Karl Friedrich GmbH" purchasePrice="40" quantitySold="100" retailPrice="23.12"> <Configuration quantity="2"> <Feature templateID="Diameter" selectedValue="14.20"/> <Feature templateID="RadiusBasecurve" selectedValue="8.70"/> <Feature templateID="Sphere" selectedValue="-9.00"/> </Configuration> </SalesReportItem>
Attribute | Type / Use | Description / Example |
---|---|---|
articleGroupCode |
xs:string optional |
(z.B. B-451 ) |
articleGroupCodeRetailer |
xs:string optional |
(z.B. CL-soft ) |
articleGroupDescription |
xs:string optional |
(z.B. C-2716 ) |
articleID |
xs:string required |
(z.B. A2780 ) |
articleName |
xs:string optional |
(z.B. Smith Optics Ltd. ) |
brand |
xs:string optional |
(z.B. Zeiss ) |
clientID |
xs:string |
(z.B. 012345 ) |
clientName |
xs:string optional |
(z.B. Smith Optics Ltd. ) |
eanCode |
xs:string optional |
EAN-Code, 13 Ziffern (z.B. 7234567891234 ) |
grossUnitPrice |
xs:decimal optional |
(z.B. 12 ) |
purchasePrice |
xs:decimal optional |
(z.B. 10 ) |
quantitySold |
xs:decimal required |
(z.B. 10 ) |
recommendedRetailPrice |
xs:decimal optional |
(z.B. 20,50 ) |
retailPrice |
xs:decimal optional |
(z.B. 14 ) |
storeReceiptNumber |
xs:string optional |
(z.B. ST-312- ) |
transactionType |
xs:NMTOKEN optional |
(z.B. sale ) |
upcCode |
xs:string optional |
UPC-Code, 12 Ziffern (z.B. 723456789123 ) |
TransactionType
¶Das Attribut TransactionType ermöglicht es, neben der klassischen Inventursliste weitere Informationen an den Hersteller zu übermitteln, die es diesem ermöglicht den genauen Lagerbestand beim Optiker zu kennen bzw. zu berechnen. Vorgänge, die den Lagerbestand beeinflussen, wie Diebstahl oder Rücknahme eines bereits verkauften Artikels können so dem Lieferanten gemeldet werden.
sale: | Abverkauf (wird für jeden Abverkauf eines Artikels verwendet / analog bzw. alternativ zum Austausch im SalesReport auch in InventoryReport möglich) |
---|---|
returnOfRegularSale: | |
Rücknahme bereits verkaufter Ware (gekaufte Ware vom Endkunden retourniert) | |
recallConfirmation: | |
Rücksendebestätigung an Hersteller (wird verwendet, um die Anzahl der an Hersteller retournierten Artikel anzugeben) | |
damagedItem: | Beschädigte Ware (wird verwendet, wenn ein Produkt beschädigt ist. Hersteller wird hiermit in Kenntnis gesetzt, dass der Filiale ein Ersatz zukommen muss) |
stolenItem: | Gestohlene Ware (wird verwendet, um einen Diebstahl zu melden) |
negativeShipmentAdjustment: | |
Mindermenge bei Lieferung (wird verwendet, wenn ein Teil der Lieferung fehlt. Es verringert vorübergehend den Lagerbestand, bis Ersatz eintrifft.) | |
positiveShipmentAdjustment: | |
Übermenge bei Lieferung (wird verwendet, wenn mehr Artikel geliefert wurden wie bestellt. Es erhöht vorübergehend den Lagerbestand.) | |
physicalInventory: | |
Tatsächlicher Lager-Bestand (Lagerbestand nach durchgeführter Inventur) | |
transferToOtherShop: | |
Lieferung an andere Filiale (wird verwendet, wenn ein Produkt von einer Filiale in eine andere Filiale des Kunden überführt wird. Dies senkt den im System erfassten Lagerbestand der ausgebenden Filiale und ermöglicht so eine korrekte Nachlieferung) | |
transferFromOtherShop: | |
Lieferung von anderer Filiale (wird verwendet, wenn ein Produkt von einer anderen Filiale in die berichtende Filiale überführt wird. Dies erhöht den im System erfassten Lagerbestand der Filiale.) |
Hinweis: Für jede Transaktion zwischen zwei Kunden-Filialen, die eine Modelvariante (SKU) betreffen,
kann es sinnvoll sein, sowohl Transaktion transferToOtherShop
als auch transferFromOtherShop
zu übermitteln.
Client
¶Das Element Client
beinhaltet alle Informationen zum Kunden an den die Ware versendet wird.
Es beinhaltet ein Unter-Element Addresses
mit mindestens einem Unter-Element
Address
in dem die Adresse definiert wird.
Example XML-Code:
<Client clientID="31024" clientName="Karl Friedrich GmbH"> <Addresses> <Address addressID="1" addressType="MainAddress" name="Karl Friedrich GmbH" street="Strasse 123" zip="54332" city="Koeln" isoCountryCode="DE" phone="+49-12345-65498" fax="+49-12345-65498" email="infotest@optik-friedrich.de" clientBranchID="1598523698521" clientType="Retailer"/> </Addresses> </Client>
Client
¶Attribute | Type / Use | Description / Example |
---|---|---|
clientID |
xs:NMTOKEN required |
(z.B. 012345 ) |
clientGlnCode |
xs:string |
(z.B. 4312345678902 ) |
clientName |
xs:NMTOKEN optional |
(z.B. Smith Optics Ltd. ) |
clientBranchID |
xs:string optional |
(z.B. B-1234 ) |
clientType |
xs:NMTOKEN optional |
(z.B. Retailer ) |
responseMail |
xs:string optional |
(z.B. response@optician-test-smith.co.uk ) |