# Scanner Setup Wizard

Most barcode scanners need no setup: plug the scanner in, or pair it like a keyboard, and scan. The wizard below asks a few questions and takes you through the rest, or through the fix when a scan doesn't come through.

Most fixes happen on one screen, **Settings → Barcode Scanning**. Below the wizard: [what that screen holds](#barcode-scanning-screen), [how to read the test panel](#test-panel) and [what your scanner's status means](#scanner-status).

## Answer a few questions[​](#wizard "Link direto para Answer a few questions")

### What are you setting up?

I have a barcode scanner and want to set it upMy scanner already types scans, but something's wrongI don't have a scanner — can I scan with a camera?

VoltarRecomeçar

## The Barcode Scanning screen[​](#barcode-scanning-screen "Link direto para The Barcode Scanning screen")

Open the menu, then `Settings` → `Barcode Scanning`. Changes save as you make them; there is no Save button.

![The Barcode Scanning screen: the timing threshold and minimum length, the Scanner section with its setup guide link and the direct connection row, and the Barcode Scanning Test panel](/img/2.x/hardware/scanners/setup-wizard/en/tablet-light-regular--scan-1-barcode-screen.png)123456

1. **Barcode Average Time Input Threshold (ms)** — how fast keys must arrive to count as a scan. The default is 24. Raise it for a slower scanner; the [test panel](#test-panel) tells you by how much.
2. **Barcode Minimum Length** — a scan shorter than this is skipped at the till, never added to the cart. The default is 8.
3. **No setup needed for most scanners** — shows until you register or connect a scanner. A keyboard-mode scanner works without any row here.
4. **Scanner setup guide** — opens this page.
5. **Connect a scanner directly (advanced)** — opens the [direct connection sheet](#direct-connection-sheet). On Android this row reads **Register a scanner** instead; see [the wizard](#wizard).
6. **Barcode Scanning Test** — scan into this panel to see what WCPOS makes of it. See [Check a scan in the test panel](#test-panel).

Between them, **Barcode Scanner Prefix** and **Barcode Scanner Suffix** each take one character your scanner adds before or after every code, so WCPOS strips it before it searches. **Play a sound on scan** turns the scan sound on or off. For each setting in detail, see [Barcode Settings](/pt-BR/hardware/barcode-scanners/scanner-settings.md#settings).

## Check a scan in the test panel[​](#test-panel "Link direto para Check a scan in the test panel")

Scan any barcode while the Barcode Scanning screen is open. The panel shows the keys the scanner sent and how WCPOS read them. If your latest attempt is marked **scan** in Recent attempts and **Detected Barcode** matches the code printed on the product, go straight to [Finish at the till](#finish-at-the-till).

![The test panel after a clean scan: the keys received, the detected barcode, a timing chart with every bar under the dashed threshold line, the verdict, and the list of recent attempts](/img/2.x/hardware/scanners/setup-wizard/en/tablet-light-regular--scan-2-scan-detected.png)12345

1. **Keypress Event** — every key the scanner sent. `↵` is Enter and `⇧` is Shift.
2. **Detected Barcode** — the code WCPOS would search for.
3. **Timing chart** — one bar per key, showing the gap before it in milliseconds. The dashed line is your threshold; a bar above it turns amber.
4. **Verdict** — scan or typing, with the average gap between keys.
5. **Recent attempts** — your last five, newest first, each marked **scan**, **too short** or **typing** with its average gap.

Each attempt ends one of five ways:

* **Detected as a scan, marked scan.** The keys came fast enough and the code is at least your minimum length. Go to [Finish at the till](#finish-at-the-till).
* **Detected as a scan, marked too short.** The keys came fast enough, but the code is shorter than **Barcode Minimum Length**, so the till skips it. Tap **Apply** on **Lower minimum length**.
* **Treated as typing, in amber, "above your threshold".** A near miss: the keys came fast, but not fast enough for your threshold. See [If the scan is too slow](#too-slow).
* **Treated as typing … correctly ignored.** The keys came at typing speed. Nothing to fix.
* **Treated as typing — only one key pressed.** One key gives no gaps to measure. Scan a whole barcode.

A pause of more than a second starts a new attempt in the list.

### If the scan is too slow[​](#too-slow "Link direto para If the scan is too slow")

![The test panel after a slow scan: amber bars above the dashed threshold line, the near-miss verdict with an offer to raise the threshold, and the attempt marked typing](/img/2.x/hardware/scanners/setup-wizard/en/tablet-light-regular--scan-3-near-miss.png)123

1. **Amber bars** — the gaps that were slower than your threshold.
2. **Near miss** — the average gap, and an offer to raise the threshold to just above it. **Apply** saves the new threshold at once.
3. **Recent attempts** — the slow scan is marked **typing**.

### If extra characters appear[​](#extra-characters "Link direto para If extra characters appear")

![The test panel after a scan from a scanner that sends Shift as separate keys and puts a symbol before the code: the Shift warning and an offer to set the symbol as the prefix](/img/2.x/hardware/scanners/setup-wizard/en/tablet-light-regular--scan-4-shift-prefix.png)123

1. **Timing chart** — the `⇧` bars are Shift keys the scanner sent on their own.
2. **Suggestions** — strip the leading symbol by setting it as your prefix, and a warning that the scanner sends Shift as separate keys.
3. **Recent attempts** — this one still counts as a scan.

Every suggestion comes with an **Apply** button that saves the change straight away:

* **Raise threshold to … ms** — your scanner is a little slower than the threshold.
* **Lower minimum length to …** — the code is shorter than your minimum length.
* **Strip leading "…" — set it as your prefix** — the scan starts with a symbol and you have no prefix set.

Two notes come without a button. **Scanner is sending Shift as separate keys** means you should set the scanner to a US keyboard, no-modifier mode with its manual's setup barcodes. **Trailing Enter detected and ignored — no suffix needed** means the Enter at the end of a scan is already handled, so leave the suffix empty.

**After any Apply**, scan the same barcode again.

### Finish at the till[​](#finish-at-the-till "Link direto para Finish at the till")

When your latest attempt is marked **scan** in Recent attempts, not **too short** or **typing**, and **Detected Barcode** matches the code printed on the product, open the register and scan a simple product you know. It goes straight into the cart. In the browser or the desktop app, click a blank part of the screen first: while a text field has the cursor, the search box included, WCPOS leaves the keys there as typing.

If the scan reaches the till but nothing is added, for example **Barcode not found**, see [Scan a barcode](/pt-BR/sell/find-products.md#scan) for what each message means.

## Read your scanner's status[​](#scanner-status "Link direto para Read your scanner's status")

Only a scanner you register on Android, or connect directly, gets its own row in the **Scanner** section. A keyboard-mode scanner you haven't registered has no row and needs none, so you can skip this part.

The scanner row, its five statuses and how to remove it

![The Scanner section with one saved scanner: its row and status, its menu button, the note about captured scans, and the button to connect another scanner](/img/2.x/hardware/scanners/setup-wizard/en/tablet-light-regular--scan-5-scanner-row.png)12345

1. **Scanner row** — the name, or the kind of connection when it has no name.
2. **Status** — see the table below.
3. **`⋮` menu** — **Remove** deletes the row.
4. **Captured scans** — scans from these scanners reach WCPOS directly. Keyboard-mode scanners still work alongside them.
5. **Connect another scanner (advanced)** — opens the direct connection sheet again.

| Status             | Kind of scanner                      | What it means                              |
| ------------------ | ------------------------------------ | ------------------------------------------ |
| **Connected**      | Any direct connection                | Connected now.                             |
| **Registered**     | Keyboard mode, registered on Android | Saved. Its scans are recognised by device. |
| **Not in range**   | Bluetooth                            | Saved, but not connected now.              |
| **Not plugged in** | USB serial                           | Saved, but not connected now.              |
| **Not connected**  | USB HID POS                          | Saved, but not connected now.              |

When you open WCPOS, a saved scanner reconnects by itself. A Bluetooth serial or USB serial scanner does so only when exactly one allowed device matches it; with two identical scanners, pick the one you want from the sheet.

### The direct connection sheet[​](#direct-connection-sheet "Link direto para The direct connection sheet")

**Connect a scanner directly (advanced)** opens this sheet. Use it only after you have switched the scanner out of keyboard mode; [the wizard](#wizard) walks you through that.

Connect over USB or Bluetooth serial, or add a Bluetooth service UUID

![The direct connection sheet: Connect over USB, Connect over Bluetooth serial, the note about keyboard-mode scanners, and the field to add a scanner's Bluetooth service UUID](/img/2.x/hardware/scanners/setup-wizard/en/tablet-light-regular--scan-6-direct-connection.png)123456

1. **Connect over USB** — for a scanner in USB HID POS mode. While it is connected, the button reads **Disconnect USB scanner**.
2. **Connect over Bluetooth serial** — for a scanner in SPP mode, or in USB COM mode on a cable: the chooser lists USB serial ports too. While it is connected, the button reads **Disconnect Bluetooth serial scanner**.
3. **Keyboard-mode note** — a scanner in keyboard mode can't be connected here. That is a rule of the operating system, not of WCPOS.
4. **My scanner isn't in the list** — the scanner's Bluetooth service UUID, a long code in `8-4-4-4-12` form.
5. **Add** — saves the UUID so the chooser can find the scanner.
6. **Find your scanner's service UUID** — opens this page. Where a manual keeps the UUID is in [the wizard](#wizard), under the fix for a scanner that isn't in the chooser.

In the WCPOS desktop app the chooser opens inside the app; in Chrome it is a browser popup.

## Related Documentation[​](#related-documentation "Link direto para Related Documentation")

[Barcode SettingsEvery setting on the Barcode Scanning screen](/pt-BR/hardware/barcode-scanners/scanner-settings.md)

[Barcode ScanningWhat happens at the till when a barcode is scanned](/pt-BR/sell/find-products/scan-barcodes.md)

[Barcode ScannersThe ways to scan with WCPOS](/pt-BR/hardware/barcode-scanners.md)
