Inventory Management¶
Inventory management tracks stock across a main warehouse and any number of sub-stocks (e.g. each bar's own fridge). Sales deduct stock automatically — including recipes (a cocktail deducts 4 cl of rum from the bottle). On top of that: suppliers, purchase orders, goods receipt, stocktaking and a complete movement journal.
Admin → Lager (Inventory) · Enable it under Settings → Operations → Lagerverwaltung
Core concepts¶
| Term | Meaning |
|---|---|
| Stock location | A place with its own stock level: main warehouse, bar 1, kitchen … |
| Workstation stock | Each workstation can be assigned a stock location under Settings → Workstations. Sales at that workstation deduct from there (otherwise from the main warehouse). |
| Stock unit | The unit used for counting (bottle, piece, kg) — set on the article. |
| Content | Content per stock unit (e.g. bottle = 0.7 l) — the basis for recipe conversion. |
| Packaging | The supplier's order unit (e.g. crate of 20 bottles) with its own purchase price. |
| Min / target | Per stock and article: below min a replenishment is triggered, refilled up to target. |
System stocks are created automatically: main warehouse, goods-in, loss, goods-out, kitchen and empties.
ℹ️ Negative stock is allowed — a sale is never blocked. Shortfalls are highlighted in red and can be corrected via stocktaking.
Setting up a stock article¶
Admin → Articles → open article → "Lager" tab
- Enable Track stock — from now on every sale deducts.
- Min/max stock (optional): drives the purchase proposal for the main warehouse.
- Content per unit (optional): e.g.
0.7+ unitlfor a 0.7-litre bottle. - Suppliers & packaging: per supplier the article number, packaging ("crate 20×0.5"), packaging factor (20) and purchase price per packaging unit; mark one entry as default.
Recipes¶
In the same tab you can define recipe components: the sold article (e.g. "Cuba Libre") then deducts its components — quantities are given either in the component's stock unit (1 bottle) or its content unit (4 cl). Recipes may be nested (max. 3 levels). Components need "track stock" themselves.
The inventory workflows¶
| Case | Where | What happens |
|---|---|---|
| Sale | automatic on ordering/checkout | article + recipe + options are deducted from the workstation stock |
| Void | automatic | exact counter-booking back into stock |
| Goods receipt with order | Inventory → Orders → open order | record delivered quantities per line (partial deliveries supported), purchase price adjustable |
| Goods receipt without order | Inventory → Bookings → New booking → Goods receipt | free receipt into a target stock |
| Transfer | Inventory → Bookings → New booking → Transfer | stock moves between locations |
| Bar replenishment request | POS → Inventory → Request (or automatic) | bar requests from main warehouse; warehouse picks; booked on arrival |
| Breakage / expiry / own use | POS → Inventory → Loss, or Admin → Bookings | deduction with a reason into the loss stock |
| Stocktaking | Inventory → Stocktake | count, differences are booked automatically as corrections |
| Supplier order | Inventory → Orders → Proposal | demand from min/target, grouped per supplier, sent by e-mail |
| Correction | Inventory → Stock → row action | single ± correction (audited) |
Admin tabs¶
- Stock — stock levels per location with min/target, average purchase price and stock value; articles below minimum or negative are highlighted; quick actions: loss, transfer, correction.
- Bookings (journal) — every movement with "who, when, what, from where to where", filterable by stock, article and period; manual bookings are created here.
- Requests — open bar requests with status Requested → In delivery → Booked. With Settings → Operations → auto requests enabled the system creates requests automatically every 5 minutes when a bar stock falls below minimum.
- Orders — supplier orders in packaging units; the purchase proposal computes demand from min/target, rounds up to full packaging units and groups by supplier; orders can be e-mailed to the supplier; goods receipt per line, partial deliveries stay open.
- Stocktake — per stock: start → fill the counting list (with search and barcode entry, Enter jumps to the next field) → complete with a difference preview. Differences are booked as corrections, period counters restart; uncounted articles stay unchanged; every stocktake is kept as a protocol.
- Suppliers — master data (address, order e-mail, customer number, minimum order value, lead time) and the assigned articles with packaging.
- Stock locations — create/rename stocks and maintain min/target levels per article; also shows which workstations use the stock.
POS functions for the bar¶
POS → Lager (tile only appears with inventory permission): own stock levels, replenishment request (pre-filled from min/target), breakage/loss with reason in three taps, and confirmation of delivered requests.
Reports¶
Admin → Reports → Lager: stock value per location, sales, receipts, losses broken down by reason and corrections for the selected period — the shrinkage indicator for every bar.
Permissions¶
Admin → Staff → employee → rights → "Lager" section: full management (equals the POS right "Lagerverwaltung"), or granular rights for viewing, bookings/requests, stocktaking, orders and master data. Admins and managers automatically have all inventory rights.