Formatbeschreibung: SalesReport

Allgemeines

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.

Aufbau des Formates für Austausch von Abverkäufen

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:

http://templates.look4optics.com/v_2_0/SalesReport.xsd

Dokumenten-Aufbau

Das Dokument SalesReport besteht aus den drei Haupt-Elementen SalesReport, SalesReportItem und Client.

Detaillierte Formatbeschreibung

Element 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)

Element 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)

Standardwerte für das Attribut 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.

Element 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>

Attribute des Elements 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)
Impressum