Inventory
See what you are about to run out of before a customer does, and look up why a number is what it is — including how to count stock without an incoming order making your count wrong.
Manage → Inventory (vi: Quản lý → Kho hàng) answers the two questions the Products screen cannot:
What am I about to run out of?
Why does this say 3 when I counted 5?
Every row is a VARIANT, not a product
This is the important difference from the Products screen. A shirt with 40 larges and no mediums reads as "40 in stock" there — while it sells nothing to half the people who want one.
The list is sorted by available, scarcest first. So you open this screen, read nothing, and have still been told the thing that mattered.
The three numbers
- On hand — what is physically in the shop.
- Reserved — what is already spoken for by orders not yet sent.
- Available — on hand minus reserved. This is what the shop sells against, and the only one that is coloured. Colour all three and every row is loud and says nothing.
A new order raises reserved; fulfilling it turns that hold into a reduction of on hand; cancelling gives it back. You do none of those steps by hand.
The "running low" threshold is yours to set
The Running low only switch filters against the threshold at Manage → Settings → Inventory, which starts at 5.
It is a judgement, not a fact: a bakery restocking daily and a furniture shop ordering monthly mean entirely different things by the word. Set it to 0 to be warned only once something has actually run out.
A pre-order variant is never flagged as low. The pre-order flag means it sells past zero, so none in stock is not a shortage. Listing them beside real shortages buries the rows you actually have to act on.
Adjusting: counted it, or add and remove
The Adjust button asks which you are doing, and that distinction is the whole dialog:
- Counted it — you counted and know the final number. Typing 5 means "there are 5".
- Add or remove — you know the change. Typing 12 means "12 more arrived".
Why they are separate: for a count, the difference is worked out by the server, against the figure it holds. So if an order completes while you are counting, "there are 5" still ends at 5 — not 6. If the screen did the subtraction itself it would be wrong by exactly the orders placed while you counted, and most wrong when the shop is busiest.
The note field shows up in the history. It is where "third delivery" or "2 broken" goes.
History — the answer to "why does this say 3"
The history button on each row opens every change to that variant, newest first, each with a reason: new order, order cancelled, fulfilled, return, stock count, manual.
The reason is what makes it readable at a glance. Four order rows and a fifth that somebody typed is one story; five stock counts is a different one — and as a bare list of numbers the two look identical.
The record is append-only. Nothing edits it and nothing deletes from it. A stock record people can rewrite proves nothing.
An adjustment that was refused — holding 8 when only 1 is available, say — leaves no row at all. The record holds what happened, not what was tried.
Updated 07/09/2026