Skip to content

Stock

/stock. Needs module.stock.

Consumables: cables, adapters, bags, chargers, cases. The things a school desk sells across the counter all day.

Each product has a name, a description, a price and a stock count.

Keep the catalogue small. Nobody maintains a list of two hundred items, and the counts go wrong within a term. The things that actually sell are usually under a dozen.

Pick the product, pick the person, confirm. The stock count decrements automatically.

The purchase appears on the person’s profile and in the parent portal, and a receipt is emailed to the student’s parents.

Students can buy items themselves at the kiosk:

  1. Pick the product and quantity.
  2. Verify it is them by tapping a card or entering a password.
  3. 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.

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.

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.

PermissionAllows
stock.manageMaintain the catalogue and sell items

There is no separate view permission. Somebody who can see the stock page can sell from it.