Case Study: Counter-service POS system for an 8-location Dutch beer chain
BitterBier is a Dutch chain of beer and snack bars that grew to 8 locations on an outdated POS. Counter-service queues built up on Friday nights with walkaway losses; internet outages forced staff to use paper tickets; menu changes were propagated branch-by-branch on USB sticks; and Head Office waited for end-of-day emails to compile chain-wide sales. We built a touchscreen POS with offline mode, instant multi-location menu sync, role-based access across three tiers, and a live HQ dashboard. Order entry dropped from ~75 to ~32 seconds per ticket, peak throughput per terminal roughly doubled, and average revenue per location rose by ~€28,000 a year on the same staffing.

Project details:
About the Client:
BitterBier, a fast-growing Dutch chain of counter-service beer and snack bars known for local brews and bitterballen platters across 8 locations.
Location: Netherlands
Industry: Hospitality, Food and beverage
Team size: 6 specialists (1 PM, 1 BA, 2 developers [frontend + backend], 1 UI/UX, 1 QA)
Project duration: 4.5 months
Business challenge
BitterBier expanded to 8 counter-service bars, but was using an outdated POS. Friday-night order entry took around 75 seconds per ticket, and peak-hour queues 10+ deep cost the chain roughly €120,000 a year in walkaways. Menu changes were rolled out branch-by-branch on USB sticks, and internet outages added another ~€38,000 in lost revenue each year. Head Office compiled chain-wide sales from end-of-day emails, and weekly reporting consumed ~6 hours of manual reconciliation.
Additional requirements
- Enable rapid order entry and card payment at the counter
- Support shift management with float tracking and Z-reports
- Centralize menu and pricing management across all 8 locations
- Keep operations running through internet outages
- Give Head Office live oversight of multi-branch performance
Our solution
We developed a modern, high-speed POS system built for touchscreen terminals and integrated with receipt printers, cash drawers, and card terminals. The solution supports Cashier, Branch Manager, and Head Office manager roles with granular access controls, centralized menu and pricing management, offline order queueing, real-time multi-branch reporting, and robust shift tracking.
Testing under real conditions
To ensure proper hardware compatibility, the Client shipped a full terminal setup to our office — including receipt printer, card reader, and cash drawer – which allowed us to develop and test in real conditions from the very beginning.
So we were able to run end-to-end validation of receipt printing, cash drawer triggers, Zettle integration, offline sync, and role-based actions – ensuring the system performs reliably during high-volume rush hours.

Additional information about the case
We tested the system on the same hardware kit BitterBier uses on bar floors. The Client shipped a full setup to our office: a touchscreen terminal, a thermal printer, a cash drawer, and a Zettle device. End-to-end validation covered receipt printing, cash drawer triggers, Zettle sandbox transactions, offline queue integrity, role-based access enforcement, and Friday-night order volumes.
Additional features:
- Live HQ dashboard for sales, top items, busiest hours, and shift performance
- Offline mode with IndexedDB queue and automatic sync once connectivity returns
- Multi-location menu sync with per-store overrides
- Time-based pricing for happy hour and combo deal management
- Role-based access with a granular permission matrix

Business value
Before:
- Counter-service order entry took ~75 seconds per ticket, peak-hour throughput sat around 35 orders per hour per terminal, and Friday-night queues ran 10+ deep with walkaways.
- Walkaway losses during peak nights cost the chain roughly €120,000 a year, and internet outages added another ~€38,000 a year in unrecovered revenue from paper tickets, lost orders, and payment errors.
- Cashiers couldn’t flag out-of-stock items on the screen, so out-of-stocks surfaced as refunds at the counter in front of the next group in line.
- Menu and pricing changes propagated branch by branch on USB sticks, taking 1 to 3 days to reach all 8 locations.
- Head Office compiled chain-wide sales from end-of-day emails, with ~6 hours a week of manual reconciliation.
- Cashier labor ran ~75 seconds per ticket (~€0.32 per order), which capped peak-hour throughput and hurt unit economics on busy nights.
After:
- Tap-to-sell entry runs ~32 seconds per ticket, peak throughput per terminal roughly doubled (~35 to ~65 orders/hour), and Friday-night lines rarely exceed 4 people.
- Walkaways on peak nights effectively disappeared, and offline mode keeps orders and card payments running during outages, recovering ~€158,000 in chain-wide revenue each year.
- Branch managers hide out-of-stock items instantly, and the change appears on every terminal at that location within seconds.
- Menu and pricing changes are pushed from HQ and synced to all 8 branches in under a minute via WebSocket, with per-store overrides where needed.
- HQ tracks live sales, busiest hours, top items, and shift performance on a single dashboard, and weekly reconciliation time dropped from ~6 hours to under 30 minutes.
- Cashier time per ticket dropped to ~32 seconds (~€0.13 per order), and average revenue per location rose by ~€28,000 a year with no change in ticket size or staffing.
Have an app idea?
Let’s start with a free quote!
See our other case studies
A media buying system for a leading US-based advertising agency


Platform for vital farm animals signs monitoring


Dexai Robotics: graphical user interface for robot operatio



