A $12 pint of IPA walks out your taproom door. You know what you charged for it, but do you actually know what it cost you to make? Most craft brewery owners can rattle off their grain bill or hop costs from memory, but the full picture of Cost of Goods Sold (COGS) per batch is far more complex. And getting it wrong doesn't just mean messy books. It means you might be selling your best-selling beer at a loss.
The difference between a brewery that thrives and one that slowly bleeds cash often comes down to one thing: knowing the true cost behind every batch that leaves the tank. That means going beyond raw ingredients and accounting for packaging, labor, utilities, waste, and even the opportunity cost of tank time. This guide walks you through exactly how to build a reliable, repeatable COGS calculation for every batch your brewery produces, so you can price with confidence and protect your margins.
Breaking Down the Real Components of Brewery COGS
When most brewers think about cost per batch, their minds jump straight to malt, hops, yeast, and water. Those are the obvious inputs, but they represent only a fraction of your true production cost. A proper COGS calculation has to capture every dollar that goes into transforming raw materials into a finished, sellable product.
Let's start with the building blocks.
Direct Materials: Your Bill of Materials
Your bill of materials (BOM) is the foundation of any COGS calculation. For each beer recipe, you need a detailed, up-to-date list of every ingredient and the exact quantity required per batch. This includes base malt, specialty grains, hop varieties (pellet, whole leaf, or extract), yeast strains, water treatment chemicals, fining agents, and any adjuncts like fruit, coffee, or lactose.
Here's where many breweries stumble: they use rough estimates instead of precise measurements. "About two bags of Pilsner malt" isn't a BOM. You need weights tied to current purchase prices. If your 10-barrel IPA recipe calls for 350 pounds of pale malt at $0.52 per pound, that's $182.00 for that single line item. Multiply that precision across every ingredient, and you get a real material cost.
A simple BOM table for a 10-barrel batch might look like this:
IngredientQuantityUnit CostLine TotalPale Malt350 lbs$0.52/lb$182.00Crystal 60L40 lbs$0.68/lb$27.20Centennial Hops12 lbs$14.00/lb$168.00Citra Hops8 lbs$18.50/lb$148.00Yeast (WLP001)2 packs$8.50/pack$17.00Water Treatment1 batch$3.25$3.25Whirlfloc2 tablets$0.40/tab$0.80Total Materials$546.25
Keeping your BOM accurate requires updating purchase prices regularly. If you're tracking vendor pricing and purchase orders through a system like BrewPlanner, your ingredient costs stay current as new orders come in, eliminating the guesswork that creeps into spreadsheet-based tracking.
Packaging Materials
Packaging is the second-largest direct cost for most breweries, and it's frequently underestimated. Every can, label, carrier, case tray, crowler, and keg collar costs money. So does the CO2 used for purging and carbonation.
For a typical 10-barrel batch canned in 16oz four-packs, your packaging costs might break down like this:
- Cans: 620 cans × $0.12 = $74.40
- Lids: 620 lids × $0.035 = $21.70
- Labels: 620 labels × $0.06 = $37.20
- Carriers (4-packs): 155 carriers × $0.22 = $34.10
- Case trays: 26 trays × $0.45 = $11.70
- CO2: ~$18.00
That's roughly $197.10 in packaging alone, which nearly adds 36% on top of your raw ingredient cost. If you're only tracking grain and hops, you're missing a massive chunk of your real cost.
Direct Labor
Labor is where COGS calculations get uncomfortable. Someone brewed that batch. Someone cleaned the tanks before and after. Someone packaged it, palletized it, and loaded it onto a truck. Those hours have a dollar value.
Track the actual labor hours per batch across each phase: brewing day, cellar work (transfers, dry hops, tank cleaning), and packaging. Multiply by your fully burdened labor rate, which includes wages plus payroll taxes, insurance, and benefits. If your brewer earns $22/hour with a 30% burden, the effective rate is $28.60/hour.
A 10-barrel batch might consume 6 hours of brew day labor, 3 hours of cellar time across fermentation, and 4 hours of packaging work. That's 13 hours × $28.60 = $371.80 in direct labor.
Ignoring labor in your COGS is like ignoring rent in your overhead. It doesn't make the cost disappear. It just makes your margins look better than they are.
Building a Repeatable Per-Batch Calculation Framework
Knowing the components is one thing. Turning them into a reliable, repeatable system is what separates breweries with solid financial visibility from those flying blind. You need a framework you can apply to every batch, every time, without reinventing the wheel.
Step 1: Establish Your Batch Unit Economics
Start by defining your standard batch size in sellable units. A 10-barrel batch (310 gallons) should yield roughly 2,480 pints of beer before losses. But you won't sell 2,480 pints. Between trub loss, yeast harvesting, transfers, samples, quality checks, and packaging waste, most breweries see 8-15% total loss depending on the beer style and process.
Let's assume a 12% loss rate. That gives you approximately 2,182 sellable pints. This number is your denominator, and getting it right is just as important as getting the numerator (total cost) right. Overestimating yield makes your per-unit cost look artificially low.
Step 2: Allocate Overhead Proportionally
Beyond direct materials, packaging, and labor, you have overhead costs that contribute to production but can't be tied to a single batch. These include:
- Utilities: Electricity for glycol chillers, gas for the boil kettle, water and sewer
- Equipment depreciation: Your brewhouse, fermenters, brite tanks, and canning line all wear out
- Rent or mortgage for production space (not taproom)
- Quality control supplies: pH strips, dissolved oxygen meters, lab testing
- Maintenance and repairs
- Software and systems for production management
The simplest allocation method is to divide your total monthly production overhead by the number of batches produced that month. If your monthly production overhead is $8,400 and you brew 20 batches, each batch carries $420 in allocated overhead.
More sophisticated breweries allocate by tank-hours or barrel-equivalents, which accounts for the fact that a 30-barrel batch uses more resources than a 7-barrel pilot batch. The method you choose matters less than using one consistently.
Step 3: Sum and Divide
Now pull it all together for our example 10-barrel IPA:
Cost CategoryAmountDirect Materials (BOM)$546.25Packaging Materials$197.10Direct Labor (13 hrs)$371.80Allocated Overhead$420.00Total Batch Cost$1,535.15
Divide by your sellable output:
- Per barrel: $1,535.15 ÷ 10 = $153.52/bbl
- Per pint (sellable): $1,535.15 ÷ 2,182 = $0.70/pint
- Per 4-pack of 16oz cans: $0.70 × 4 = $2.81/4-pack
If you're selling that 4-pack to a distributor for $8.50, your gross margin on that unit is 67%. If you're selling pints in your taproom at $7.00, your gross margin per pint is 90%. Those are healthy numbers, but they only mean something if the underlying calculation is honest.
To keep these numbers accurate over time, your purchase order workflow needs to feed current pricing into your cost calculations automatically, rather than relying on prices you looked up six months ago.
Where Most Breweries Get COGS Wrong
Even breweries that attempt COGS tracking frequently make errors that distort their numbers. Recognizing these pitfalls is half the battle.
Ignoring Waste and Shrinkage
Every batch has loss. Trub in the kettle, yeast cake in the fermenter, beer left in hoses and fittings, samples pulled for QC, and the inevitable spill. Many breweries calculate their COGS based on theoretical yield rather than actual yield, which understates cost per unit.
Track your actual yield for every batch. Over time, you'll develop reliable loss percentages by beer style. A hazy IPA with heavy dry-hop additions will have significantly higher loss (sometimes 15-20%) than a clean lager (maybe 8-10%). Your COGS per sellable unit for that hazy IPA should reflect this reality.
Using Stale Ingredient Prices
Malt prices, hop contracts, and packaging costs all fluctuate. If you quoted your BOM costs based on last year's purchase orders, your COGS is fiction. Update ingredient costs every time you receive a new shipment. Better yet, use a weighted average cost method that blends your current inventory cost with new purchase prices.
The Small Business Administration recommends that small manufacturers review and update their cost accounting at least quarterly, but for breweries with frequent ingredient purchases, monthly updates are more practical.
Forgetting Tank Opportunity Cost
Here's a subtle but powerful concept: every day a batch sits in a fermenter is a day that fermenter can't be used for another batch. If your 30-barrel fermenter ties up $150/day in overhead allocation, a beer that ferments for 28 days costs $4,200 in tank time versus a beer that's done in 10 days at $1,500.
This doesn't mean you should stop making lagers or barrel-aged stouts. But you should know the true cost of extended tank residence when you set your prices. A beer that occupies premium tank real estate for four weeks needs to command a higher margin than a quick-turn pale ale.
This is where production scheduling becomes a financial tool, not just a logistics tool. When you can see your entire tank schedule visually and plan batches to minimize idle time and maximize throughput, you're directly improving your COGS. BrewPlanner's visual scheduling dashboard lets you drag and drop batches across brewhouse, fermenter, and brite tank phases so you can optimize tank utilization and reduce that hidden cost of idle capacity.
Lumping Everything Into "Ingredients"
Some breweries track a single line item called "ingredients" or "raw materials" on their P&L and call it COGS. This tells you almost nothing useful. You can't identify which beers are profitable and which are dragging down your margins if all your costs live in one bucket.
Break your COGS into categories (materials, packaging, labor, overhead) and track them per batch and per SKU. This granularity is what turns COGS from an accounting exercise into a decision-making tool. When you can see that your session ale costs $0.45/pint to produce while your triple IPA costs $1.10/pint, you can make informed decisions about your tap list, distribution priorities, and pricing strategy.
Turning COGS Data Into Smarter Business Decisions
Calculating COGS isn't the end goal. Using that data to make better decisions is. Once you have reliable per-batch cost data, a whole world of strategic insight opens up.
Pricing With Confidence
The most immediate application is pricing. Instead of guessing what to charge or copying the brewery down the street, you can set prices based on your actual cost structure and target margin. Want a 70% gross margin on taproom pints? Divide your cost per pint by 0.30 to find your minimum price. Want 50% on distribution? Same math, different denominator.
This is especially powerful for specialty and seasonal releases. That barrel-aged imperial stout that sits for eight months is going to have enormous COGS when you factor in extended tank time, barrel depreciation, and ingredient costs. Price it accordingly, and your customers will understand they're paying for something special.
Identifying Your Most (and Least) Profitable Beers
When you track COGS per batch across your entire portfolio, patterns emerge. You might discover that your flagship amber ale, which outsells everything else by volume, actually generates less profit per barrel than your rotating hazy IPA series because of the hoppy beer's higher price point despite higher ingredient costs.
Or you might find that a popular seasonal beer has been quietly losing money because you never factored in the specialty ingredient costs and low yield. These insights let you adjust your production schedule, retire underperformers, and double down on winners.
Negotiating Better With Vendors
Detailed cost tracking gives you leverage in vendor negotiations. When you know exactly how much you spend on each ingredient per year, you can approach suppliers with volume commitments in exchange for better pricing. If your annual malt spend is $38,000, that's a number worth negotiating around.
Your COGS data also tells you where price increases hurt the most. A 10% increase in hop prices has a much bigger impact on your double IPA than on your pilsner. Knowing this lets you prioritize which vendor relationships to invest time in protecting.
Planning for Growth
Finally, reliable COGS data is the foundation for growth planning. If you're considering expanding production, adding a canning line, or entering new distribution markets, you need to know your cost structure to model the financial impact. What happens to your per-batch overhead allocation if you double your monthly batch count? How does a new canning line change your packaging costs? You can't answer these questions without solid baseline COGS numbers.
A checklist to get started:
- Build a detailed BOM for every active recipe with current pricing
- Track actual yield per batch, not theoretical yield
- Calculate your fully burdened labor rate
- Define your overhead allocation method and apply it consistently
- Update ingredient costs with every new purchase order received
- Review per-batch COGS monthly and compare across your portfolio
- Use COGS data to validate or adjust pricing for every SKU
Your brewery's financial health depends on knowing what it actually costs to fill every glass, can, and keg. The math isn't complicated, but it requires discipline, consistency, and the right systems to keep it accurate over time. Start with one batch, build your framework, and expand from there. Once you see the real numbers, you'll never want to go back to guessing.
Ready to get your ingredient costs, purchase orders, and production tracking into one place? Start organizing your brewery operations with BrewPlanner and take the guesswork out of your most important financial metric.



