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,74 @@
|
||||
---
|
||||
title: Manager approvals
|
||||
section: counter
|
||||
order: 4
|
||||
summary: One manager on each staff record approves that person's requests and signs their order form. Deciding in the app or by email, self-approval, and recording a signed form.
|
||||
screen: People › a person › Requests
|
||||
role: Admin or Issuer
|
||||
keywords: manager, approval, approve, decline, approver, email link, self-approved, signed form, order form, sets, FTE, credit slip, delegate
|
||||
---
|
||||
|
||||
Each staff record names one manager. That person approves the wearer's requests in the staff app and signs their paper order form.
|
||||
|
||||
## One manager per record
|
||||
|
||||
The manager is set in the `Manager` box under `Manager’s approval` on the staff record. Search the register by name or staff number and choose; it saves at once. Only an Admin can set, change or remove it.
|
||||
|
||||
- Anyone may be their own manager. The box then shows `Self-approved`.
|
||||
- An inactive person cannot be chosen: `That manager is no longer active on the register.`
|
||||
- A manager whom others still name cannot be deactivated: `<n> people still name <first name> as their manager, and a request can't be sent to somebody who is off the register. Give them a new manager first.`
|
||||
|
||||
Without a manager, the staff app refuses to raise a request: `Your manager isn't set yet — the linen room has to record who approves your requests.`
|
||||
|
||||
A request is addressed to the manager recorded when it was raised. Changing the manager later does not move it; use re-address on `Requests` ([Requests from staff](/docs/counter/requests-from-staff)).
|
||||
|
||||
## Deciding in the app
|
||||
|
||||
The manager opens the request in the staff app. Every garment starts marked approved. They can decline a single garment, or the whole request, with one of 3 reasons: `Over allowance`, `Not needed right now` or `Wrong item for the role`. Every garment must be decided before sending.
|
||||
|
||||
When at least 1 garment is approved the request goes to the linen room; when none is, it is declined. The wearer is emailed the result with the reason against each declined garment, when they have an account and email is set up.
|
||||
|
||||
## Deciding by email
|
||||
|
||||
When a request is raised, its manager is emailed `Uniform request from <name>`, or `Uniform request for <name>` when somebody raised it on the wearer's behalf. The link opens a page showing the request. Nothing is decided until the manager chooses on that page.
|
||||
|
||||
- The link lasts 14 days.
|
||||
- It decides the whole request: approve every garment, or decline every garment with one of the 3 reasons.
|
||||
- It works once. After either choice, both links in the email stop working.
|
||||
- It stops working when the manager or the wearer is no longer active on the register.
|
||||
|
||||
The decision is filed under the manager's name and marked as made from the email.
|
||||
|
||||
## Self-approval and the raise rule
|
||||
|
||||
Anybody may approve a request for their own uniform. It is never recorded as an ordinary approval: the history line reads `Approved by <name> — their own request`, with `Self-approved` beside it.
|
||||
|
||||
Nobody approves a request they raised for somebody else:
|
||||
|
||||
- A manager's raise for one of their own staff goes to the manager's own manager. If there is none, or it would come back to them, the request waits on `Needs an approver`.
|
||||
- Re-addressing to the raiser is refused: `<first name> raised this request, so it can't be sent back for <first name> to approve. Pick somebody else.`
|
||||
- Sending a request to its wearer is refused unless they are set as their own manager.
|
||||
- A decision by the raiser is refused: `You raised this request, so somebody else has to approve it — ask the linen room to re-address it.`
|
||||
|
||||
## Recording a signed order form
|
||||
|
||||
1. **Press `Print order form`** on the staff record, and have the manager sign it ([Slips and signatures](/docs/counter/slips-and-signatures)).
|
||||
2. **Under `Record a signed order form`, enter** `Sets`, `FTE`, `Date signed` and any `Note on the form`. The date cannot be after today.
|
||||
3. **Press `Photo the signed form`** if you want the sheet on file.
|
||||
4. **Press `Record approval`.** It needs a manager set in the box: `Set their manager first.`
|
||||
|
||||
The approval is recorded under the manager in the box. When the sets are above what the FTE table proposes, ThreadCount writes a sentence saying so after your note, and shows it first under `This will go on the record as written:`.
|
||||
|
||||
Each approval then shows `<n> of <m> sets left` or `Fully collected`, with `Form` to view the photo and `Credit slip` to print the balance. Sets come off at [Counter](/docs/counter/issue-a-garment). An Admin can remove an approval with `×`.
|
||||
|
||||
## What is written
|
||||
|
||||
| Record | Change | Undo |
|
||||
|---|---|---|
|
||||
| Staff record | The manager | An Admin changes or removes it |
|
||||
| Request and its lines | Each line approved or declined with a reason; status accepted or declined; decided time; a history line | None |
|
||||
| Approval | Date signed, manager's name as signed, link to the manager, sets, FTE, note, photo; sets used starts at 0 | An Admin removes it |
|
||||
|
||||
The name on an approval is a copy. It still reads as signed after the manager is renamed or leaves.
|
||||
|
||||
> **In plain terms** The manager in the box is the only approver, on screen and on paper.
|
||||
Reference in New Issue
Block a user