Afterwards you will be able toRaise a purchase order, receive part of it, and read how the balance, the average cost and what you owe the supplier all moved.
Teaching simulation
This is a teaching demo running in your browser on sample data. It sends no real invoices, messages or orders.From purchase order to shelf
Sixty jars ordered, twenty-four arrived — what moves in stock and in what you owe
Purchase orders to suppliers, received line by line — because suppliers ship some items and not others.
All orders
41
Awaiting delivery
3
Committed
16,250.00
| Number | Supplier | Date | Total | Status |
|---|---|---|---|---|
| PO-2026-0041 | شركة التغليف الحديثة | 28/09/2026 | 8,625.00 | Partly received |
| PO-2026-0038 | مناحل الباحة للعسل | 18/09/2026 | 5,175.00 | Received |
This is a teaching demo running in your browser on sample data. It sends no real invoices, messages or orders.
Sixty jars of honey ordered at 115 each. Twenty-four arrive, the balance rises to 60, the average cost rises to 113.50, and payables rise by 2,760.
Every step in the words the walkthrough narrates — to read without playing anything, or to follow while you do it on your own screen.
Sixty jars of honey ordered at 115 each. Twenty-four arrive, the balance rises to 60, the average cost rises to 113.50, and payables rise by 2,760.
Purchasing is not an expenses book. It is the other side of stock: what you ordered, what arrived, and what is still on the road — and the gap between those three is what tells you a supplier is late before an angry customer does.
Look at “Committed” at the top before we start: the total of placed orders that are not complete. It is not a debt — nothing has arrived — but it is money you have promised to spend, and it is the figure that everybody planning cash from a bank statement alone forgets.
The supplier comes from a file, like a customer. Beside it sits a field that matters more than it looks: “Deliver to”. The order names its warehouse now, because receiving will move one particular store’s balance — and that is not a thing to decide in the minute the lorry arrives.
Picking the item out of stock is what makes this line move a balance. A line typed as free text — “freight”, “customs” — stays on the order and never touches stock at all, and that is deliberate: not everything you buy is goods that go on a shelf.
Sixty jars. Quantities are thousandths here as they are on invoices, so ordering half a tonne or a quarter of a litre stays an exact integer with no division error leaking in.
115 a jar — it was 112.50 last time. This exact cost is what will enter stock when the goods are received, not a price looked up in some list later: what you paid is a historical fact, and the value that lands on the shelf has to be it.
The total is 6,900 with 1,035 of tax on top. Save it as a draft: it has no number yet, nothing has gone to the supplier, and nothing has changed in the books. A draft is a sheet on your desk, not a promise to anybody.
Placing it is the moment the order takes its number — PO-2026-0042 — exactly as an invoice takes its number on issue rather than on save. And only from now can anything be received against it: the system refuses a receipt on an unplaced order, because that would be goods arriving that nobody ordered.
The lorry turns up with twenty-four. The field already reads 60 — the quantity still outstanding, which is what usually arrives — and you change it to what actually came. Receiving here is per line, not per order: five items on the order and three in the van means you receive three and the other two stay open.
The status becomes Partly received and 36 are still on the road. And if more arrives than was ordered — twelve against an order of ten — the system accepts it and flags it as over rather than refusing it: the supplier sent twelve and the warehouse holds twelve, and refusing to record that does not send two back, it just makes your stock figure a lie.
Over to the item itself. The receipt was not only recorded on the order: it wrote a full stock movement with its reference — the purchase order’s number — so you can stand in front of any jar and find out which delivery it came in on and at what price.
Sixty jars worth 6,810, at an average that has moved from 112.50 to 113.50. The old jars were not repriced and nothing of theirs was touched: the incoming value was added as it was paid, and the average is the division afterwards. That is why rounding error cannot accumulate — no average is stored to be updated; a quantity and a value are stored and the average is derived when it is wanted.
One side is left. The goods are on the shelf and the supplier has not been paid, so that has to show somewhere — otherwise you own stock against nothing, which is a balance sheet that does not balance.
Inventory 1200 debited 2,760 and accounts payable 2010 credited the same — the value of what arrived, not the value of the whole order. An asset became an asset and a liability, and there is no expense here at all: buying is not spending, it becomes a cost on the day what you bought is sold. Note too that the entry is at cost with no tax in it, because what you pay in tax is not part of what a jar costs.