Availability
Every stock figure in BatchDash is one of six words, and every surface uses them the same way. The formula between them is short: available = on hand − held − reserved.
The six words
Section titled “The six words”On hand is what the ledger says is physically there: the number you would count on the shelf. For products it includes held stock.
Held is made stock booked by a completed batch but waiting on its finished-product check (the release gate). Only products can be held; an ingredient is never “held”.
Reserved is spoken for but not yet consumed. For ingredients, it is what open batches (planned or in progress) still plan to draw, minus what they already weighed in. For products, it is what confirmed, unshipped sales orders promise, plus what open batches plan to draw from stock.
On order is the un-received quantity on open purchase orders, ingredients and packaging. It is what is coming, never part of what is there: the two numbers stay separate so a shelf is never counted before it lands.
Available is the answer to “can I promise this right now?”: on hand, minus held, minus reserved. It never goes below zero on screen. When promises exceed the shelf, the page says so in words: “short 1.8 kg for the batches already planned.”
Projected is availability on a future date, crediting expected deliveries and planned production. It needs a date to mean anything, so it lives on the Planner and nowhere else.
Where the words show up
Section titled “Where the words show up”The ingredient list and page show available, reserved and on order beside the on-hand figure, and the ingredient page names the batches and purchase orders behind them. The products list shows available with the held and reserved quantities beside it. Buying and the run editor have always used these words; they are where the vocabulary comes from.
Two things the figures never do: nothing here blocks a batch or a sale (reservation is planning; the ledger stays the authority), and nothing is stored or synced. Every figure is read live from the same open batches and orders the rest of the app shows, so two screens cannot disagree.