On this page
For bartenders, bar managers and whoever owns the beverage margin. Bar
control (/bar) shows every spirit, wine, keg, beer and mixer at a bar
as sealed containers + open volume, how many servings are left, and
the shift that is on. Bar reports (/bar/reports) answer where the
whisky went.
The idea in one bottle
Johnnie Walker Black 750 ml opening 750 ml (1 sealed)
sold 10 singles × 25 ml −250 ml
sold 5 doubles × 50 ml −250 ml
spillage −25 ml
expected 225 ml (0 sealed + 225 open)
counted at close 180 ml
variance −45 ml = −7,200 at cost, −27,000 at retail
Sales come from the till (every single, double, glass, pint or bottle rung through the POS pours its measure from the bar store the moment the sale closes); losses are recorded by the bartender; the count is what is on the shelf; the variance is what nobody can explain — and it is written to the stock ledger so the book matches the shelf.
Setting up (/bar/products, beverage.manage)
- Brands — Johnnie Walker, Uganda Waragi, Nile Special… (for the brand report).
- Products — pick the stock item (the ingredient the store receives),
its kind, brand, container (750 ml bottle, 50 l keg, 500 ml bottle
of beer) and ABV; wine also takes grape, region and vintage. Measures
are filled in from the kind — single 25 ml, double 50 ml, shot 25 ml,
bottle for spirits; wine glass 150 ml, bottle for wine; pint 500 ml,
half pint 250 ml, jug 1.5 l, keg for draft — and can be edited (a
quarter bottle of Waragi is 250 ml). The pour sizes are business
settings (
bar.single_ml…). - Link menu items — Link item: the menu item sells the default measure; each of its variants (Single, Double, Bottle) sells its own measure. From then on a sale pours that many ml. Cocktails need no link: their recipe (rum 50 ml, lime, sugar, mint, soda) is what pours.
Receive and issue beverages like any other stock (Inventory → Receive, requisitions from the warehouse to the bar): enter bottles or crates and the bar shows them as containers.
Working the bar (/bar, beverage.operate)
- Open shift at the start: the opening stock is the book stock of every beverage at this bar.
- Record a loss whenever something is poured that no ticket covers — spillage, breakage (whole bottles), over-pouring, a re-make, a complimentary or staff drink without a ticket, line cleaning (kegs). Enter it in ml, as measures (“2 singles”), as whole containers, or as the drink itself (a re-made Mojito loses all its ingredients). Comps and staff drinks rung through the POS as such are already counted as comps and staff.
- A bar ticket re-fired or marked spilt on the production board records the loss by itself.
- Count & close at the end of the shift: for each product enter the sealed containers and the open volume in ml (weigh or eye the bottle: a 750 ml bottle at a third is 250 ml; the sheet shows the book as “5 + 0.3 btl” to compare). Enter or Tab saves a line. Products you skip close at book. Close shift writes each variance to the ledger, valued at cost and at retail.
Reports (/bar/reports, beverage.reports)
Pick the period and a bar (or all bars). Every report is computed from the ledger for exactly that period — there is nothing to “run”.
| Report | Answers |
|---|---|
| Bottle report | per product: opening → issued → opened → sold by measure (singles, doubles, glasses, pints, bottles) and in cocktails → comps / staff → losses by category → expected → actual (sealed + open) → variance in ml and at retail |
| Bartender report | per person: drinks and ml poured, revenue, comps / staff, losses they recorded by category, voids after send, the shifts they closed and their variance |
| Shift variance | every shift of the period with sold, losses and variance (open one for its lines) |
| Brand report | per brand: servings, ml, revenue, cost, gross profit, losses, variance |
| Keg report | per draft: kegs sealed and the tapped keg’s remainder, received, tapped, pints / halves / jugs sold, yield % (sold ÷ everything that left the keg), variance |
| Wine report | per wine: glasses and bottles sold, revenue, gross profit, bottles on hand + open, glass equivalents, grape / region / vintage |
| Profitability | per product: revenue, pour cost %, gross profit, losses and variance at cost, net; per beverage menu item (cocktails included): revenue, ingredient cost, GP |
Export CSV downloads the table on screen.
Reading a variance
- Negative on spirits with clean counts → over-pouring, free pours or unrecorded comps. Compare the bartender report’s shifts.
- Negative on a keg with a low yield → foam, line cleaning not recorded, a leaking tap.
- Positive → under-pouring or a bottle received twice; check the ledger.
- Losses are explained; variance is the rest. The aim is a small variance, not a small loss list.