Liquor Store & Wine Shop POS: Card Every Sale, Price by the Case, Count Every Bottle
Run a liquor or wine shop where ID checks are enforced at every register, case discounts and vintage pricing are automatic, and every bottle reconciles from shelf to close.
The NoPOS developer relations team writes practical guides for building on the NoPOS REST API — from first smoke test to production POS.
Friday Night Rush: that is the whole reality of a liquor store. A line ten deep waits while the clerk cards a college kid, checks a questionable out-of-state ID, and looks up whether the single-barrel bourbon on the top shelf is really the last bottle — while the keg cooler deposit log lives on a clipboard, the wine club pickup shelf overflows unclaimed, and the day's cash, cards, and house-account sales land in three different piles. A generic register sees only six-packs and seventies, so age checks become trust, case breaks become margin leaks, and the back room becomes a mystery. Build the flow around compliance and the bottle — enforced ID scans, pack-and-case pricing, and per-SKU inventory down to the shelf — and the store sells more with fewer shrinks and zero underage-sale scares.
Card every restricted sale without slowing the line
Compliance is the license. Prompt an ID scan or birthdate entry on every age-restricted SKU, lock the sale until a clerk confirms, and require a manager override for questionable IDs instead of a shrug. Handle the counter reality: mixed baskets where groceries ring freely but spirits hold the transaction, out-of-state and passport IDs the scanner cannot read, employee self-checkout supervision, and a tamper-evident log of every override with clerk, time, and reason. When the check is enforced by the system instead of memory, Friday night moves fast and the license stays safe.
Price by the single, six-pack, and case automatically
Liquor pricing is dimensional. Sell the same SKU by the bottle, the six-pack, and the full case with automatic mix-and-match and case-break discounts, plus keg deposits that attach and refund on return. Handle the shelf reality: vintage and single-barrel bottles priced individually above the standard label, sale tags with start and end dates that flip themselves, happy-hour and game-day promos on kegs and party packs, and distributor deals that need minimum advertised price floors. When pack math lives in the catalog instead of the clerk's head, regulars get the deal they were promised and margin survives the weekend.
Count every bottle from delivery to shelf
Shrink hides in the back room. Receive distributor invoices against purchase orders, flag short cases and wrong vintages at the dock, and track high-value bottles by serial or shelf location so the Pappy does not walk out. Handle the stockroom reality: partial cases broken for singles, tasting-room pours and breakage logged against the same SKU, transfer counts between the floor and the cooler, and cycle counts on top-shelf rows weekly instead of full inventories quarterly. Breakage and shrink stay visible the day they happen, not at year-end inventory.
Run the wine club and delivery without spreadsheets
Regulars are the revenue. Sell wine club memberships by tier with monthly picks, automatic billing, and pickup reminders before unclaimed bottles pile up, plus house accounts for restaurants and event planners billed monthly. Handle the local reality: delivery orders with age-verified handoff and signature capture, curbside pickup where the runner brings the order out, lottery and tobacco sales reconciled separately by their own rules, and rain-check promises when the allocated bottle sells out. When clubs bill and deliveries verify on their own, repeat business compounds while the counter just keeps ringing.
Close the night across registers, coolers, and deposits
Liquor close spans cash, cards, and containers. Count cash against each drawer by tender type, reconcile card batches including offline-queued sales, and split the day by department — spirits, wine, beer, kegs, and non-alcohol — so each category stands on its own. Then add the bottle layer: units sold against inventory movement for true shrink, deposit liability (keg shells and bottle deposits out versus returned) for the real cash position, and club MRR movement for the recurring book. Export the figures to match processor deposits, with distributor payables aged separately. When registers, shelves, and deposits all reconcile from the same system, close takes minutes and tomorrow's order starts from facts.
Build from the current contract
Open the gateway for OpenAPI, Swagger, AGENTS.md, llms.txt, and the first X-API-Key smoke test.
More from NoPOS Blog
Bike Shop & Repair POS: Serialized Inventory, Work Orders, and the Spring Tune-Up Rush
Run a bike shop where every frame tracks by serial number, repair tickets move from intake to pickup without sticky notes, and the spring tune-up rush books itself instead of burying the service counter.
Industry GuideCar Wash & Auto Detail POS: Keep the Tunnel Moving, Sell the Membership, Track Every Bay
Run a car wash or detail shop where pay stations and attendants sell in seconds, unlimited clubs renew on their own, and every tunnel pass and detail bay reconciles at close.