> ## 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

> Scan items to take them in, receive returns, and update locations from your phone or a Zebra device

The Supercycle Scanner is the mobile app for your warehouse and shop floor. Scan an item to create it, receive it back from a rental, move it between warehouses and pick locations, or change which item is allocated to a rental, without opening the Supercycle admin.

<CardGroup cols={2}>
  <Card title="App Store" icon="apple" iconType="brands" href="https://apps.apple.com/gb/app/supercycle-scanner/id6748582003">
    Download the Scanner for iPhone and iPad.
  </Card>

  <Card title="Google Play" icon="google-play" iconType="brands" href="https://play.google.com/store/apps/details?id=com.supercycle.scanner_app">
    Download the Scanner for Android, including Zebra devices.
  </Card>
</CardGroup>

What you can do with it:

* **Create items.** Scan a new tag to create the item under its product and variant, one at a time or many from a multi-scan session.
* **Receive returns.** Mark items received when they come back from a rental, individually or in bulk.
* **Manage locations.** Update warehouses and pick locations by scanning the item and the location ID.
* **Change items on rentals.** Swap which item is allocated to an active rental.
* **Bulk actions.** Apply visibility, warehouse, pick location, and return changes to many items in one pass.

Each task is on [Scanner actions](/documentation/manage/scanner/scanner-actions).

***

## Scanner types

The Scanner supports three inputs, each turned on separately under **Settings > Scanners** in the app. The **Scan** tab shows one button per scanner you've turned on.

| Scanner                   | Description                                                                                                | Requirements                                |
| ------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| **Camera**                | Scan one barcode or QR code at a time with the device camera.                                              | 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. | A Zebra Android device, such as the EM45.   |
| **Zebra RFID**            | Read many RFID tags at once with the built-in or attached reader.                                          | A Zebra Android device with an RFID reader. |

The Zebra scanners configure DataWedge themselves, so there's no extra setup on the device.

***

## 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 read by Zebra handheld devices (Android only)                                        |

***

## Scan modes

The scanner you start a session with sets the mode:

* **Single scan.** The camera reads one tag at a time and opens the matching item, rental, or return straight away, or the **Create item** flow for a tag Supercycle doesn't know.
* **Multi scan.** The Zebra barcode and RFID scanners keep adding items to one list, so you can run [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.

***

## Scan workflow

How the Scanner decides what to do with a scanned tag:

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

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

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

  onRental -- Yes --> makeReturn[Create a return]:::action --> received --> done

  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

  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;
```

***

## Scanner troubleshooting

<AccordionGroup>
  <Accordion title="RFID tags aren't being read">
    **Why it happens.** Another app on the device is holding the RFID hardware, so the Scanner can't talk to it.

    **How to fix it.** Restart the device and open the Supercycle Scanner before any other app.
  </Accordion>

  <Accordion title="The Zebra barcode scanner isn't reading">
    **Why it happens.** The scanner is turned off in the app, or the DataWedge profile hasn't been created yet. The profile is created the first time you open a Zebra scan session.

    **How to fix it.** Turn on **Zebra barcode scanner** under **Settings > Scanners**, then start a Zebra scan session and give it a moment to initialize.
  </Accordion>

  <Accordion title="Scanning stops while the device is charging">
    **Why it happens.** Some Zebra devices pause the scanner while they're connected over USB.

    **How to fix it.** Unplug the device and scan again.
  </Accordion>
</AccordionGroup>
