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).
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: Stocktakes
|
||||
section: stock
|
||||
order: 4
|
||||
summary: Counting the shelf at the desk or on a phone, blind counts, variance in garments and dollars, the reasons a large gap needs, and what committing files.
|
||||
screen: Stock › Count
|
||||
role: Admin or Issuer
|
||||
keywords: stocktake, count, audit, stock count, blind count, variance, shrinkage, count sheet, reason, missing, condemned, laundry, commit, location, shelf
|
||||
---
|
||||
|
||||
## Counting at the desk
|
||||
|
||||
`Stock › Count` lists every size of every current garment with the figure ThreadCount holds (`System`) and a `Counted` box.
|
||||
|
||||
1. **Narrow the scope.** Filter by name, SKU, size or barcode, or pick a staff group. `Uncounted` hides lines already counted.
|
||||
2. **Count.** Scan a garment into the scan box and each scan adds 1 to its line; **Camera** does the same. Or type the figure into `Counted`.
|
||||
3. **Watch the tiles.** `Lines counted`, `Variances`, `Net value` and `Gaps needing a reason`, with a bar showing how much of the scope is counted.
|
||||
4. **Zero uncounted in scope** sets every uncounted line in the scope to 0, for a count where the rest of the shelf is empty.
|
||||
|
||||
The tally is kept in this browser for the signed-in person until it is filed or cleared, and the screen says when the last entry was made. **Clear counts** starts again. A code that matches nothing opens the [unknown barcode](/docs/stock/barcodes) dialog.
|
||||
|
||||
`Shelf` counts stock on hand. `Pre-loved pool` counts the pool of handed-in garments instead, carried at nil value. The desk count is scoped by group and filter; counting by location is done on a phone.
|
||||
|
||||
## Blind counts and the count sheet
|
||||
|
||||
`Blind` hides the `System` and `Variance` columns and the `Variances` and `Net value` tiles, so the counter can't see the expected figure. A counted line shows a tick. A line that needs a reason still asks for one.
|
||||
|
||||
**Print count sheet** prints the lines in scope, grouped by garment, with the size, the bound barcode, the system figure and an empty box. In blind mode the system figure is left off and the sheet is marked `BLIND COUNT`.
|
||||
|
||||
## Variance and reasons
|
||||
|
||||
A line's variance is counted less system. `Net value` is each variance times the garment's unit cost, added up: what filing the count would move in dollars.
|
||||
|
||||
A gap as large as `Settings › Issuing rules › A count gap needs a reason at` or larger, over or short, must carry a reason: `At laundry`, `Condemned`, `Missing` or `Other`. The setting starts at `5` and is never treated as less than 1. Lines still owing a reason are moved to the top of the list, and the count can't be filed until each has one. The server refuses the whole count if one arrives without.
|
||||
|
||||
## Committing
|
||||
|
||||
The button reads **File count** when every counted line matched and **Apply adjustments** when some didn't.
|
||||
|
||||
- Only counted lines are sent. Uncounted lines are left as they are.
|
||||
- Every counted line is filed, matching or not, so each size's `Last counted` date on `Stock › On hand` is right.
|
||||
- Each variance moves stock on hand by the difference. In `Pre-loved pool`, the pool is set to the counted figure.
|
||||
- The system figure is read again on the server when the count is filed.
|
||||
|
||||
## Filed counts
|
||||
|
||||
`Stocktake history`, below the count, lists filed counts newest first: date, who counted, lines counted, variances, and the net change in garments and dollars. Open one to see each variance with its dollar value. **CSV** downloads that count's variance lines with unit cost and variance value. The latest 200 filed counts are held on screen.
|
||||
|
||||
In the counter app, `Variance` charts each size's gap across the last 6 shelf counts.
|
||||
|
||||
## Counting on a phone
|
||||
|
||||
In the [counter app](/docs/apps/counter-app), `Stocktake` lists every location that has garments placed on it, counting the locations inside it, plus `Not on a shelf yet`. Sizes are placed on a shelf from the `Sizes` panel on a garment's page; locations are made in `Stock › Locations`.
|
||||
|
||||
1. **Pick the location.** Each line shows counted over expected, and the expected figure stays on screen.
|
||||
2. **Scan.** Each scan adds 1. A code placed on another shelf is refused with that shelf's name. **Undo** takes 1 off the current line; **Type a count instead** is for a label that won't scan.
|
||||
3. **Finish count.** The variance screen lists lines that don't match, with **Recount** and the reasons for large gaps.
|
||||
4. **Commit count.**
|
||||
|
||||
The tally is kept on the phone for that person and that location until committed, and is cleared when that person signs out of the counter app.
|
||||
|
||||
> **Careful** A phone commit files every line on that location, and a line nobody scanned is filed as 0.
|
||||
|
||||
## What is written
|
||||
|
||||
| Action | Record · Change | Undo |
|
||||
|---|---|---|
|
||||
| Counting (desk or phone) | Nothing on the server; the tally is kept on the device | Clear counts |
|
||||
| File count / Apply / Commit | A stocktake: date, who, lines counted, variances, shelf or pool, and the location for a phone count; a line per counted size with system, counted and reason | No undo; a filed count stays in history |
|
||||
| A variance on the shelf | Stock on hand moved by the difference | Count again, or Adjust quantity (Admin) |
|
||||
| A variance in the pool | The pre-loved pool set to the counted figure | Count again, or Adjust quantity › Pre-loved |
|
||||
Reference in New Issue
Block a user