Skip to main content
ION listens for barcode scanner input across every screen. Scanning a barcode immediately identifies the object, a piece of inventory, a location, or a kit, and presents the actions available for it. Most workflows require only one or two scans.

How scanning works

Barcode scanners that use the HID specification send keystrokes to whatever window is active. ION detects scanner input by watching for keystrokes that arrive much faster than a human can type and treating the resulting string as a barcode. For scanning to work:
  • An ION tab must be open and focused in the browser.
  • The scanner must be connected (USB or Bluetooth HID).
  • The cursor must not be inside a text field when you scan. If the cursor is in a field, ION does not intercept the input.
Most USB and Bluetooth scanners work without any driver installation. A scanner that emulates a keyboard and appends a carriage return or line feed after each barcode is the standard expectation. Any HID-compliant barcode scanner works with ION. For evaluation and testing, the NADAMOO Wireless QR Code Scanner is a straightforward option.

What can be scanned

ION recognizes three types of objects from a scan: Scanning a run barcode navigates you to that run but does not start a workflow.

Scan feedback

Every scan produces immediate feedback. A banner appears showing what was recognized, the inventory status, and the current location. From the banner you can navigate directly to the scanned object’s detail page. After each scan, an audio chime confirms success or signals an error.

Scan workflows

Scan workflows are intent-based: scan one object to set the intent, then scan a second object to execute. ION shows which scan to do next. When a location or kit is held as the active selection, the workflow is sticky: you can scan additional inventories one after another without rescanning the location or kit each time. Scan the location again to exit the workflow.

Move inventory to a location

Scan an inventory, then scan a destination location. The inventory moves to that location. Scan more inventory before the location scan to move several at once. Each scanned item waits in a queue in the scan overlay, and the location scan commits them all. To move several inventories to the same location in one pass, scan the destination location first to hold it as the active selection. Then scan each inventory. Each scan moves that inventory immediately. Scan the location again to release it.

Move part of a lot

When you scan the inventory first, each queued row carries an editable quantity, prefilled with the whole lot and showing the quantity available next to it. Type a lower number to move only part of that lot, then scan the destination location to commit. The field releases the cursor shortly after you stop typing, so your next scan registers without clicking away first.
  • A row you leave alone moves its whole lot.
  • A row you lowered splits: the quantity you entered moves to the destination, and the remainder stays where it was as a new lot. The moved piece keeps the barcode you scanned, so the label on it stays correct.
  • A serial-tracked row is locked at one, since a serial number identifies a single unit.
A toast reports the new remainder lot and offers Print barcode for it, so the inventory left behind gets a label.
The quantity field is only offered in the inventory-first order. When you hold a location as the active selection and scan items into it, each scan still moves the whole lot immediately.

Move a kit to a location

Scan a kit, then scan a destination location. The kit moves to that location. You can also scan a location first and then scan a kit. The kit moves to the held location. The move sets the kit’s own location, so it holds after a refresh, and it carries the kit’s Kitted inventory with it. Inventory that has already been installed or consumed stays where it is. A kit that is Delivered, Completed, or Canceled can’t be moved, and the scan reports that instead of reporting success.

Add inventory to a kit

Scan an inventory, then scan a kit. The inventory is added to the kit. To add several inventories to the same kit, scan the kit first to hold it as the active selection. Then scan each inventory. Scan the kit again to release it. Inventory in WIP status cannot be kitted and will produce an error. Depending on your settings, WIP inventory linked to a purchase order line through an outside-processing run step is an exception and can be scanned into a kit. For more information, see Allow kitting of WIP inventory for outside processing.

Move a location (nest it under another location)

Scan a location to set it as the active selection. Then scan a different location as the destination. ION shows a confirmation prompt. Scan the destination location a second time to confirm, or scan anything else to cancel.

Install inventory on a run (run execution screen only)

On the run execution screen, scanning an inventory automatically installs it on the as-built BOM (aBOM) for the active run step. No second scan is required. This workflow only works when a run step with build requirements is selected. If no run step is active, the scan fails with an error. For lot-tracked inventory, ION prompts you to confirm the quantity before completing the installation. ION also supports requiring barcode scanning for all installations, which disables manual inventory selection.

Kit inventory on the kitting screen

On the kitting screen with an active kit open, scanning an inventory automatically adds it to the active kit. No second scan is required. Scanning an inventory anywhere in ION shows a link to any open runs that include that part. This is useful in queue-based workflows, such as a receiving inspection or NDE lab, where you scan a part from an incoming rack, navigate to the associated run, complete the run step, and move the part to the outgoing rack.

Workflow reference

Scanning barcodes from other systems

If your inventory carries barcodes from a supplier, ERP, or other system, you can configure ION to recognize those barcode formats. See Scan barcodes from other systems.