🧴 Perishables
The consumables you buy, stock per group, and deliver with every check-out.
The Perishables page (admin only, under Settings) manages your consumables — the things you re-stock at a property on every turnover that are used up on site and never come back: washing liquid, toilet paper, coffee pods, dishwasher tabs, bin bags, and the like. They go out with the clean linen on each check-out but, unlike linen, they never return on the Dirty Queue. The page has two layers: a catalogue of items and a stock ledger with real quantities and prices — exactly like the Linen Vault, but for consumables.
The catalogue
- Open Settings → Perishables.
- Type a name (e.g. Toilet paper) and an optional unit (roll, bottle, pod), then click + Add perishable.
- Edit a name or unit on any row and click Save. Remove drops one you no longer stock — but only once its stock is zero (issue or write it down first, so a delete can never silently discard counted stock).
Stock: buy it, deliver it, count it
Each perishable now carries a quantity and a value, held per property group — just like linen. The group tabs at the top scope the whole page: Default (properties in no group), one tab per group, and a read-only Total that sums them all. The tab you pick is remembered — the page never switches it for you.
- Buy stock: in Record a movement choose Purchase, add the item(s) and quantities, and enter a price — either the unit price *or* the total price for the whole purchase; whichever you type, the other fills in automatically (unit = total ÷ quantity). Save, and the stock rises in the tab you’re on, with its value tracked at a weighted-average cost.
- Deliver it: when a packer completes a clean bag, the bag’s perishables are deducted from that property’s group automatically (see below) — you don’t issue them here by hand.
- Correct a count: choose Adjustment to add or subtract (a miscount, breakage, a write-down). A negative adjustment can never take a group below zero.
- Set the unit cost by hand (optional): the unit cost is normally the average of what you paid, but you can override it in the Catalog (the *Unit cost* column) — type a value to pin it (a set tag marks it), or leave it blank to use the automatic average. The cost you set drives the stock value and any product cost that uses this item.
- Move between groups: choose Transfer, pick the destination group, and the stock moves as a balanced pair — it leaves one group and lands in the other, so the tenant-wide total never changes.
Products (assembled kits)
Often you buy the parts separately and assemble a finished product — e.g. you buy bulk body wash (in ml), empty bottles and stickers, then fill a bottle and label it. Define that on the Perishables page as a Product with a recipe: *Body Wash 250 ml* = 250 ml Body Wash + 1 Bottle + 1 Sticker. A product holds no stock of its own — its Buildable count is simply how many complete kits your current ingredient stock allows (the lowest of what each ingredient permits), and its cost is the sum of its parts.
On the Clean Queue you deliver the product, not the parts: completing a bag with 2 *Body Wash 250 ml* automatically deducts 500 ml body wash + 2 bottles + 2 stickers from the property’s group. Any ingredient that goes into a product is hidden from the Clean Queue — you hand over the finished product. (You can switch this on per property group: Settings → Property groups has a checkbox to allow packing product ingredients loose on the Clean Queue for that group — off by default, so every other group keeps the standard behaviour.) An ingredient can belong to several products (e.g. the same sticker), and an item stays deletable only while no product uses it.
What a property delivers by default
On a property’s own page you can set its Perishables default set — the standing items it should receive on every turnover, split into Products (assembled kits, e.g. 1 Body Wash) and Individual items (loose consumables that aren’t part of a product, e.g. 2 toilet rolls). That set pre-fills the perishables on its clean bag, where the packer can still edit it before completing. On completion, exactly what’s on the bag — products exploded into their ingredients — is deducted from the property’s group stock.