QR Code Widget
The QR Code widget prints or displays a scannable QR code on a form — on a View form or on a Sticker label. It encodes a value from the record it's placed on. By default it encodes the Protrak instance ID and tracking ID; an admin can instead point it at any Text attribute on the type — so the same QR widget can carry an internal identifier, a partner's reference, a serial number, or a link.
What you can do
- Encode a customer's, courier's, or supplier's own reference so their systems read the label directly
- Encode a serial or asset tag that already exists on the physical item
- Encode a link that opens on any phone camera — no Protrak app or login needed
- Print QR labels for record types that don't use tracking codes
- Give one record different labels for different purposes — internal vs. outbound
- Keep printed QRs simple and reliable on small stickers and thermal printers
How to configure
- Open Design Studio → Forms and select (or create) the form.
- Add or select the QR Code widget on the canvas.
- In the settings panel, set Encode from attribute.
- Choose a Text attribute of the type, or leave it as the default to encode the Protrak instance code.
- Save. Use Preview to check how the QR renders at the chosen sticker size.
Behaviour
- Only Text attributes are available for selection.
- The setting applies wherever the form renders — instance view, sticker preview, and Print Sticker output.
- If the chosen attribute is empty on a record, no QR is rendered for that record.
- The default (Protrak instance code) is the value the Protrak mobile app recognizes when scanning. A custom value is intended for external scanners, partner systems, or phone cameras.
- The setting is stored with the form and travels with schema export and import.
What actually gets encoded
The QR code always encodes whatever text is in the chosen attribute — but what a scanner does with that text depends on its shape:
Default: a JSON object with the record's identity
Left unconfigured, the attribute holds a small JSON object Protrak generates automatically:
{ "Id": "...", "TrackingId": "...", "InstanceTypeName": "...", "Created": "...", "CreatedBy": "...", "Version": "1.0" }
When the Protrak mobile app scans this:
- If
TrackingIdis present, Protrak fetches the record straight by tracking ID. - If it isn't, Protrak falls back to fetching by
Id+InstanceTypeName— both are needed there, since an ID alone doesn't say which type's screen to open.
A plain string — must be a valid tracking ID
Point the attribute at plain text instead of JSON, and the mobile app still recognizes it if that text is a valid tracking ID — of any instance, of any type, related or not. There's no restriction to "this record" or "this type"; any tracking ID that actually exists resolves.
Anything else — outside the Protrak app, by design
A serial number, a partner reference, a URL — none of these are tracking IDs, so the Protrak app won't recognize them. That's expected, not a bug: this is how you go beyond Protrak. Any regular phone camera or barcode scanner reads the value normally — a link opens, a partner system reads its own reference format. The Protrak app just isn't the audience for that scan.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| QR code renders blank | The configured attribute has no value on this record. |
| Attribute isn't in the dropdown | Only Text attributes are selectable — convert or add one if your value is stored as another type. |
| Protrak mobile app doesn't recognize the code | The encoded value is neither the default identity object nor a valid tracking ID — expected for links, serial numbers, and partner references. Scan it with a regular phone camera instead. |
| Changing the setting didn't affect already-printed stickers | Printed stickers are static — reprint after changing the setting to pick up the new value. |
Next Steps
- Design a printed label around this widget: Sticker Forms
- Make sticker printing available to users: Print Sticker Action
- Build the rest of a View form: Forms