Stock tracking
Each property has a set of supplies it tracks. Each supply has a current stock level, a reorder threshold, and a unit.
The supply row
| Field | What |
|---|---|
| Property | Where the supply lives |
| Name | Display name (e.g. "Coffee Capsules", "Toilet Paper") |
| Base unit | pcs / packs / liters / kg / rolls / … — the unit stock is counted in |
| Current stock | Live count |
| Reorder threshold | When stock ≤ this, a restock task auto-spawns |
| Auto-close behavior | resolve / discard / off — see Auto-close on restock |
| Last receipt | Link to the receipt that last added stock |
Adjusting stock manually
Tap a supply row → Adjust stock. Enter a delta (+ or -) with a reason. The change writes to stock + an audit row (user-owned config per gh#321).
Manual adjustments respect the auto-close engine — bumping stock above threshold triggers the open restock task to close (per the configured close-action).
Threshold tuning
Set per-property per-supply. There's no global threshold; each property has its own.
Tap a supply → Edit threshold → enter new value. The next auto-close engine run uses the new threshold.
Subtraction events
Stock decreases happen via:
- Cleaner walkthrough item:
Take 2 capsules from supply→ -2 capsules. - Operator manual subtraction.
- Per-stay automatic usage (configured per template).
All subtractions write to the audit log.
Visibility for the cleaner
The cleaner sees the supply state in the cleaner app — when checking off an item that consumes supplies, the per-item screen shows current stock and warns if the consumption would drive stock below threshold (so the cleaner can flag a restock need).
Related: gh#487 + gh#529 (auto-close engine), gh#515 (pack-size mapping).