Skip to content

Kitchen & bar

Bar control

Measures, bottles and kegs, losses, bar shifts and variance.

4 min read

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)

  1. Brands — Johnnie Walker, Uganda Waragi, Nile Special… (for the brand report).
  2. 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…).
  3. 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.