Stock
/stock. Needs module.stock.
Consumables: cables, adapters, bags, chargers, cases. The things a school desk sells across the counter all day.
The catalogue
Section titled “The catalogue”Each product has a name, a description, a price and a stock count, and can have a photo or an icon.
Keep the catalogue small. A list of two hundred items goes stale within a term, and the things that sell are usually under a dozen.
Photos and icons
Section titled “Photos and icons”A picture is what lets a student at the kiosk tell the USB-C adapter from the Lightning one without reading. Select a product’s thumbnail in the list, or use Image or icon when adding one, and either:
- Upload or drop a photo. WebP, PNG or JPEG. The browser shrinks it to 320 pixels before it is sent, so a phone photo is fine as it is.
- Choose an icon and a colour, from a fixed set of everyday items such as a charger, headphones, a cable or a bag.
Remove image takes it off again. A product with neither shows a plain placeholder. Out-of-stock products show their thumbnail greyed out.
The picture appears wherever the product does: on the desk, on the student portal and the kiosk when choosing what to buy, and against purchases in the parent portal. Photos are stored with the product in Plugboard’s own database rather than in object storage.
The portal’s photo address is public in the same way the portal catalogue already is: anybody who can reach your portal can see the products it offers and their pictures. Do not use a photo you would not put on the kiosk screen.
Changing or removing a picture is recorded in the audit log as a change to that product.
Selling at the desk
Section titled “Selling at the desk”Pick the product, pick the person, confirm. The stock count decrements automatically.
The purchase appears on the person’s page and in the parent portal, and a receipt is emailed to the student’s parents.
Purchase history lists the 100 most recent sales. Each buyer links to their person page.
Selling at the kiosk
Section titled “Selling at the kiosk”Students can buy items themselves at the kiosk:
- Pick the product and quantity.
- Verify it is them by tapping a card or entering a password.
- Confirm.
A confirmation is emailed to the student’s parents. That message cannot be switched off, because a parent is owed a receipt for money taken.
The verification step exists for the same reason. Charge a family without proving who is standing at the counter and you will eventually be arguing about it.
Stock counts
Section titled “Stock counts”Counts decrement on sale. They do not increment on their own, so restocking is a manual edit.
That is not an omission. A school’s actual restocking process is a box arriving from a supplier and somebody putting it on a shelf, and pretending otherwise means a count that is confidently wrong.
Practical advice: check counts when you reorder, not on a schedule. The count matters at the moment you are deciding what to buy, and at no other time.
Importing a stock list
Section titled “Importing a stock list”From 0.21.0, Import CSV (needs stock.manage) loads a stock list from a
spreadsheet: name, stock, price and description, where only the name is
required and the price is in dollars. A product already here, matched by name
ignoring case, is corrected from the file; any other name is added.
The stock column is the count on the shelf now, not an amount to add, so an end-of-term count can be pasted straight in. Review import shows every row’s outcome first, and the import applies exactly that review. If a sale lands between the review and the import, that product’s row is reported rather than overwriting the sale. A name that two products share, or that the file repeats, is refused for that row. Download rows to fix returns skipped rows with an Import problem column. Products are shared by the whole school, so there is no campus to choose. Every import is recorded in the audit log.
Prices and money
Section titled “Prices and money”Prices are what you charge, and they feed the receipt and the parent portal.
Stock sales are separate from damage charges, which are what a family is asked to pay for a repair. Different processes, different permissions, different conversations.
Permissions
Section titled “Permissions”| Permission | Allows |
|---|---|
stock.view |
See products, their pictures and purchase history |
stock.manage |
Maintain the catalogue, including pictures, and sell items |
Related
Section titled “Related”- The kiosk for self-service purchase.
- The parent portal for where purchases show up.
- Costs for repair spending, which is a different number.