/
Operation: SaleTransmitB2B

Operation: SaleTransmitB2B

Sales

A typical scenario is that a supplier would like to know the sales of its dealers in order to be able to analyse this data internally and thus optimally adapt its product range to the market.

Frame numbers

Another scenario is that the frame number of a bicycle sold can also be transmitted via the sales transmission. This can be used by suppliers to process warranty and service cases more quickly.

This applies to both scenarios:

Sales identification (ID, SaleTransmitB2BLine)

To ensure that individual sales can be clearly identified by the client or server at any time - e.g. when retrieving the status of a transaction - each sale is assigned a unique ID. This ID can be freely assigned by the client (e.g. a hash value, timestamp or a UUID).
This also makes it possible to transfer sales multiple times. The server can use the ID to recognise whether this sale has already been transmitted and update this data record if necessary. This parameter is mandatory.

Item identification (SellersItemIdentification, SaleTransmitB2BLine)

The supplier's order number (SellersItemIdentification) is sufficient to identify an item, as this is known to both parties. This parameter is mandatory. It may also be useful to transmit the retailer's article number (BuyersItemIdentification) to enable unique identification of the article in the retailer's ERP system when the server responds. (The item could be created twice in the retailer's ERP system with two different numbers). This parameter is optional.

Quantity sold (QuantityFraction, SaleTransmitB2BLine)

When transmitting a sale, the quantity sold of the item must also be specified. This is specified as a partial quantity of the sales unit transmitted by the supplier. The quantity can therefore be specified as a decimal number with a maximum of 4 decimal places (if an even smaller partial quantity is required, it must be rounded at this point). This parameter is mandatory.

Examples:

  1. In the retrieved article data of a bicycle manufacturer, the sales unit is specified as ‘EA’. A bicycle was sold. This means that the quantity sold is specified as ‘1’ in the transmitted sale.

  2. In the retrieved item data of a parts supplier, the sales unit is specified as ‘PK’. A package contains 100 individual items of the article. A single item from a package has now been sold. This means that the quantity sold is specified as ‘0.01’ in the transmitted sale.

Sale date (SaleDate, SaleTransmitB2BLine)

When transmitting (SaleTransmitB2BRequest), a date must be specified at which this sale took place. This parameter is mandatory.

Sales price (SaleTransmitB2BLine)

The SalesPriceGross and SalesPriceNet attributes can be used to transmit the sales price as gross/net. This parameter is is optional.

Reference to the sales document (SaleTransmitB2BLine)

The DocumentNumber attribute can be used to transmit the reference to a document (e.g. invoice). This parameter is is optional.

Postal code (SaleTransmitB2BLine)

The postal code of the sale can be transmitted via the PostalCode attribute. This parameter is is optional.

Sales channel (SaleTransmitB2BLine)

The sales channel of the sale can be transmitted via the SalesChannel attribute.

The sales channel can have the following values:

  • RETAIL (sale in a shop)

  • ONLINE (sale via webshop)

  • LEASING (sale via leasing provider)

  • PARTNER (sale via a partner)

This parameter is is optional.

Transmission of serial numbers (SaleTransmitB2BLine)

In addition to pure sales data, serial numbers can also be transmitted via the SerialNumbers attribute. This is done in the same way as in the receipt module.

Example: When a bicycle is sold, the frame number of the bicycle sold is transferred. The supplier stores this in his internal data and can quickly find the correct data in the internal system for processing in a warranty case if the frame number is specified.

Response (SaleTransmitB2BResponse)

The server must confirm receipt or processing of the upload in an initial, immediate response (SaleTransmitB2BResponse) and transmit a transaction ID.

The following transaction states apply here:

  • 84 = Data is being imported

  • 85 = Data has been imported, from now on the status can be returned

  • 184 = Transaction closed. Status can no longer be returned

Status

Processing log (GetStatusSaleTransmitB2BRequest)

After a successful SaleTransmit, the merchant's client (e.g. ERP system) can retrieve a log of the processing with the corresponding TransactionID via request (GetStatusSaleTransmitB2BRequest).

  • If the TransactionID transferred in the request is unknown, a ResponseCode 420 is returned.

  • If the referenced transaction instance is not in a state as described above, a ResponseCode 430 is returned.

The following transaction states apply here:

  • 84 = Data is still being imported

  • 85 = Data has been imported, the status is returned

  • 184 = Transaction closed. Status can no longer be returned

Response (GetStatusSaleTransmitB2BResponse)

The response (GetStatusSaleTransmitB2BResponse) is in the form of a sales list (SaleTransmitB2BResponseLine) with the following details per item:

  • ID (unique ID of the sale assigned by the client) - Mandatory

  • Supplier item number (SellersItemIdentification) - Mandatory

  • Retailer item number (BuyersItemIdentification) - (if transmitted in the request)

  • Quantity sold (QuantityFraction) - Mandatory

  • Sales date - Mandatory

The list can be divided into packages that the client and server negotiate with each other
(comparable to the TextSearch transaction).

 

Related content