Files
threadcount-community/docs/manual/stock/barcodes.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

67 lines
4.7 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: Barcodes
section: stock
order: 2
summary: Binding the supplier's barcode to each size, dealing with an unknown code once, printing ThreadCount's own labels, and the formats the scanners read.
screen: Stock On hand a garment
role: Admin
keywords: barcode, scan, bind, unbind, unknown barcode, label, print labels, generate barcode, EAN-13, Code 128, scanner, GTIN
---
## Supplier barcodes
Each size of a garment carries one barcode, and a code belongs to one size in the facility. Most garments arrive with the supplier's code on the swing tag, and that is the code to bind.
1. **Open the product.** `Stock On hand`, then the garment's name.
2. **Press Scan sizes.** The dialog starts on the first size with no barcode.
3. **Scan each size's label.** After each scan it moves to the next unbound size. **Re-scan** on a row points it at that size instead.
4. **Add a size while scanning.** Type the size into `Size that isn't on the item yet`, then scan. The size is added at the end of the list with its code.
The same can be done on the phone in the counter app, or in bulk from `Settings Data` with the Supplier barcodes template.
## An unknown code
When a scan on `Stock On hand` or `Stock Count` matches nothing, the `Unknown barcode` dialog opens. An admin picks the garment, then taps the size, and the code is bound from then on: the next scan anywhere finds it. An issuer sees the code and is told only an admin can bind it. **New product from this barcode** opens `Add item` with the code waiting for its size.
`Scan to add` on `Stock On hand` works the same way for a pile of garments: a known code offers **Open product**; an unknown one offers a new product or a binding.
The dialog checks the digits. A code that fails its check digit is flagged as a possible mis-read but can still be bound. A code of a non-standard length can also be bound.
With `Settings Data Look up unknown barcodes in public databases` ticked, `Scan to add` sends the barcode number, and nothing else, to UPCitemdb, then Open Products Facts, and shows any product name found. Only valid EAN-13, UPC-A, EAN-8 and GTIN-14 codes are looked up, up to 120 an hour per facility. It is off by default.
## ThreadCount barcodes
For garments that arrived unlabelled, **Generate barcodes** on the product page gives every size without a code one of ThreadCount's own. **Generate** on a single row does one size. Sizes that already carry a supplier code keep it.
A generated code is a 13-digit EAN-13 starting `29`, the GS1 range reserved for use inside one business, with a real check digit. Numbers come from a counter held for the facility, so two people labelling at once can't be given the same one.
Every size also resolves from an internal 9-digit number starting `93`. It is never shown or printed, and binding another garment's internal number to a size is refused.
## Typed and moved barcodes
On the product page each size has a barcode box. Type or scan the code and press Enter or **Save**. Nothing reformats what is typed; codes may carry letters. To take a code off, clear the box and confirm, or press **×**.
A code already on another garment is refused with where it is. Confirm the move, or press **Move … onto size … anyway** in Scan sizes, and the code leaves the old size for this one.
## Printing labels
**Print labels** on the product page shows the count in its name: one label for every garment on hand, across the sizes that carry a barcode. It opens an A4 sheet of labels, 2 across, in a new tab, with the print dialog up.
Each label carries the garment name, size, SKU, the bars with the code beneath, and the organisation name from the slips (or the facility name). A valid EAN-13 prints as EAN-13; any other code prints as Code 128. A code too long to print at a readable size on the label is flagged above the sheet. With nothing on hand, or no size labelled, the sheet says which instead of printing.
## Accepted formats
- The camera and the phone apps read EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39 and Code 93. QR codes are ignored.
- A scanner that types the code and presses Enter works in the scan boxes on the desktop screens. See [keyboard and scanner](/docs/reference/keyboard-and-scanner).
- A bound code can be up to 64 characters.
## What is written
| Action | Record · Change | Undo |
|---|---|---|
| Bind a code (scan, type or pick) | Barcode record: code, garment, size position | Clear the box, or press × |
| Move a code | The same record now points at the new size | Move it back |
| Generate | Barcode record marked generated; the facility's number counter moves on | Unbind; the number is not handed out again |
| Remove a size | Its barcode is deleted with it | Bind the code again |
| Print labels | Nothing | Nothing to undo |