Skip to main content

Configuring Output Data

This guide explains how to configure output data for the Custom Data Transfer feature. Output configuration determines how scanned data and additional inputs are structured, transformed, and exported to external systems.

Core Configuration

FieldDescription
typeAlways set to standard for this configuration type.
behaviorDefines how new data is written. Options:
- replace: overwrite existing data
- append: add new rows or entries.
targetDefines the destination for the output (e.g., Google Sheets, CSV, API).
parserOptions(Optional) Array of parser configuration objects.
timestampOptions(Optional) Controls how timestamps are handled.
groupedBoolean (default: true). If false, the same barcode will be repeated when quantity > 1.
fieldsArray of OutputField objects that define which values should be exported.

OutputField Configuration

Each OutputField defines a single column or output entry.

FieldDescription
typeDefines the source of the output value. Options:
- barcodeValue
- inputValue
- labelValue
nameString used as the column name in the output.
barcodeValueConfiguration object (only if type=barcodeValue). Defines which aspect of the barcode to output.
inputValueString (only if type=inputValue). Refers to the key from an InputField.
labelValueString (only if type=labelValue). Refers to a label field name from labelCaptureSettings.

BarcodeValue Types

When type=barcodeValue, the following barcodeValue.type options are available:

TypeDescription
barcodeDataRaw scanned barcode data.
symbologySymbology type (e.g., QR, Code128).
symbolCountNumber of symbols in the barcode.
quantityQuantity derived from scanning.
timestampTimestamp of the scan (see timestampOptions).
parsedParsed values based on parserOptions.
foundWhether the item was found (configurable labels: foundValue, notFoundValue).
countedCounting status (configurable: notInListValue, notInListAcceptedValue, notInListRejectedValue, receivedValue, notReceivedValue).
  • timestampOptions: Default date format for all dates used is "yyyy-MM-dd'T'HH:mm:ss'Z'" (ISO 8601). You can customize this format using the format field.
  • parserOptions: Supported parsers are hibc, gs1AI, swissQR, vin, and iataBcbp. Use the options object if you want to put extra options to parsers.

Example Configuration

{
"type": "standard",
"behavior": "append",
"target": {
"type": "googleSheets",
"spreadSheetId": "My spreadSheetId",
"sheetId": 0
},
"parserOptions": [
{
"parserType": "gs1AI",
"options": {
"strictMode": false,
"allowMachineReadableCodes": true
}
}
],
"fields": [
{
"type": "barcodeValue",
"name": "Barcode",
"barcodeValue": {
"type": "barcodeData"
}
},
{
"type": "barcodeValue",
"name": "Quantity",
"barcodeValue": {
"type": "quantity"
}
},
{
"type": "barcodeValue",
"name": "Count Status",
"barcodeValue": {
"type": "counted",
"notInListValue": "Item not in list",
"notInListAcceptedValue": "Item not in list - but accepted",
"notInListRejectedValue": "Item not in list - and rejected",
"receivedValue": "Received",
"notReceivedValue": "Not Received"
}
},
{
"type": "barcodeValue",
"name": "parsed field",
"barcodeValue": {
"type": "parsed",
"parsedValues": [
{
"parserType": "swissQR",
"keys": "QRCH/AltPmtInf/AltPmt/2",
"options": {
"parserOptionKey1": true,
"parserOptionKey2": false
},
}
]
}
},
{
"type": "inputValue",
"name": "StoreName1",
"inputValue": "STORE_NAME_1"
},
{
"type": "inputValue",
"name": "StoreName2",
"inputValue": "STORE_NAME_2"
},
{
"type": "barcodeValue",
"name": "The First Barcode PD splitted",
"labelValue": "pd",
"barcodeValue": {
"type": "parsed",
"parsedValues": [
{
"parserType": "gs1AI",
"keys": "02.GTIN"
}
]
}
},
{
"type": "labelValue",
"name": "The First Barcode PD",
"labelValue": "pd"
}
]
}