Demo actions are simulated in this browser and reset when the page is reloaded. Nothing here creates a real order, moves real goods, or takes a payment. The shop, every product, supplier and order reference is invented — and there is nothing to type.
A shop floor and a store room, and five different numbers that a simpler system would collapse into one called "stock". Count something and watch the figure change without ever being edited; move goods and watch them belong to neither location on the way; then look at what the website is allowed to sell, which is not what is on the shelf.
The same ledger underneath fits any business holding stock in more than one place — a shop with a store room, a contractor with a van, a kitchen with a dry store.
Out of scope on purpose: stock valuation, FIFO or weighted-average cost, cost of goods, barcode scanning and multi-currency — this is a stock ledger, not an accounting system. Purchase-order approvals are intentionally excluded as well: this prototype models stock quantities and movements, not an approval workflow.
Four invented lines. Pick one and every view below follows it.
The five quantities
None of these is called "stock". Each one answers a different question, and only one of them is what the website may sell.
Movement ledger — append only
On hand is the sum of these rows. It is not stored anywhere and there is no control on this page that writes it — a correction is another row, never an edit.
| When | Type | Location | Qty |
|---|
Stock take
Count what is physically there. The system's figure cannot be edited — if the two disagree you post a variance adjustment, and the ledger explains the gap afterwards for as long as the item exists.
Which location are you counting?
Your count
Starts at zero, not at the system's figure — a counter pre-filled with the number it exists to challenge is not a count.
Reported reason
Reported, not established. The system records what someone said the gap was; it cannot know which of these actually happened.
Transfer between locations
A transfer is two movements, not one. Dispatch posts the first; until someone receives it at the far end the goods are in transit and belong to neither location. The number never jumps from one place to the other.
From
How many
Read-only preview of the shop's public website — inside this prototype, not a separate login or account
—
—
The website reads Available at the shop floor. It never reads On hand — that is the same item shown through two different derived quantities, and selling against the wrong one is how a small shop oversells.
There is no basket, checkout or payment here. Checking availability is a read — it writes nothing to the ledger and changes no quantity.