> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstresonance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Scan with a handheld scanner

> Move inventory and kits, kit parts, nest locations, and install parts by scanning labels with a handheld barcode scanner.

On a computer or tablet, a handheld scanner works on every page of ION. Scan one label to set what you're doing, then scan a second one to do it. The scan tray shows what's selected and what you can scan next. For setup, see [Set up scanners and cameras](/build-hardware/labels-and-scanning/scanning/set-up-scanners-and-cameras). On a phone, see [Scan on a phone](/build-hardware/labels-and-scanning/scanning/scan-on-a-phone).

When a location or kit is selected, the workflow is sticky: you can scan inventory after inventory without scanning the location or kit again. To clear the selection, close the scan tray.

## Move inventory to a location

To move one or more inventories:

1. Scan each inventory. Each one joins the list in the scan tray.
2. Scan the destination location. ION moves every inventory in the list.

To move several inventories to a location one at a time, scan the location first. Then scan each inventory: each scan moves that inventory as soon as you scan it. Scan the location again to release it.

### Move part of a lot

When you scan the inventory first, each row in the list has an editable quantity. Type a lower number to move only part of that lot, then scan the destination location. 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 its label stays correct.
* A serial-tracked row is locked at 1.

To label the inventory left behind, click **Print barcode** in the message that reports the new lot.

<Note>
  The quantity is editable only when you scan inventory first. When a location is selected, each inventory you scan moves its whole lot.
</Note>

## Move a kit to a location

Scan the kit, then scan the destination location. You can also scan the location first, then the kit.

The move sets the kit's own location and moves the kit's **Kitted** inventory with it. A **Completed** or **Canceled** kit can't be moved. A **Delivered** kit can, after you confirm in the **Move a delivered kit?** dialog. The kit stays **Delivered**.

## Add inventory to a kit

Scan each inventory, then scan the kit. ION adds every inventory in the list to the kit.

To add inventories one at a time, scan the kit first, then scan each inventory. Close the scan tray when you're done.

Inventory in **WIP** status can't be kitted. Depending on your settings, WIP inventory linked to a purchase order line through an outside-processing run step is an exception. For more information, see [Allow kitting of WIP inventory for outside processing](/administration/supply-chain-settings/allow-wip-osp-kitting).

## Nest a location under another location

1. Scan the location you want to move.
2. Scan the location to nest it under. ION asks you to confirm moving the first location under the second.
3. Scan the second location again, or click **Move location**. Scanning anything else cancels the move.

## Install inventory on a run

On a run with a run step selected, scanning an inventory installs it on the run step's matching build requirement. No second scan is needed. Nothing may be selected in the scan tray. See [How ION decides what a scan does](/build-hardware/labels-and-scanning/scanning#how-ion-decides-what-a-scan-does).

If no run step is selected, the scan fails with **Cannot install: no run step is active**. For inventory that isn't serial-tracked, ION asks you to confirm the quantity in the **Part Installs (aBOM)** dialog before it installs. For the parts and statuses a scan accepts, see [Build requirements](/build-hardware/runs-and-execution/step-execution#build-requirements-parts-to-install).

Your organization can require a scan for every install. See [Require barcode scanning for installations](/administration/production-settings/require-barcode-scanning-for-installations).

## Kit inventory on the kitting page

On the kitting page with a kit open, scanning an inventory adds it to that kit. No second scan is needed. As on a run, nothing may be selected in the scan tray.

## Confirm a pick-run stop

On a pick run, scanning an inventory ticks off the row it belongs to, whatever is selected. See [Scan to confirm](/manage-supply-chain/kitting/pick-runs#scan-to-confirm).

## Open a scanned record

When nothing is selected, a scan shows the record you scanned with a link to it: **View inventory**, **Go to location**, **View kit**, or **Go to run**. **Go to run** opens the run's steps. A run label only looks up the run, so scanning one doesn't change the selection.

An inventory scan doesn't link to the runs that use the inventory. To reach a run by scanning, scan the run's own label. See [Print a label](/build-hardware/labels-and-scanning/printing).


## Related topics

- [Scan on a phone](/build-hardware/labels-and-scanning/scanning/scan-on-a-phone.md)
- [Overview](/build-hardware/labels-and-scanning/scanning.md)
- [Claim kits, create a pick run, and walk the route](/manage-supply-chain/kitting/pick-runs.md)
- [Set up scanners and cameras](/build-hardware/labels-and-scanning/scanning/set-up-scanners-and-cameras.md)
- [Troubleshoot scanning](/build-hardware/labels-and-scanning/scanning/troubleshoot-scanning.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.