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,73 @@
|
||||
---
|
||||
title: Set up in an afternoon
|
||||
section: start
|
||||
order: 2
|
||||
summary: From creating the facility to the first garment issued at the counter, in the order the first-run checklist asks for it.
|
||||
screen: Today
|
||||
role: Admin
|
||||
keywords: sign up, signup, create account, new facility, setup, onboarding, checklist, plan, trial, import, opening stock, first issue
|
||||
---
|
||||
|
||||
## Create the facility
|
||||
|
||||
Sign-up is three steps.
|
||||
|
||||
1. **You.** First name, last name, work email and a password of at least 8 characters. Password resets go to that email, so it has to be right.
|
||||
2. **Your facility.** The facility name, plus two optional answers. `Setting` (Hospital, Aged care, Community health or Other) chooses a starting list of staff groups. `State or territory` sets the time zone that counts and month-end are read in, and nothing else.
|
||||
3. **Plan**, or **Confirm** when the server is not offering plans. Where the server publishes terms or a privacy policy, the create button stays off until you tick that you agree.
|
||||
|
||||
The plan step offers two choices. Neither takes a card.
|
||||
|
||||
| Plan | Price | Limit |
|
||||
|---|---|---|
|
||||
| Hosted Small | Free | Up to 60 staff records |
|
||||
| Hosted Facility | 30-day trial | Then $1,290 a year |
|
||||
|
||||
Health Service is not offered at sign-up. A facility created while plans are not live is free with everything, for good. A Community edition server has no plans and no staff-record ceiling.
|
||||
|
||||
## What is written
|
||||
|
||||
| Record | Change | Undo |
|
||||
|---|---|---|
|
||||
| Facility | Created with your name as coordinator, the plan you chose, any seeded staff groups and the time zone | See [Delete an account](/docs/account/delete-an-account) |
|
||||
| User | You, as `Admin`, with the title Uniform Coordinator | Edit under `Settings › People & sign-in` |
|
||||
| Email | A welcome note to the address you typed | None |
|
||||
|
||||
Sign-up is refused for an email that already has an account, and after 5 sign-ups from one connection in an hour. `Open ThreadCount` then takes you to the dashboard with the welcome checklist showing.
|
||||
|
||||
## Staff groups
|
||||
|
||||
Staff groups are under `Settings › Issuing rules`, in the Staff groups list. Each group is on one route: `FTE table`, `Starting kit` or `Manager approval`. While a facility has no staff groups, everybody is on manager approval.
|
||||
|
||||
`Rename` moves every staff record filed under the group to the new name and keeps its route. A group with people in it cannot be removed. The rules for each route are on [Groups and routes](/docs/people/groups-and-routes).
|
||||
|
||||
## Load your data
|
||||
|
||||
`Settings › Data › Import from CSV` takes a spreadsheet saved as CSV.
|
||||
|
||||
1. **Choose what you are importing** from the list.
|
||||
2. **Press `Download template`** and fill it in.
|
||||
3. **Press `Import CSV`** and choose the file. Re-importing updates matching rows.
|
||||
|
||||
Import is shown to Admins only, and each user is limited to 20 imports in 10 minutes. Import the staff register and the catalogue first. The columns each template takes are on [CSV templates](/docs/reference/csv-templates). Add suppliers under `Settings › Catalogue & suppliers`, with their order email and lead time in days.
|
||||
|
||||
## Opening stock and the first issue
|
||||
|
||||
On `Stock › On hand`, set a reorder level for each size with the minus and plus buttons beside it. Then press `Adjust quantity` and choose `Opening balance`, which overwrites a line's opening balance and is for start-up only. Only an Admin can set an opening balance or a reorder level.
|
||||
|
||||
When the shelf is loaded, go to `Counter` and issue a garment to someone on the register. [Issue a garment](/docs/counter/issue-a-garment) walks through the counter.
|
||||
|
||||
## The first-run checklist
|
||||
|
||||
The dashboard shows a checklist of six things a new facility does once.
|
||||
|
||||
1. Add staff, or import the register
|
||||
2. Add garments
|
||||
3. Set reorder levels
|
||||
4. Record opening stock
|
||||
5. Issue a garment
|
||||
6. Bind a barcode or print labels
|
||||
|
||||
Each tick comes from the records, not from a click. For example, the first item is ticked once the staff register has a row in it. Every row still to do has a button to the screen that does it.
|
||||
|
||||
The checklist disappears once all six are ticked, or once the facility is 60 days old and three or more are ticked. An Admin can hide it sooner with `Dismiss`, and it stays hidden for the whole facility. It does not appear in the phone app.
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: The two roles
|
||||
section: start
|
||||
order: 3
|
||||
summary: What an Admin can do that an Issuer cannot, as the server enforces it, and what staff see when they sign in to the staff app.
|
||||
screen: Settings › People & sign-in
|
||||
role: Anyone
|
||||
keywords: roles, permissions, admin, issuer, access, user, staff sign-in, staff app, activation code, who can
|
||||
---
|
||||
|
||||
## Two roles, checked on the server
|
||||
|
||||
Every user of the linen-room app is either `Admin` or `Issuer`. The server checks the role on every change, so hiding a button is not the only protection. If an Issuer attempts a change they are not allowed to make, the server refuses it with `Admin only`, whichever screen it came from.
|
||||
|
||||
Your name and role are at the foot of the menu. A sign-in lasts 14 days, or 30 days if you tick to stay signed in on that computer. Changing a password ends every older sign-in for that user.
|
||||
|
||||
## What each role can do
|
||||
|
||||
An Admin can do everything an Issuer can, plus everything in the Cannot column. The one thing an Admin cannot do is remove or demote the last active Admin.
|
||||
|
||||
| Role | Can | Cannot |
|
||||
|---|---|---|
|
||||
| Issuer | Issue, return, exchange and take hand-ins at the counter | Add, edit or delete catalogue items, sizes or barcodes |
|
||||
| Issuer | Work ward requests, pickups and delivery rounds | Change reorder levels, supplier codes or catalogue prices |
|
||||
| Issuer | Apply a stock take, receive stock, add to the pre-loved pool | Set on hand, adjust or write off stock, or set opening balances |
|
||||
| Issuer | Create orders, mark them ordered or shipped, receive deliveries | Open the order list, print the order sheet, email a supplier, cancel an order |
|
||||
| Issuer | Read the staff register and Reports | Add, edit or delete staff, departments or locations, or print staff-app codes |
|
||||
| Issuer | Read Settings | Change settings, staff groups, suppliers, users or the plan |
|
||||
| Issuer | Change their own profile and password | Read `Activity`, import CSV, restore a backup, wipe or reset data |
|
||||
|
||||
## Managing users
|
||||
|
||||
Admins see the user list under `Settings › People & sign-in`. A new user starts as `Issuer` unless you choose `Admin`. The facility must always have at least one active Admin, so the server will not demote or remove the last one and replies `Keep at least one active admin`. See [Users](/docs/account/users).
|
||||
|
||||
## Staff sign-ins
|
||||
|
||||
Staff on the register are not users, and they never have either role. A staff member signs in to the staff app, at `/my`, with a separate account.
|
||||
|
||||
1. **An Admin prints a code** from the person's record on `People`. It is twelve characters in three groups.
|
||||
2. **The staff member activates it** at the staff sign-in with `First time? I have a code`, then chooses an email and password. A code printed 14 or more days ago is refused as expired.
|
||||
3. **After that they sign in** at the staff sign-in, or through the ordinary Log in box on the website.
|
||||
|
||||
A staff sign-in lasts 30 days. It is a different kind of session from a user's, so it cannot open the linen-room app. A user's session shows nothing in the staff app either.
|
||||
|
||||
## What staff can see
|
||||
|
||||
The staff app menu is `Home`, `Kit`, `Orders` and `Messages`. In it, staff can:
|
||||
|
||||
- see what they hold and raise a request for garments
|
||||
- send messages about their own requests, report damage and raise a dispute
|
||||
- join, leave or accept a waitlist place, and answer a kit check when one is open
|
||||
- change their own password
|
||||
|
||||
Two extra views come from the register, not from a role. If someone is named as another person's manager on the register, they also see approvals and their team. If someone is marked as a ward desk, they see the delivery round for their ward.
|
||||
|
||||
## What is written
|
||||
|
||||
| Record | Change | Undo |
|
||||
|---|---|---|
|
||||
| User role | `Admin` or `Issuer`, set under `Settings › People & sign-in` | Set it back, as long as one active Admin remains |
|
||||
| Staff activation code | Printed from the person's record, stamped with the date | Clear the code; it expires after 14 days anyway |
|
||||
| Staff account | Created when the code is used | Remove it from the record, which ends its sign-ins |
|
||||
|
||||
If a staff member is made inactive on the register, they lose the staff app at once. When they try to sign in they are told `You're no longer on the register at this facility. Ask the linen room.`
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: ThreadCount in one page
|
||||
section: start
|
||||
order: 1
|
||||
summary: What ThreadCount records, the screens in the menu, who signs in, and where to find each first-month task.
|
||||
role: Anyone
|
||||
keywords: overview, introduction, menu, screens, what is threadcount, getting started, help, manual, docs
|
||||
---
|
||||
|
||||
## What it records
|
||||
|
||||
ThreadCount records uniform stock for one facility and keeps three things in step.
|
||||
|
||||
- **Who holds what.** Every garment issued, returned, exchanged or handed in is written against a person on the staff register, so each person's holding is always current.
|
||||
- **The shelf, by size.** Each garment in the catalogue has sizes, and each size has its own on-hand figure, reorder level and supplier code. Issues take stock off the shelf; deliveries and stock takes put it back or correct it.
|
||||
- **The order list.** Sizes at or below their reorder level are gathered into one group per supplier, raised as orders, and received against when the delivery arrives.
|
||||
|
||||
All three come from the same records. A garment issued at the counter changes the person's holding and the shelf figure, and if the size drops to its reorder level it appears on the order list.
|
||||
|
||||
## The menu
|
||||
|
||||
The menu down the left side lists the screens in this order.
|
||||
|
||||
| Screen | What it is for |
|
||||
|---|---|
|
||||
| `Today` | The day's queues: bags to collect, the delivery round, requests to pick, deliveries to receive and stock counts, with the first-run steps while a facility is setting up. |
|
||||
| `Counter` | Pick the person, scan or pick the garment, record the issue. |
|
||||
| `Stock` | On-hand figures by size, reorder levels and adjustments, stock counts, and locations. |
|
||||
| `Orders` | Supplier orders, the order list and receiving. |
|
||||
| `People` | The staff register and each person's record. `Requests` from the staff app sits with it. |
|
||||
| `Reports` | The finance reports, on three tabs. |
|
||||
| `Settings` | Facility, Issuing rules, Catalogue & suppliers, Places & cost centres, People & sign-in, Data & audit log, and Plan. |
|
||||
|
||||
`Delivery rounds` belongs with `Today`. The `?` in each screen's heading opens its page in this manual.
|
||||
|
||||
On a narrow screen the bar along the bottom holds `Today`, `Counter`, `Stock` and `More`. `More` holds Orders, People, Requests, Delivery rounds, Reports, Settings, Help and the counter app.
|
||||
|
||||
## Who signs in
|
||||
|
||||
The people who run the linen room sign in as users, and each user has one of two roles.
|
||||
|
||||
- **Admin** sets the facility up and makes the changes that affect everyone: the catalogue, reorder levels, the staff register, users and orders to suppliers.
|
||||
- **Issuer** works the counter: issues, returns, requests, stock takes and deliveries.
|
||||
|
||||
The person who creates the facility is its first Admin. Staff who wear the uniform are not users. They sign in to the staff app with a separate account that shows their own record and the requests they are part of. [The two roles](/docs/start/the-two-roles) sets out what each can do.
|
||||
|
||||
## Where the manual lives
|
||||
|
||||
The same pages appear in three places.
|
||||
|
||||
- On the website, under `/docs`.
|
||||
- In the app, under `Help`.
|
||||
- In the Community edition's source repository, `pricehq/threadcount-community`, in the `docs/manual` folder.
|
||||
|
||||
## How do I…
|
||||
|
||||
| Task | Page |
|
||||
|---|---|
|
||||
| Load the staff register and catalogue from a spreadsheet | [CSV templates](/docs/reference/csv-templates) |
|
||||
| Issue a garment at the counter | [Issue a garment](/docs/counter/issue-a-garment) |
|
||||
| Set the level at which a size is reordered | [Reorder levels](/docs/stock/reorder-levels) |
|
||||
| Count the shelf | [Stocktakes](/docs/stock/stocktakes) |
|
||||
| Order from a supplier | [Your first order](/docs/start/your-first-order) |
|
||||
| Book in a delivery that arrived short | [Receiving and back orders](/docs/stock/receiving-and-back-orders) |
|
||||
| Give a colleague a login | [Users](/docs/account/users) |
|
||||
| Get staff onto the staff app | [Staff app](/docs/apps/staff-app) |
|
||||
| Close off the month for finance | [Month-end pack](/docs/reports/month-end-pack) |
|
||||
| Take a backup of everything | [Export and backup](/docs/account/export-and-backup) |
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: Your first order
|
||||
section: start
|
||||
order: 4
|
||||
summary: From the order list to a delivery on the shelf, including what happens when it arrives short.
|
||||
screen: Orders › Order list
|
||||
role: Admin
|
||||
keywords: order, ordering, purchase order, supplier, reorder, raise, order list, csv, email supplier, receive, delivery, back order, invoice
|
||||
---
|
||||
|
||||
## Before you start
|
||||
|
||||
The order list depends on two things you set up once.
|
||||
|
||||
- **Reorder levels** on `Stock › On hand`. A size appears on the list when its on-hand figure is at or below its level. See [Reorder levels](/docs/stock/reorder-levels).
|
||||
- **Suppliers** under `Settings › Catalogue & suppliers`: the account number, the order email and the lead time in days. Each garment names its supplier. See [Suppliers](/docs/stock/suppliers).
|
||||
|
||||
Enter each size's supplier code on the garment's page. A line with no code shows `no code`, which links to that garment.
|
||||
|
||||
## The order list
|
||||
|
||||
On `Orders`, press `Order list`. Only Admins can use the button, the list and the order sheet.
|
||||
|
||||
The list has two kinds of group.
|
||||
|
||||
- **Stock groups**, one per supplier. Each line is a size at or below its reorder level. Its quantity tops the size up to twice its reorder level, allowing for what is on hand and what is already on order. A line tagged `runs out` will run out before a delivery ordered today would arrive.
|
||||
- **Draft groups**, one for each existing draft order. A draft is either a person's order from the counter or a replenishment draft. A person's order is never merged into the shelf's order.
|
||||
|
||||
In a stock group you can change any `Order qty`, `Remove` a line, or `Add a line` for any garment and size. If you have already placed the order on the supplier's website, type their order number into `Supplier order no.`. The field is optional.
|
||||
|
||||
## Raise, then send
|
||||
|
||||
Press `Raise`. The button says how many orders it will raise.
|
||||
|
||||
1. **Each stock group becomes one order** marked `Ordered`, with the supplier's order number as its reference. Lines left at zero are dropped.
|
||||
2. **Each draft is raised with its lines unchanged** and marked `Ordered`.
|
||||
3. **The screen lists the raised orders**, each with three ways to send it.
|
||||
|
||||
- `Print` opens the A4 order sheet with the supplier's product codes.
|
||||
- `CSV` downloads the order with the columns Supplier code, Description, Size, Qty and Unit cost.
|
||||
- `Email` sends the order to the supplier's order email. It is refused if the supplier has no email address, if email is not set up on the server, or if the order is a draft or cancelled.
|
||||
|
||||
## What is written
|
||||
|
||||
| Record | Change | Undo |
|
||||
|---|---|---|
|
||||
| Order | One new order per supplier, `Ordered`, with a code like `ORD-2026-0001` and an expected date the supplier's lead time away, or 14 days if none is set | An Admin can `Cancel order` while it is Draft, Ordered, Shipped or Back Order |
|
||||
| Draft order | Status changed to `Ordered` | Cancel, as above |
|
||||
| Order | The time it was emailed or printed | None |
|
||||
|
||||
## Receive the delivery
|
||||
|
||||
Open the order from `Orders`. When the supplier dispatches, you can press `Mark shipped`, though it is not required. When the boxes arrive, press `Receive delivery`.
|
||||
|
||||
1. **Enter the invoice number and arrival date.** A note and a photo of the invoice are optional.
|
||||
2. **Enter what arrived on each line.** Each line starts at the quantity still outstanding. `Scan items off the box (camera)` adds one for each scan.
|
||||
3. **Choose the destination.** `Shelf` puts the garments into stock. On an order for a staff member, `Pickup` puts them on the call list instead.
|
||||
4. **Check the cost.** If the invoiced cost is not the catalogue cost, choose `Keep`, or an Admin can choose `Update catalogue cost`.
|
||||
5. **Press `Receive`.**
|
||||
|
||||
The server refuses a line where more arrived than was outstanding, and refuses a delivery where nothing arrived.
|
||||
|
||||
## Back orders
|
||||
|
||||
Anything that did not arrive goes on a back order. The original order is marked `Received`. A new order with status `Back Order` is created for the shortfall. It keeps the same supplier reference and has the note `Back order — short on` followed by the original order's code. The original order lists it under Back orders.
|
||||
|
||||
When the rest arrives, receive the back order the same way. A received delivery cannot be reversed, so an Admin corrects the shelf with `Adjust quantity` instead. There is more detail on [Receiving and back orders](/docs/stock/receiving-and-back-orders) and [Order list](/docs/stock/order-list).
|
||||
Reference in New Issue
Block a user