Files
threadcount-community/docs/manual/apps/scanning-and-browsers.md
T
ThreadCount a6f1059ddf ThreadCount Community edition
Uniform stock management for healthcare linen rooms: the coordinator app, the phone counter and the staff app, for your own server. Built from a113353 on 2026-09-15. Licensed under the Functional Source License (FSL-1.1-ALv2).
2026-09-15 22:54:09 +10:00

83 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Scanning and browsers
section: apps
order: 3
summary: USB scanners, the barcode formats ThreadCount reads, which browsers can scan with the camera, the Android scanner, and what happens with a code it doesn't know.
role: Admin or Issuer
keywords: scan, scanner, barcode, usb, camera, chrome, edge, safari, firefox, iphone, ean, upc, code 128, unknown barcode, bind, label, print
---
ThreadCount reads a barcode in one of three ways: a USB scanner typing into a box, the camera in a supported browser, or the scanner built into the Android counter app. All three give the same result, and wherever you can scan, you can also type the code.
## USB scanners
A USB scanner that types the code and then presses Enter works with any browser. These desktop boxes accept one:
| Screen | Box |
|---|---|
| `Stock Count` | `Scan barcode to count +1, then Enter` |
| `Counter` | `Scan barcode, then Enter`, under `2 · Scan items` |
| `Stock On hand Scan to add` | `Scan with a USB scanner, or type the code and press Enter` |
| A garment's `Scan sizes` | The prompt names the size to scan next |
`Scan to add` and `Scan sizes` bind codes to the catalogue; the `Scan to add` button is shown to Admins only. Click into the box first. See [Keyboard and scanner](/docs/reference/keyboard-and-scanner).
## Formats it reads
Camera scanning, in the browser and in the Android app, reads these formats only:
- EAN-13 and EAN-8
- UPC-A and UPC-E
- Code 128, Code 39 and Code 93
ITF and Codabar are left out because they carry no check digit, so a partial read can pass as a different valid code. No 2D codes are read.
A USB scanner or a typed code isn't limited to that list, because the box just receives characters. In `Scan to add`, a 13-, 12-, 8- or 14-digit code has its check digit tested. If it fails, you see `check digit doesn't match — the scan may have mis-read`.
## Camera scanning in a browser
In a browser, the camera reads barcodes with the browser's built-in barcode detector.
| Browser | Camera scanning |
|---|---|
| Chrome | Yes |
| Edge | Yes |
| Safari on iPhone or iPad | No |
| Firefox | No |
Where the camera opens but the browser can't read barcodes, the screen says `Live reading isn't supported here — type the code instead.` Where the browser has no camera access at all, it says `This browser has no camera access — type the code instead.`
On an iPhone, type the code or use a USB scanner.
## The Android scanner
Inside the **ThreadCount** Android app, the phone's own scanner reads the code instead of the browser's detector. If the app can't load that scanner, it uses the browser detector instead.
When counting a shelf, scanning stays on until you press `Stop scanning`. The same code seen again within 0.9 seconds is taken as the same garment still in view, not a second one. `Beep and buzz on a scan` in `More Settings` turns the sound and vibration on or off for that phone.
The ThreadCount Staff app has no scanner.
## Codes ThreadCount doesn't know
A code is known once it is bound to one size of one garment. What happens with an unknown code depends on the screen:
- **Counting a shelf:** `isn't a garment ThreadCount knows. Bind it to a size first`. A known code from another shelf names that shelf instead.
- **Issuing:** `isn't a garment ThreadCount knows.` Nothing is added.
- **Returns:** the code has to match something the person is holding.
- **Search:** the code is put in the search box.
- **`Scan to add`:** you can start a new product from the code, or attach it to a size you already have.
With `Settings Data` product lookup turned on, `Scan to add` first asks a public barcode database for a product name. With it off, nothing leaves the server.
A code can be on one size only. Binding a code that is already on another garment is refused unless you choose to move it. See [Barcodes](/docs/stock/barcodes).
## Printing ThreadCount barcodes
For garments that arrived without a barcode, `Generate barcodes` on the garment's page under `Stock` gives each size without a code one of ThreadCount's own. These are EAN-13 codes starting `29`, a prefix set aside for use inside one business, with a real check digit. A size that already has a supplier's code keeps it.
`Print labels` prints an A4 sheet of 6 labels at a time, one per garment on hand, for each size that has a code. A 13-digit code with a valid check digit prints as EAN-13, and any other code prints as Code 128.
`Reprint a label` in the counter app prints 1 to 24 copies of one size's label. It only lists sizes with a barcode bound to them. It prints from a phone browser. Inside the Android app the button reads `Print it on the desktop`, because that app can't print.
> **Careful** A garment without a readable barcode drops out of every scanned count. Reprint worn labels before the next stocktake.