Event Bar Planning
v8.0 Β· 2026-08-11
Complete quantities & cost breakdown
Edit per-person prices. Saves automatically.
Sodas, juices, mixers, water β applies to all packages.
Automatically logged whenever you change a product price.
This walks through the actual logic behind every tab in PourPlan, in plain language, with a worked example throughout: 150 guests, 5 hours, Premium Bar, 2 bar set-ups. Nothing here is simplified or approximated β these are the exact same numbers the app itself calculates.
Every single alcohol number in this app β every bottle of vodka, every case of beer, every bottle of wine β starts from one number: how many total drinks this event will pour. Everything else is a percentage slice of that number.
By default, PourPlan assumes guests drink at a steady, predictable pace: 1 drink per guest per hour, with one extra drink built in for the first hour, because people tend to drink faster right when they arrive (nerves, excitement, no food in their stomach yet).
Worked example: 5 hours β (5 Γ 1) + 1 = 6 drinks per guest. Γ 150 guests = 900 total drinks for the whole event.
This is called the Flat rate, and it's the default for every event β it assumes people drink at roughly the same pace all night. For short events (3-5 hours) this is usually a very good match to reality.
New option: Tapered rate. For longer events (6+ hours), flat-rate math tends to over-order, because in real life people slow down β they eat, they get tired, some leave early, the pace of the first hour never sustains for 8 straight hours. Tapered mode accounts for that:
Same example, Tapered instead: Hour 1 = 2. Hours 2-3 = 2 more hours Γ 1 = 2. That's 3 hours accounted for (2+2=4 drinks so far), with 2 hours left (hours 4-5) Γ 0.75 = 1.5. Total = 2 + 2 + 1.5 = 5.5 drinks per guest instead of 6 β a modest 8% reduction at 5 hours. The gap gets much bigger at longer events: at 10 hours, Tapered orders about 25% less alcohol than Flat, because the back half of a 10-hour event just doesn't drink like the first hour did.
This toggle lives in Event Details, defaults to Flat, and is saved individually with each event you save β switching it for one event never changes any other event, past or future.
Important: Tapered only affects alcohol. Spirits, beer, wine, and the mixers that go with them all use whichever rate you pick. Water and soft drinks/juice always use the Flat number, no matter what β because people don't stop drinking water or Coke just because the bar's pace has slowed down. That's a deliberate, permanent design choice, not a bug.
Each bar package (Standard, Premium, Premium Deluxe) comes with a fixed list of spirits β vodka, gin, rum, tequila, scotch, bourbon β and each one has a % allocation: the share of all drinks poured that this particular spirit accounts for. These percentages were set based on typical drink-ordering patterns and don't change per event; what changes is the total pool of drinks they're a slice of.
Worked example, Vodka at 15% allocation: 900 total drinks Γ 0.15 = 135 drinks worth of vodka. A standard 750ml bottle pours about 18 drinks (based on a 1.25oz pour), so 135 Γ· 18 = 7.5, rounded up to 8 bottles.
Why the "Bar Count + 1" minimum matters: if the math above ever comes out lower than the number of physical bar stations you're running, plus one backup bottle, the app overrides it. You can't run 2 separate bars with one shared bottle of vodka between them β each bar needs its own, plus a spare in case one runs dry mid-event. So with 2 bar set-ups, you'd never see fewer than 3 bottles of anything, even if the math says less.
Custom / Out-of-Package Spirits: if you add a spirit that isn't part of the standard package (via "+ Add Spirit" in the Bar Package card), it doesn't get a % allocation or a calculated quantity β you type in the exact quantity yourself, and the same Bar Count + 1 minimum still applies to protect against under-ordering.
Simpler than spirits β beer has no bottle-to-drink conversion (each can or bottle IS one drink) and no bar-count minimum. If the math says 90 units of a beer, you order 90, full stop. This is because beer isn't split evenly across multiple bars the same rigid way spirits are β a shortfall in one keg or case is much easier to shuffle around than being out of a whole spirit at one station.
Wine is the most complex category because it can be served four different ways at the same event, and each one is calculated independently: at the bar (guests order it like a cocktail), table side (poured for every seated guest), tray passed (offered during cocktail hour), and combinations of all three for white, red, and sparkling.
Table Side Wine (white or red) doesn't depend on how many drinks people order β it's based purely on seats:
150 guests Γ 2 glasses = 300 glasses Γ· 5 per bottle = 60 bottles, if only one white wine is selected. If two whites are selected, that 60 splits roughly evenly between them (see "Splitting Across Multiple Wines" below).
Bar White Wine and Bar Red Wine DO scale with total drinks, using their own fixed share (18.72% for white, 25% for red) β but here's the important part: if table side wine is also turned on, the bar quantity gets reduced, because you don't need a full bar supply of wine when most of it is already being poured table side.
Bar RosΓ©: always 5.5% of total alcohol drinks Γ· 5 per bottle, regardless of table side settings β rosΓ© doesn't have a table-side version in this app, so there's nothing to reduce it against.
Tray Passed White/Red: based on guests, not drinks β a flat 0.25 glasses per guest Γ· 5 per bottle, since tray-passed wine during a cocktail hour is a light taste, not a full pour.
Sparkling Wine has three possible stations, each with its own rate per guest and its own share of guests expected to partake:
Splitting across multiple selected wines: if you pick two whites (or two reds) instead of one, the app divides the total bottle count evenly between them β the last one absorbs any leftover from rounding, so the numbers always add up to the true total rather than each wine getting rounded up separately and overshooting.
Any wine marked "Client Provided" shows the correct bottle count but $0 cost β you're still tracking how much to pull, just not paying for it. "Out of Package" wines work the same way but at whatever cost you typed in when adding them.
Coke, Diet Coke, Sprite, and Ginger Ale each have their own % allocation, same idea as spirits β but critically, this always uses the flat Total Drinks number, never the tapered one, even if you've switched the event to Tapered mode. A 12oz can serves about 2 drinks, so the raw drink count gets halved (rounded up) to get cans.
Juices are different from everything else β they scale off guest count directly, not off total drinks at all. Orange juice, for example, assumes 60% of guests will want it at some point (mostly as a mixer). Same backup-bottle logic as spirits: never fewer than one jug per bar plus a spare.
Mixers only appear if the bar package includes spirits at all (Beer & Wine Bar and Non-Alcoholic packages skip this section entirely). This is the one category that does follow the Tapered rate when it's active β since mixers exist specifically to go into cocktails, it makes sense that they scale with however much spirit-based drinking is actually expected, whichever mode you've chosen.
Still and sparkling water are calculated identically, each with its own checkbox for Bar, Table, and Tray Passed service. Notice Bar Water is the only one tied to drink volume at all (and even then, always the flat number) β Table and Tray water are guest-count based, because people need water at a party whether or not they're drinking alcohol, and that need doesn't taper off over the course of a long event.
Ice: you set pounds-per-guest on a slider (4-5 lbs), the app multiplies by guest count, then rounds up to however many bags of your chosen size (10/20/40 lb) that requires.
Garnishes scale per bar station, not just per guest, since each bar needs its own supply on hand:
Napkins & Straws scale purely off guest count: cocktail napkins at 4 per guest, dinner napkins and straws at 2 per guest, stirrers/picks at 1.5 per guest.
Every package has a fixed 3-hour minimum price, plus an additional per-hour rate for anything beyond that. A 5-hour Premium Bar event ($52 base + $12/hr) = $52 + (2 hours Γ $12) = $76 per person. This auto-fills the Per Person Price field, but you can always manually override it if your actual contract price differs β the app remembers you did that and won't overwrite your number again until you reset it.
This tab takes everything the Calculator just figured out and turns it into an actual profitability picture. It works in four stages:
Revenue β what the client actually pays, in full:
Costs β what it actually costs you to deliver:
The In-House Value line is what keeps this honest β if you already have 10 bottles of Tito's sitting in inventory, this event doesn't actually cost you 10 bottles worth of cash, even though the Calculator still shows 10 bottles needed. Only what you'd actually have to go buy counts as a real cost.
Profit & Budget:
The Budget Slider (25-50%) is your own target for how much of total revenue should go toward bar product β industry standard sits around 25-30%. The app compares your actual spend against that target and colors it green or red depending on whether you're under or over.
This is a completely separate calculator from the main beverage order β it's for figuring out how many actual glasses to rent, based on guest count split into over-21 and under-21, event hours, and how many bar stations you're running (which speeds up how fast glasses circulate and get dirty). A "bar multiplier" bumps quantities up for multi-bar events: 1 bar = Γ1.0, 2 bars = Γ1.25, 3 bars = Γ1.5.
The 0.9 and similar multipliers throughout are breakage/loss buffers baked into the industry-standard ratios this calculator is built on β they're not something you need to add on top.
A cocktail reception with no seated service naturally comes out with zero servers and zero bussers β that's not a bug, it's the ratio correctly reflecting that there's no table service to staff for.
Each cocktail card has its own "% Ordering" β what share of ALL guests you expect to order this specific drink at least once β and "Drinks/Guest," in case you expect repeat orders. Multiply those together against guest count to get that cocktail's total drink volume, completely independent of the main Calculator's alcohol math.
Every ingredient can optionally be tied to a specific brand from your current bar package (or custom spirits) β picking one auto-fills the real bottle cost so the cocktail's total cost is accurate, and it feeds directly into the Cost & Profit tab's product cost total automatically.
Cocktail ingredients are kept as their own separate line items everywhere β the pull sheet, Push to CMMS β never merged into the main bar spirits, even when it's the exact same bottle, because they physically get packed separately at the warehouse.
Inventory & CMMS Sync β "Sync from CMMS" pulls your live liquor inventory directly from CCG CMMS's Firebase data, matching each item by name to PourPlan's product list, so the Cost & Profit tab knows what you already have on hand vs. what you actually need to buy.
Push to CMMS β sends the entire beverage pull sheet (spirits, beer, wine, mixers, water, ice, garnishes, napkins/straws, and every specialty cocktail) into a CMMS event, either an existing one or a brand new one, so your warehouse team works from one unified pull sheet instead of two separate apps.
Recipe Library β cocktails you build, or upload from a PDF/Excel/pasted recipe, get saved here permanently (synced to Firebase), separate from whatever's in your current event's working list.
Backup & Restore β exports every piece of your data (inventory, event history, waste reports, week plans, recipe library) into one JSON file you can keep as a safety copy or move to another device.
Pull Sheet (Excel Export) β takes your current calculation and lays it out as a printable 3-page warehouse sheet, with the same numbers you see on screen, just formatted for pulling product off the shelf.
Package Pricing β Edit base and additional-hour rates per package. These auto-fill the per-person price in the Calculator.
Spirits & Beer β Edit product names, allocation percentages, and costs. The % allocation controls what share of total drinks each product accounts for. Add or remove products per package.
Out-of-Package Spirits β Add spirits not in the base package with a fixed qty per bar station. Included in cost totals.
Global Items β Sodas, juices, mixers, and water costs apply across all packages. Edit prices, percentages, and add new items.
All settings save automatically to your browser. Use Export Backup to preserve your settings before clearing browser data.