Configuring Common Use Cases

The file barcodeProcessor-config.json for configuring the barcode processor is stored in the root directory. More details can be found in the Installation Guide - Industry Device.

Use of Weight Encoding Barcodes

Weight encoding barcodes are retailer-defined codes printed on labels, i.e. for pre-packed goods. The barcode encodes the weight of the package. This is parsed and processed to create the position during item scan.

The parsing rules have to be defined in barcodeProcessor-config.json and should include the extraction of itemId & weight. Example configuration:

Property Description
{
      "states" : [
        {
          "processName" : "ItemRegistration",
          "id" : "1"
        }
      ],
      "templates" : [
        {
          "name" : "prefix",
          "index" : "0",
          "value" : "27"
        }
      ],
      "name" : "Prepackingweight",
      "length" : "13",
      "id" : "140",
      "type" : "EAN13",
      "actions" : [
        {
          "processReactions" : [
            {
              "reactionName" : "setQuantityScan",
              "processName" : "ItemRegistration"
            }
          ],
          "configId" : "SetQuantityForLineItemConfigs.Weight",
          "configParameters" : [
            {
              "patternStart" : "7",
              "decPointPosition" : "3",
              "patternEnd" : "11",
              "name" : "weight"
            }
          ],
          "id" : "1"
        },
        {
          "processReactions" : [
            {
              "reactionName" : "registerItem",
              "processName" : "ItemRegistration"
            }
          ],
          "configId" : "ItemEntryConfigs.CloseCurrentRequired",
          "configParameters" : [
            {
              "patternStart" : "0",
              "patternEnd" : "12",
              "name" : "registrationNumber"
            },
            {
              "patternStart" : "0",
              "dcdParameter" : "MOD10_1",
              "patternEnd" : "11",
              "dcdClass" : "checksum",
              "replaceChar" : "0",
              "replaceEnd" : "11",
              "name" : "itemNrEan",
              "replaceStart" : "7"
            }
          ],
          "id" : "2"
        }
      ]
    },
Example configuration to parse a 13-digit EAN13 barcode as a weight encoding barcode. The pattern is as follows:
  • digit 0-1: prefix (27)
  • digit 7-11: weight
  • posItemID (itemNrEan): 0-11 (replace 7-11 with 0 instead of weight) and add a checksum for the newly created barcode

Example:

prefix - xx - weight - cs

27 - 11111 - 22222 - 6

  • weight = 22.222
  • possItemID(itemNrEan) = 27 - 11111 - 00000 - 8
    • used for searching in the master data

Use of Price Encoding Barcodes

Price encoding barcodes are retailer defined codes printed on labels, i.e. for pre-packed goods. The barcode encodes the price of the package. This is parsed and processed to create the position during item scan.

The parsing rules have to be defined in barcodeProcessor.properties and should include the extraction of itemId & extendedAmount. Example configuration:

Property Description
{
    "states": [
        {
            "processName": "ItemRegistration",
            "id": "1"
        }
    ],
    "templates": [
        {
            "name": "prefix",
            "index": "0",
            "value": "28;21"
        }
    ],
    "name": "Scalereceipt(Openscale-pricecodedbarcodeCODE128)",
    "length": "13",
    "id": "159",
    "type": "CODE128",
    "actions": [
        {
            "processReactions": [
                {
                    "reactionName": "registerItem",
                    "processName": "ItemRegistration"
                }
            ],
            "configId": "ItemEntryConfigs.Default",
            "configParameters": [
                {
                    "patternStart": "0",
                    "patternEnd": "12",
                    "name": "registrationNumber"
                },
                {
                    "patternStart": "2",
                    "patternEnd": "6",
                    "name": "itemNrEan",
                    "trimZeroesLeft": "true"
                },
                {
                    "patternStart": "7",
                    "decPointPosition": "2",
                    "patternEnd": "11",
                    "name": "positionAmount"
                }
            ],
            "id": "1"
        }
    ]
}
Example configuration to parse a 13-digit CODE128 barcode as a price encoding barcode. The pattern is as follows:
  • digit 0-1: prefix (21 or 28)
  • digit 2-6: itemNrEan
  • digit 7-11: positionAmount

Empties Return Receipts

Empties return receipts are receipts created by a Reverse Vending Machine and stored to the (local) Transaction Pool. On the client app side, such receipts are registered as a single position to the transaction, which acts as a placeholder for the subsequent retrieval and merging on the Self-Scanning Service. This item has to be configured in the item master (see SDC master data guides) and must be made known to SSC. The configuration is located in self-scanning.properties:

Property Description
self-scanning.emptiesCollectiveNumber The itemId of the collective item for empties return receipts in the master data.

The parsing rules have to be defined in barcodeProcessor.properties and should include the extraction of the empties receipt number and amount. Example configuration:

Property Description

{
    "states": [
        {
            "processName": "ItemRegistration",
            "id": "156"
        }
    ],
    "templates": [
        {
            "name": "prefix",
            "index": "0",
            "value": "998"
        }
    ],
    "length": "24",
    "name": "Emptiesreceiptwithencodedamount",
    "id": "1",
    "type": "CODE128",
    "actions": [
        {
            "processReactions": [
                {
                    "reactionName": "registerEmptiesTransaction",
                    "processName": "ItemRegistration"
                }
            ],
            "configParameters": [
                {
                    "patternStart": "3",
                    "patternEnd": "17",
                    "name": "transactionIdentifier"
                },
                {
                    "patternStart": "18",
                    "decPointPosition": "2",
                    "patternEnd": "23",
                    "name": "amount"
                }
            ]
        }
    ]
}



Example configuration to parse a 24-digit CODE128 barcode as a scale receipt. The pattern is as follows:
  • digit 0-2: prefix (998)
  • digit 3-17: empties receipt number
  • digit 18-23: receipt amount with 2 decimal digits

Scale Receipts

Scale receipts are receipts created by a separate Service Scale and stored to the (local) Transaction Pool. On the client app side, such receipts are registered as a single position to the transaction, which acts as a placeholder for the subsequent retrieval and merging on the Self-Scanning Service. This item has to be configured in the item master (see SDC master data guides) and must be made known to SSC. The configuration is located in self-scanning.properties:

Property Description
self-scanning.scaleCollectiveNumber The itemId of the collective item for scale receipts in the master data.

The parsing rules have to be defined in barcodeProcessor.properties and should include the extraction of the scale receipt number and amount. Example configuration:

Property Description
{
    "states": [
        {
            "processName": "ItemRegistration",
            "id": "2"
        }
    ],
    "templates": [
        {
            "name": "prefix",
            "index": "0",
            "value": "999"
        }
    ],
    "length": "24",
    "name": "Scalereceiptwithencodedamount",
    "id": "158",
    "type": "CODE128",
    "actions": [
        {
            "processReactions": [
                {
                    "reactionName": "registerScaleTransaction",
                    "processName": "ItemRegistration"
                }
            ],
            "configParameters": [
                {
                    "patternStart": "3",
                    "patternEnd": "17",
                    "name": "transactionIdentifier"
                },
                {
                    "patternStart": "18",
                    "decPointPosition": "2",
                    "patternEnd": "23",
                    "name": "amount"
                }
            ]
        }
    ]
}
Example configuration to parse a 24-digit CODE128 barcode as a scale receipt. The pattern is as follows:
  • digit 0-2: prefix (999)
  • digit 3-17: scale receipt number
  • digit 18-23: receipt amount with 2 decimal digits