Feature · Inventory
Every branch’s stock in batches with cost, expiry and lot code. Online orders, the register and recipes sell from the oldest batch first, at what it cost you.
What’s included
What you get
Each sale takes the oldest batch first, at that batch’s cost, so your cost of goods reflects what you actually paid for that stock.
A batch past its expiry date can’t be sold at the register or online. It still counts as on hand until staff discard it.
A checkout holds its units while the customer pays, and the register can’t sell units an online basket is holding.
A stocktake remembers what was expected when counting started, so a sale rung up after a shelf is counted isn’t undone when you submit.
Already handled
A transferred batch keeps its arrival date, cost, expiry and lot code, so it’s still sold first at the new branch.
When ten paid orders race for one unit of an item set to keep selling, the first takes it and the other nine are recorded as owed, not refused.
Giving back the same sale twice returns each unit to stock once.
Works with