Bar/Buvette Management
At a glance
Bar/Buvette Management runs the food-and-beverage operation that funds most clubs, covering inventory with audited stock adjustments, multi-method point-of-sale, volunteer shifts with auto-hours, licence and permit tracking, and an immutable Z-report daily close. It ties every sale back to stock movements, COGS bookings, and event-scoped revenue so the buvette behaves like a proper retail unit, not a cash drawer.
How it works
Inventory is the spine. Each item is registered with SKU, barcode, unit cost, and stock level, and every adjustment — receiving deliveries, recording waste, correcting counts — is captured as an audited stock movement. A low-stock filter feeds reorder lists, and barcode scanning at the point of sale automatically deducts stock per line item.
The POS handles transactions with multiple payment methods on the same ticket (cash, card, Swish, voucher), itemised lines with VAT per category, and supports voids and refunds with a separate audit trail. Transactions can be scoped to an event, which makes per-event revenue tracking trivial: the revenue summary slices sales by payment method, category, and time window so tournament organisers see exactly what their event grossed.
Volunteer shifts run through a structured lifecycle — planned, confirmed, in_progress, completed — with check-in and check-out times that automatically compute hours worked. This drives volunteer hour reports for federation grants and for individual recognition.
Licence and permit tracking covers alcohol licences, food hygiene certificates, and fire safety approvals. Each licence carries an expiry date, renewal cadence, and compliance status, and the system fires expiry alerts well in advance so the bar never trades on a lapsed permit.
Daily close is enforced through the Z-report (dagsavslut). At end of day the operator runs an immutable close: cash is reconciled against POS totals, sales are broken down by payment method and VAT rate, and a PDF is archived. After the Z-report two accounting jobs fire automatically. COGS booking debits cost-of-goods-sold from inventory unit_cost — either batched at close or in real time per transaction depending on configuration. Stock adjustment accounting consolidates waste, breakage, and theft adjustments and posts them to the appropriate expense accounts. The result is that the buvette closes the day with cash reconciled, stock corrected, and the general ledger updated in one operation.
Key capabilities
- Inventory CRUD with SKU, barcode, audited stock adjustments, and low-stock filter
- POS with multi-payment-method, line items, auto-stock-deduction, void and refund
- Event-scoped transactions with revenue breakdown per payment method
- Volunteer shift scheduling with check-in/out and automatic hour calculation
- Licence and permit tracking with renewal scheduling and expiry alerts
- Immutable Z-report daily close with cash reconciliation and PDF archive
- Automatic COGS booking from inventory unit_cost
- Consolidated stock adjustment accounting for waste, breakage, and theft
In practice
A Swedish club hosts a regional triples weekend. The volunteer coordinator schedules eight buvette shifts across two days; each volunteer checks in at the POS terminal and the system starts counting hours. During play, sales are rung through the POS — beers, hot dogs, coffee — with the tournament selected as the event scope.
A late-night refund for a faulty card payment is processed and audited. At closing, the duty manager runs the Z-report: cash drawer matches POS totals to within 12 SEK, payment method and VAT breakdowns are confirmed, and the PDF is archived. COGS is posted automatically against tonight's sales, and a small waste write-off for spilled cider is consolidated.
Monday morning the treasurer opens the event revenue summary and sees a clean SEK 18 400 net contribution from the buvette.
Features in this subsystem
8| ID | Status | Features |
|---|---|---|
| F07.05.01 | Shipped | Buvette inventory management (CRUD, stock adjustments with audit trail, low-stock filter, SKU/barcode) ✅ PL-F0705 |
| F07.05.02 | Shipped | Point-of-sale integration (transactions, multi-payment-method, line items, auto-stock-deduction, void/refund) ✅ PL-F0705 |
| F07.05.03 | Shipped | Revenue tracking per event (event-scoped transactions, revenue summary with payment method breakdown) ✅ PL-F0705 |
| F07.05.04 | Shipped | Volunteer shift scheduling for buvette (planned→confirmed→in_progress→completed lifecycle, check-in/out, auto-hours) ✅ PL-F0705 |
| F07.05.05 | Shipped | License/permit tracking (alcohol license, food hygiene, fire safety, renewal, compliance check, expiry alerts) ✅ PL-F0705 |
| F07.05.06 | Shipped | Z-report / dagsavslut (immutable daily close, cash reconciliation, payment method & VAT breakdown, archive PDF) ✅ PL-T077 |
| F07.05.07 | Shipped | Automatic COGS booking (Cost of Goods Sold from inventory unit_cost, batch at Z-report close or realtime per transaction) ✅ PL-T077 |
| F07.05.08 | Shipped | Stock adjustment accounting (waste/breakage/theft → expense accounts, consolidated at Z-report close) ✅ PL-T077 |