Know what's on the shelf, and what it's worth
One live figure per item per location, covering on hand, committed, available and incoming. It moves with every sale, receipt and transfer, and is valued at what you actually paid for it.
Highland Single Malt 12yr
42 on hand · 6 committed
Botanical Dry Gin
8 on hand · 5 committed
Reposado Tequila
0 on hand · 0 committed
Coastal Sauvignon Blanc
11 on hand · 2 committed
Reorder now
24 × Botanical Dry Gin
Lead time 5 days · covers three weeks
One item, one location
A stock figure is four numbers
Most systems show you one and hope nobody asks. Every item carries all four at every location, and they move on their own as the day goes.
48
On hand
Units physically at the location, held at the cost they were received at.
6
Committed
Already promised to an order that has not been fulfilled yet.
42
Available
What you can genuinely sell today without letting somebody down.
24
Incoming
On a confirmed purchase order. Not sellable yet, but the reorder maths counts it.
Everything one item carries
A record is more than a name and a price. It is what decides whether the count, the margin and the reorder are right, so you set it once and every screen reads the same thing.
Identity
- Name
- Botanical Dry Gin
- SKU
- SPR-GIN-004, generated if you leave it blank
- Barcode
- Scanned at the till, searchable everywhere
- Category
- Nested, so Gin sits under Spirits
- Supplier
- Who you buy it from, and their lead time
Money
- Cost
- Weighted average, restated on every receipt
- Price
- Set against the unit you sell, not the one you buy
- Tax band
- Standard, reduced or zero-rated
- Margin
- Worked out per sold unit, kept current
- Value
- On hand × cost, per location and in total
Stock
- Unit
- Bottle, case, keg, kilogram, or your own list
- Sold as
- 16 pours to the bottle, priced per pour
- Reorder point
- A default, overridable per location
- Variants
- Sizes and finishes with their own SKUs
- Track stock
- Off for services and made-to-order
The list you actually work from
Search by name, SKU, barcode or category, filter to what is low or out, and open any item to its own history.
Highland Single Malt 12yr
SPR-WSK-012
Botanical Dry Gin
SPR-GIN-004
Reposado Tequila
SPR-TEQ-009
Barrel-Aged Bourbon
SPR-BRB-021
Coastal Sauvignon Blanc
WIN-WHT-018
Brut Champagne
WIN-SPK-007
- Filter to in stock, low or out in one click
- Stock by location on every item, valued at that site's cost
- A movement history per item, oldest entry to newest
- Bulk select, export, and import your opening stock
Every unit that moves says why
Nothing changes a figure without writing a row: the kind of move, the person, and the balance it left behind. The rows are never edited, only added to.
- Purchase
- Sale
- Adjustment
- Transfer in
- Transfer out
- Return
- Count
A correction asks you why
- Damaged goods
- Broken in the crate or behind the bar
- Theft or loss
- Recorded rather than quietly absorbed
- Expired
- Off the shelf, off the stock figure
- Count correction
- The shelf was right, the screen was not
- Other
- With a note, because someone will ask
Lots and dates
Stock that goes off, watched by the day
Anything received in lots keeps its lot number, its remaining quantity and its date. Every lot sits in one of four bands, and what is at risk is totalled for you.
Expired
Past its date
Still on the shelf until someone writes it off, and counted as value at risk until they do.
Critical
Within 7 days
Close enough to discount, move to a busier site, or plan around.
Soon
Within 30 days
Flagged early, while there is still time to sell through it.
Fresh
Beyond 30 days
Nothing to do. A lot with none left drops out of the list entirely.
Writing one off asks for a quantity, a note, and one of these:
- Expired
- Damaged
- Spoiled in storage
- Failed inspection
- Recalled
Fifty sites, one figure
Each location keeps its own on-hand, its own average cost and its own reorder point, and the roll-up stays consolidated.
- Warehouse
- Store
- Bar
- Kitchen
- Floor
- Storage
- Stock, prices and access scoped to each site
- Reorder points tuned per store, not per company
- Bin locations so a counter knows which shelf
Locations
4 sites · consolidated live
Downtown Flagship
store
Airport Kiosk
store
Warehouse 3
warehouse
Central Kitchen
kitchen
Transfers
2 in transit · 31 this month
| Reference | Route | Items | Status |
|---|---|---|---|
| TR-88 | DowntownAirport | 120 | Confirmed |
| TR-87 | WarehouseDowntown | 340 | Received |
| TR-85 | AirportMall | 64 | Received |
| TR-84 | WarehouseAirport | 210 | Confirmed |
| TR-82 | DowntownWarehouse | 45 | Pending |
Moves between sites, accounted for
A transfer leaves one location and arrives at another with nothing double-counted in between, and lines can arrive in parts.
- DraftWritten up, waiting on sign-offAt the source
- PendingApproved, not dispatchedAt the source
- ConfirmedOut of one site, not into the otherIn transit
- ReceivedChecked in, line by lineAt the destination
Knowing when to order
The suggestion, worked out in front of you
A reorder point on its own orders too late. Stocked reads what an item actually sells, adds what the supplier's lead time will eat, subtracts what is already on its way, and shows you the arithmetic rather than a number to trust.
Out — Nothing sellable left at that location
Below — Under the reorder point you set
Watch — Above it, but not by the time a delivery lands
Botanical Dry Gin · Main Bar
- Sells
- 3.4 bottles a day
- Supplier lead time
- 5 days
- Consumed while you wait
- 17 bottles
- Reorder point here
- 12 bottles
- Cover you need
- 29 bottles
- Available now
- 8 bottles
- Already incoming
- 0 bottles
- Suggested order
- 24 bottles
The gap is 21. You buy it in 24s, so 24 is what it suggests, grouped with everything else due from Harbour Drinks Co. into one draft order.
- Costing
- Weighted average, re-struck on every receipt
- Batch tracking
- Per lot, with shelf-life warnings
- Movement history
- Append-only, with a balance on every row