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 2d04e45 on 2026-09-15. Licensed under the Functional Source License (FSL-1.1-ALv2).
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
---
|
||||
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, counter, stock count, unknown barcode dialog, product lookup, chrome, edge, safari, firefox, iphone, ean, upc, code 128, unknown barcode, bind, label, print
|
||||
---
|
||||
|
||||
ThreadCount reads a barcode from a USB scanner, the camera in a supported browser, or the scanner built into the Android counter app. 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. In the portal these boxes accept one:
|
||||
|
||||
| Screen | Box |
|
||||
|---|---|
|
||||
| `Stock › Count` | `Scan to count +1` |
|
||||
| `Counter`, in `Issue` mode | `Scan a garment, or type a name`, in `Add garments` |
|
||||
| `Stock › 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, and only Admins see them.
|
||||
|
||||
You can also scan with no box selected. The portal takes 4 or more keys, each within 35 ms of the last and ending in Enter, as a scan. A staff number opens that person at the `Counter`. A garment goes into the pickup when the counter has a person open, adds 1 on `Stock › Count`, and otherwise opens the garment's page. 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: with no check digit, a partial read can pass as a different code. No 2D codes are read.
|
||||
|
||||
A USB scanner or a typed code isn't limited to that list. 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.` With 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. If the app can't load it, the browser detector is used.
|
||||
|
||||
When counting a shelf, scanning stays on until you press `Stop scanning`. The same code again within 0.9 seconds counts as the same garment still in view. `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. In the counter app, an unknown code gives:
|
||||
|
||||
- **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.
|
||||
- **Search:** the code is put in the search box.
|
||||
|
||||
In the portal:
|
||||
|
||||
- **`Stock › Count`:** the `Unknown barcode` dialog opens. An Admin binds the code there; an Issuer is told only an admin can bind it.
|
||||
- **`Counter`:** an Admin gets the same dialog; an Issuer sees `No garment has` and the code.
|
||||
- **Scanned with no box selected:** the search panel opens with `No person or garment has` and the code, and Admins get `Bind it to a garment`.
|
||||
- **`Scan to add`:** you can start a new product from the code, or attach it to a size you already have.
|
||||
|
||||
With `Look up unknown barcodes in public databases` ticked in `Settings › Catalogue & suppliers`, `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 one 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, an Admin opens the garment from `Stock` and chooses `Generate barcodes` from its menu. Each size without a code gets one of ThreadCount's own. These are EAN-13 codes starting `29`, a prefix for use inside one business, with a real check digit. A size with a supplier's code keeps it.
|
||||
|
||||
`Print labels`, in the same menu, asks you to confirm the count, then prints one label per garment on hand for each size with a code, two to a row on A4. With none to print, the sheet says why. 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.
|
||||
Reference in New Issue
Block a user