The SalesReport document is used for the reporting of sales of articles at the optician to the supplier. The constant data exchange between points of sale (shops/stores) and the manufacturer guarantees that the manufacturer always knows the exact amount of products at the customer site and so can ensure that the desired quantity of products at the customer site is available and can be used for statistical purposes.
The format for the exchange of sales data is based on the catalog format Catalog.xml
.
Only a small amount of information is required for a simple implementation of the sales report. Additional information can be passed for the different use cases.
The document SalesReport serves to exchange information of sales during a period for statistics and stock control. There are two use cases possible. The first (standard case) is the Sales report for one specific shop or business unit. The second case is the sales report for a chain. In this case the sales report contains sales information for all or a group of business units (shops) of a chain. In this case each salesItem has a clientID to identify the corresponding business unit (shop/branch). The extract of the sales for one specific business unit (shop) is possible by sorting on a clientID.
A sales report always refers to a specific time, which must be specified in the document.
The validation is performed on the basis of the most up-to-date schema version. This is available at the following URL:
The document SalesReport consists of the three main elements SalesReport
,
SalesReportItem
and Client
.
SalesReport
¶The element SalesReport
at least consists of the attributes generationDate
,
salesReportID
, salesStartDate
, salesEndDate
, schemaMajorVersionID
,
supplierID
and schemaMajorVersionID
as well as the elements Client
and SalesItems
.
The element SalesItems
can consist of one or more elements SalesItem
.
Generally, articles can be described in two ways. Either with an unique ID that defines exactly a variant (SKU) (e.g., EAN or UPC code) or with an article ID (model number at frames) and the features that are required to identify the variant (in the catalog as order relevant defined product features).
Example XML code:
<SalesReport xsi:noNamespaceSchemaLocation= "http://templates.look4optics.com/v_2_0/SalesReport.xsd" schemaMajorVersionID="1" schemaMinorVersionID="2" 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="Eyewear Solutions LTD"> <Addresses> <Address addressID="1" addressType="MainAddress" name="Eyewear Solutions LTD" street="152 Chiswick High Road" zip="W4 1PR" city="London" isoCountryCode="UK" phone="+44 208 4517 123" fax="+44 208 4517 123" clientType="Retailer"/> </Addresses> </Client> <SalesReportItems> <SalesReportItem articleID="L0505" articleName="Biomedics 1 day UV (30er Box)" clientID="31024" clientName="Eyewear Solutions LTD" 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="Eyewear Solutions LTD" 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="Eyewear Solutions LTD" 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="Eyewear Solutions LTD" 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 |
Corporate office type (e.g. headquarter ) |
currency |
xs:string |
Currency (e.g. EURO ) |
generationDate |
xs:dateTime required |
Date and time of generation (e.g. 2011-02-11T11:48:34 ) |
generatorInfo |
xs:string required |
Information about the generation software (e.g. Look4 Webservices Test ) |
salesEndDate |
xs:dateTime required |
Start date for the sales (e.g. 2011-05-28T22:09:00.0000000+02:00 ) |
salesReportID |
xs:string required |
Id for this sales report document (e.g. SR-2011-03-21-campain summertime ) |
salesReportName |
xs:string optional |
Describing name for this sales report (e.g. Sales report for campain "summertime" ) |
salesStartDate |
xs:dateTime required |
End date for the sales (e.g. 2011-07-28T22:12:00.0000000+02:00 ) |
schemaMajorVersionID |
xs:integer required |
Major version number for the description of the current schema version (e.g. 1.x) (e.g. 1 ) |
schemaMinorVersionID |
xs:integer required |
Minor version number for the description of the current schema version (e.g. x.6) (e.g. 0 ) |
supplierID |
xs:string required |
Supplier ID (e.g. 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="Eyewear Solutions LTD" 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 |
Article group code at supplier (e.g. B-451 ) |
articleGroupCodeRetailer |
xs:string optional |
Code for the article group at the retailer (e.g. CL-soft ) |
articleGroupDescription |
xs:string optional |
Description of the article group (e.g. C-2716 ) |
articleID |
xs:string required |
Unique article number at supplier (e.g. A2780 ) |
articleName |
xs:string optional |
Article name (e.g. Smith Optics Ltd. ) |
brand |
xs:string optional |
Brand of the product (e.g. Zeiss ) |
clientID |
xs:string |
client ID (e.g. 012345 ) |
clientName |
xs:string optional |
Client name (e.g. Smith Optics Ltd. ) |
eanCode |
xs:string optional |
EAN-Code, 13-digit (e.g. 7234567891234 ) |
grossUnitPrice |
xs:decimal optional |
Gross price per unit (to be paid) (e.g. 12 ) |
purchasePrice |
xs:decimal optional |
Purchase price (e.g. 10 ) |
quantitySold |
xs:decimal required |
Sold quantity (e.g. 10 ) |
recommendedRetailPrice |
xs:decimal optional |
Recommended retail price (e.g. 20,50 ) |
retailPrice |
xs:decimal optional |
Retail price (e.g. 14 ) |
storeReceiptNumber |
xs:string optional |
Store receipt number (e.g. ST-312- ) |
transactionType |
xs:NMTOKEN optional |
TransactionType (sale, return,damage,..) (e.g. sale ) |
upcCode |
xs:string optional |
UPC-Code, 12-digit (e.g. 723456789123 ) |
TransactionType
¶With the attribute TransactionType
more information can be provided to the manufacturer, besides the classic
inventory list, which enables him to know or to calculate the exact stock on hand at the optician.
Operations that affect the stock, as theft or withdraw of an already sold article, therefore can be reported to
the supplier.
sale: | Sales (used for each sale of an article / analog or alternative to the exchange in the SalesReport also in InventoryReport possible) |
---|---|
returnOfRegularSale: | |
Redemption of already sold goods (purchased goods returned by the customer) | |
recallConfirmation: | |
Confirmation of reshipment to manufacturer (is used to specify the number of items returned to manufacturer) | |
damagedItem: | Damaged goods (used when a product is damaged. Manufacturer is hereby informed that a replacement must come to the branch) |
stolenItem: | Stolen goods (is used to report a theft) |
negativeShipmentAdjustment: | |
Insufficient quantity at delivery (used when a part is missing in the delivery. Reducing the stock temporarily, until replacement arrives.) | |
positiveShipmentAdjustment: | |
Superset of delivery (used if more articles were delivered as ordered. It temporarily increases the inventory.) | |
physicalInventory: | |
Actual inventory (stock after performed inventory) | |
transferToOtherShop: | |
Delivery to other branch (used when a product of the customer is transferred from a branch into a different branch. This lowers the issuing store inventory recorded in the system and therefore enables a correct replenishment) | |
transferFromOtherShop: | |
Delivery of other branch (used when a product is transferred from a different branch in the reporting branch. This increases the store inventory recorded in the system.) |
Note: For each transaction between two client branches, affecting a model version (SKU), it may be useful, to transfer
transferToOtherShop
as well as transferFromOtherShop
.
Client
¶The element Client
includes all information on the purchaser of the shipped goods.
It consists of a subelement Addresses
with at least one subelement
Address
in which one address is specified.
Example XML code:
<Client clientID="31024" clientName="Eyewear Solutions LTD"> <Addresses> <Address addressID="1" addressType="MainAddress" name="Eyewear Solutions LTD" street="152 Chiswick High Road" zip="W4 1PR" city="London" isoCountryCode="UK" phone="+44 208 4517 123" fax="+44 208 4517 123" email="infotest@optik-friedrich.de" clientBranchID="1598523698521" clientType="Retailer"/> </Addresses> </Client>
Client
¶Attribute | Type / Use | Description / Example |
---|---|---|
clientID |
xs:NMTOKEN required |
Client ID (e.g. 012345 ) |
clientGlnCode |
xs:string |
Client GLN code. (e.g. 4312345678902 ) |
clientName |
xs:NMTOKEN optional |
Client name (e.g. Smith Optics Ltd. ) |
clientBranchID |
xs:string optional |
Branch no. (e.g. B-1234 ) |
clientType |
xs:NMTOKEN optional |
Client type: Consumer, Branch, Retailer (e.g. Retailer ) |
responseMail |
xs:string optional |
E-mail address for responses to this message (e.g. response@optician-test-smith.co.uk ) |