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

# Scanner overview

> Manage items from the Supercycle Scanner app.

The Supercycle Scanner app streamlines inventory management by enabling you to quickly scan items, update records, and manage rental operations directly from your mobile device. Use the app to handle item intake, process returns, update warehouse locations, and manage rental assignments on the go.

<Columns cols={2}>
  <Card title="IOS App" icon="app-store" href="https://apps.apple.com/gb/app/supercycle-scanner/id6748582003" arrow="true">
    Download on the Apple App Store.
  </Card>

  <Card title="Android App" icon="google-play" href="https://play.google.com/store/apps/details?id=com.supercycle.scanner_app" arrow="true">
    Download on Google Play Store.
  </Card>
</Columns>

Key functionalities include:

* **Item creation**: Scan to create new items, assigning to the connected product/variant. Create one item at a time, or many in bulk from a multi-scan session.
* **Return processing**: Mark items as received when they arrive back from rentals, individually or in bulk.
* **Location management**: Update warehouse and pick locations by scanning item and location IDs.
* **Rental assignment**: Change which item is assigned to active rentals.
* **Bulk actions**: Apply visibility, warehouse, pick location, and return changes to many items in one pass.

## Scanner types

The app supports three scanner inputs, each independently enabled from **Settings → Scanners**. The **Scan** tab shows one button per enabled scanner.

| Scanner                   | Description                                                                                                | Requirements                           |
| ------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| **Camera**                | Scan one barcode or QR code at a time with the device camera.                                              | Works on any device. On by default.    |
| **Zebra barcode scanner** | Scan items one after another with an attached Zebra barcode scanner, with bulk actions across the session. | Zebra Android device (e.g. EM45).      |
| **Zebra RFID**            | Read many RFID tags at once using the built-in or attached reader.                                         | Zebra Android device with RFID reader. |

The Zebra scanners automatically configure DataWedge — no additional setup is required.

## Supported code types

| Type            | Formats                                                                                            |
| --------------- | -------------------------------------------------------------------------------------------------- |
| **1D barcodes** | Code 128, Code 39, Code 93, Codabar, EAN-13, EAN-8, Interleaved 2 of 5 (ITF), ITF-14, UPC-A, UPC-E |
| **2D barcodes** | QR Code, Data Matrix, PDF417, Aztec                                                                |
| **RFID**        | UHF RFID tags via Zebra handheld devices (Android only).                                           |

## Scan modes

The scanner has two modes, chosen by which scanner you start a session with:

* **Single scan** (camera): one tag at a time. The app immediately opens the matching item, rental, or return — or the **Create item** flow for an unknown tag.
* **Multi scan** (Zebra barcode and RFID): keep scanning to build up a list of items in one session, then apply [bulk actions](/documentation/manage/scanner/scanner-actions#bulk-actions) across the selection. Unknown tags can be turned into new items in one batch from the same screen.

Details of each action are covered in the [Scanner actions](/documentation/manage/scanner/scanner-actions) section.

## Scan workflow

Below is a high-level flowchart illustrating how the Supercycle Scanner app processes scanned items:

```mermaid theme={null}
flowchart TD
  %% ----- Terminals -----
  start([Start scan]):::term --> scan[Scan item]:::action
  done([Done]):::term

  %% ----- Intake -----
  scan --> exists{Does item exist?}:::decision
  exists -- No --> create[Create item record]:::action --> update[Update item]:::action
  exists -- Yes --> update

  %% ----- Context decisions -----
  update --> onReturn{On a return?}:::decision
  onReturn -- Yes --> received[Mark as received]:::action --> done
  onReturn -- No --> onRental{On a rental?}:::decision

  %% Return created from rental
  onRental -- Yes --> makeReturn[Create a return]:::action --> received --> done

  %% Active rental swap
  onRental -- No --> active{Active rental for product?}:::decision
  active -- Yes --> pick[Select which rental]:::action --> change[Change item on rental]:::action --> done
  active -- No --> done

  %% ----- Styles -----
  classDef decision fill:#f7f7f7,stroke:#9aa0a6,stroke-width:1px;
  classDef action fill:#eef6ff,stroke:#1a73e8,stroke-width:1px;
  classDef term fill:#e6f4ea,stroke:#137333,stroke-width:1px;

```

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="RFID not scanning">
    Restart the device and open the Supercycle app first. Another app may be blocking Supercycle's communication with the RFID scanning hardware.
  </Accordion>

  <Accordion title="Zebra barcode scanner not reading">
    Make sure **Zebra barcode scanner** is enabled in **Settings → Scanners**. The DataWedge profile is created the first time you open a Zebra scan session — give it a moment to initialise after the first launch.
  </Accordion>

  <Accordion title="Scanning issues while charging">
    You may not be able to scan items whilst the device is plugged in via USB.
  </Accordion>
</AccordionGroup>
