A single case of wine can be sold three different ways under one roof: by the bottle to a customer taking it home, by the bottle to a table in the dining room, and by the glass — five or six pours carved out of the same 750ml bottle, each one costed differently the moment the cork comes out. If your books can't tell the difference, you don't actually know whether your wine program is making money.
That's the quiet operational trap of running a wine bar, wine shop, or combined retail-and-tasting concept. The alcohol looks like simple retail inventory — buy a case, sell the bottles, track the margin. In practice it behaves more like a manufacturing operation: you're taking a single unit of inventory (the bottle) and converting part of it into a different, harder-to-track product (the glass pour), while simultaneously running two license types, two revenue streams, and — depending on your state — two different tax treatments under the same roof.
Get the accounting wrong and you won't see it in a single bad month. You'll see it eighteen months from now, when your wine list has crept toward a 40% pour cost, your shop margin looks fine on paper but cash keeps getting tight, and nobody can say exactly why.
Why Wine Inventory Doesn't Behave Like Normal Retail Inventory
Most retail bookkeeping assumes a unit in equals a unit out: you buy a widget, you sell a widget, cost of goods sold is straightforward. Wine breaks that assumption in three ways.
The bottle splits into two different products. A bottle purchased at wholesale can leave your business as (a) a sealed bottle sold at retail, (b) a sealed bottle sold to a table with on-premise markup, or (c) five-to-six individual glass pours, each recognized as a separate sale at a separate price point. Your point-of-sale system usually handles the selling side of this fine. Your books often don't — if a bottle is opened for by-the-glass service, that entire unit needs to come out of "bottle inventory" and get recognized as consumed, even before all the glasses sell, or your on-hand bottle count silently drifts from your physical count every week.
Cost fluctuates meaningfully between purchases. Wine pricing isn't like buying the same case of napkins every month. Vintages change, allocations shift, and a distributor's price on the same label can move 10–20% between orders as older vintages sell through and new ones arrive. That's exactly the scenario where FIFO (first-in, first-out) costing earns its keep over a simple weighted-average method: it matches the cost of the specific bottles you're actually depleting to the revenue those bottles generate, instead of blending old and new pricing into one average that can misstate your margin on any given case.
Weighted average is easier to compute and fine for stable, low-turnover goods. But wine — with real cost variation across vintages and purchase dates — is one of the categories where FIFO is worth the extra tracking effort, and most modern bar/beverage inventory software (BinWise, Backbar, and similar platforms) automates the FIFO layer so you're not doing it by hand in a spreadsheet.
Shrinkage is a real cost line, not a rounding error. Spillage, over-pouring, comped tastings, corked bottles, and simple breakage are a normal and material part of running a wine program — not a bookkeeping failure to be swept into "miscellaneous." Track it as its own account and expect it to run several percentage points of your beverage cost of goods sold. If you're not booking a shrinkage figure at all, it's not because it isn't happening — it's because it's hiding inside your reported margin.
By-the-Glass Costing: The Calculation Most Wine Programs Get Wrong
The by-the-glass math looks simple and usually isn't done correctly. The standard reference point:
- A standard 750ml bottle holds roughly 25 ounces
- A standard wine pour is 5 ounces
- That yields 5 usable pours per bottle — assuming zero loss
Cost per glass, before any adjustment, is your wholesale bottle cost divided by 5. But that "assuming zero loss" clause is where most operators quietly lose money. In practice you're not getting 5 clean pours from every bottle:
- The last pour of a bottle is frequently short, over-poured to compensate, or discarded once it oxidizes past the point of sale
- Preservation systems (Coravin, Enomatic, inert-gas taps) reduce oxidation loss dramatically but have their own equipment and consumable costs that belong in your cost structure, not buried in "supplies"
- Comped tastings and staff education pours are real inventory depletion — if you're running any kind of by-the-glass tasting flight or staff training program, those ounces need to be tracked and expensed, not just absorbed silently into cost of goods sold
The industry benchmark for pour cost — cost of goods sold on a beverage divided by its revenue — runs 18–24% for liquor, but wine (and beer) typically runs higher, in the 25–30% range, because bottle pricing and the practical loss described above eat into the margin that spirits programs don't face in the same way. If your by-the-glass wine program is pricing off a flat markup without accounting for that gap, you're likely underpricing every glass relative to your actual cost.
The fix isn't complicated, just disciplined: cost every wine SKU on a per-ounce basis at the time of purchase (which is where FIFO layering matters), apply a realistic yield assumption per bottle format based on your actual pour-loss experience, and revisit that yield assumption periodically rather than setting it once and forgetting it.
The On-Premise vs. Off-Premise Split
Most wine bars and wine shops that also pour by the glass are operating under some combination of an on-premise license (alcohol consumed on-site) and an off-premise license (sealed-bottle retail sale). Some states issue a single combined license for exactly this hybrid model; many require two separate licenses, and the compliance requirements — hours of operation, seating rules, food-service minimums — often differ between them. Know which regime your state and city put you in before you assume your current license covers both sides of the business.
For bookkeeping, the split matters for three reasons:
- Different revenue recognition. A retail bottle sale is complete at the point of sale. On-premise service often involves tabs, tips, and — depending on your state — different sales tax treatment or excise tax rates for on-premise consumption versus off-premise packaged sales. Mixing these into one undifferentiated "alcohol sales" account makes it impossible to see which side of the business is actually profitable.
- Different cost basis. The same bottle sold retail carries your standard markup; sold on-premise it typically carries a much higher markup to cover service, glassware, breakage, and the by-the-glass yield loss described above. If your chart of accounts doesn't separate "retail bottle COGS" from "on-premise beverage COGS," your blended margin will look plausible while masking a losing on-premise program (or an over-margined retail side propping it up).
- Inventory transfer needs a paper trail. When a bottle moves from your retail shelf into the tasting bar's opened-bottle rotation, that's an internal transfer, not a sale — but it still needs to be logged, both for your own margin visibility and because many state alcohol authorities require records showing which inventory was sold sealed versus poured, particularly if your on-premise and off-premise operations sit under separate license numbers.
Set up your chart of accounts with separate revenue and COGS lines for retail (off-premise) and by-the-glass/on-premise sales from day one. Retrofitting that split after a year of blended numbers means reconstructing history you don't actually have.
Corkage, Tastings, and Other Revenue That Isn't a Bottle Sale
A wine program generates revenue and cost outside straightforward bottle and glass sales, and each needs its own treatment:
- Corkage fees (charged when a guest brings their own bottle) are service revenue, not alcohol sales — they typically aren't subject to the same alcohol excise treatment as a bottle sold from your list, though sales tax rules vary by state. Track corkage as its own line so you can see whether it's covering the real cost of glassware, breakage, and service time it's meant to offset. Industry corkage fees commonly run $15–$50 per bottle depending on market and service level.
- Tastings and flights consume inventory (often across several open bottles per session) in exchange for a flat or per-pour fee — cost these the same way you'd cost any by-the-glass pour, not as a separate untracked category.
- Comped or staff-education pours are a real cost of running an educated, sellable wine program. Book them as a marketing or training expense rather than letting them vanish into unexplained shrinkage.
Building This Into Your Books
None of this requires exotic software — it requires a chart of accounts and a process that matches how the business actually moves inventory:
- Separate revenue accounts for retail (off-premise) bottle sales, on-premise bottle sales, by-the-glass sales, corkage, and tastings
- A FIFO-costed inventory ledger by SKU/vintage, so cost of goods sold reflects the actual bottles depleted, not a blended average
- A dedicated shrinkage/loss account, reviewed monthly against your realistic pour-yield assumption
- A documented internal-transfer process for any bottle moving from sealed retail stock into opened, by-the-glass rotation
Because every transaction here is really just a ledger entry — a bottle purchase, an inventory transfer, a glass sale, a shrinkage adjustment — this is exactly the kind of structured, auditable record-keeping that plain-text accounting handles well. With Beancount, each of those distinctions becomes an explicit account (Income:Retail:Wine, Income:OnPremise:ByTheGlass, Expenses:COGS:Shrinkage) rather than a note buried in a spreadsheet, and every transfer between them is a transaction you can query and audit later — not a number you have to trust from memory.
Keep Your Wine Program's Numbers as Clear as Its Labels
Running a wine bar or wine shop means tracking inventory that splits, degrades, and gets sold three different ways under two different license types — a level of complexity most off-the-shelf retail bookkeeping setups weren't built for. Beancount.io offers plain-text accounting that gives you full transparency and control over exactly this kind of layered, multi-channel inventory, with no black-box software standing between you and your numbers. Get started for free and see why finance-minded operators are switching to version-controlled, auditable books.