Scan settings control how Beam interprets scanned barcodes, QR codes, and text strings. You can define custom scan codes using regex patterns or JSON field mapping, configure the scan mode, and set organization-wide scan behavior.
General scan settings
| Setting | Options | Description |
|---|---|---|
| Scan enabled | On / Off | Master toggle for scanning. Turn off to disable all barcode search and scan-to-pick functionality. |
| Scan mode | TG / EPC | TG mode reads standard barcodes and QR codes. EPC mode reads RFID EPC tags. Set this to match your primary scanning hardware. |
| Force uppercase | On / Off | Converts all scanned text to uppercase before processing. Useful when your barcodes or identifiers are case-insensitive. |
Scan codes
Scan codes define rules for how Beam parses specific barcode formats. Each scan code has a name and either a regex pattern or a JSON field mapping. When a user scans a barcode, the app checks it against all configured scan codes in order. The first matching code determines how the scanned value is interpreted.
Adding a scan code
- Go to Settings โ Scan Settings โ Scan Codes.
- Tap Add Scan Code.
- Enter a Listener Name. A descriptive identifier for this code (e.g., "EAN13", "InternalBarcode").
- Choose the matching method: Regex or JSON Map.
- Configure the matching rule (see below).
- Optionally enable Only Scan Once.
- Save.
Regex matching
A regex pattern lets you match and extract parts of a scanned string using a regular expression.
How it works
- When a barcode is scanned, the regex is applied to the scanned string.
- If the pattern matches, the scan code is triggered.
- You can use capture groups (parentheses) to extract a specific part of the string. For example the item ID portion of a longer barcode.
- If no capture group is defined, the entire matched string is used.
Examples
| Pattern | Matches | Extracted value |
|---|---|---|
| ^[0-9]{13}$ | Exactly 13 digits (EAN-13) | Full 13-digit string |
| ^ITM([A-Z0-9]{8}) | Strings starting with "ITM" followed by 8 alphanumeric chars | The 8-char part after "ITM" |
| \d{6}-([A-Z]{3}) | A 6-digit code, a dash, and 3 letters | The 3-letter part |
JSON map matching
JSON map mode is used when your barcode encodes structured JSON data. Instead of a regex, you define a mapping from JSON keys in the scanned payload to Beam item fields.
How it works
- The scanned string is parsed as JSON.
- Each entry in the JSON map specifies a JSON key and the Beam field it maps to.
- Beam field paths use dot notation, for example item.itemId or item.quantity.
- If a Mask is configured for a field, the extracted value is further filtered by that pattern. Useful for extracting a serial number from a longer string.
Example JSON map
Scanned JSON: {"sku": "ABC123", "qty": 5}
| JSON key | Field path | Result |
|---|---|---|
| sku | item.itemId | Item with ID "ABC123" is looked up |
| qty | item.quantity | Quantity is set to 5 |
Only scan once
When Only Scan Once is enabled on a scan code, each unique value matched by that code can only be scanned once per session. Scanning the same value again is ignored. This prevents duplicate registrations when scanning in bulk.
Hybrid mode
Hybrid mode is used in environments where both barcodes and RFID tags are present on the same items. It takes a single regex pattern that identifies RFID-style data within a mixed scan stream.
- When a scan arrives that matches the hybrid mode pattern, it is treated as an RFID EPC.
- Scans that do not match are treated as standard barcodes.
- This allows a single scanner session to handle both tag types without switching modes.