Ask a small-batch maker what one unit costs to produce and you usually get a number that sounds confident and is a guess. "Couple bucks a bottle?" It comes from adding up the ingredients in your head, glancing at a supplier invoice, and rounding to something that feels about right.
For a while, that number is fine. It is fine right up until you are on the phone with a buyer quoting a wholesale price, or deciding whether the sauce that outsells everything else is paying for itself. That is when a guess stops being harmless.
Here is the catch with the gut-feel number: it is almost always the ingredient cost and nothing else. And ingredients, it turns out, are the cheap part.
The price you set is only as good as the cost you know and most of us are guessing
Cost of goods sold, COGS, is just the full cost to make one sellable unit. Not the recipe cost. The finished, filled, labeled, ready-to-ship cost.
Most pricing in small food and beverage starts from the recipe and a multiplier. Ingredients come to about a dollar a bottle, so you call it three or four wholesale and move on. The multiplier is doing a lot of quiet work there, covering for everything nobody counted.
The rest is where the margin lives. Tie your COGS to the real bill of materials and the real batch record, the ingredient lots, the yield, the labor, the packaging, the waste, and the true cost per unit is usually a surprise. Sometimes it is a small one. Sometimes your best seller is barely covering itself.
The bottle is the cheap part: what goes into a batch
A true per-unit cost has four parts, and only the first one shows up on an invoice you remember paying.
Ingredients are the obvious part: chiles, garlic, salt, vinegar, water. This is the number most people already have, at least roughly.
Packaging is the whole bill, not just the bottle. A 5 oz woozy is the bottle, the cap, the orifice reducer, the shrink band, and the labels, front and back. Each is pennies. Pennies add up to more than the sauce inside more often than you would think.
Labor is the hours a batch takes, at a fully loaded rate: the wage plus payroll taxes and whatever else you pay to have a person on the floor. If you are the one making it, your time still counts. Pricing as though your own labor is free is how you end up with a business that pays everyone except you.
Overhead is gas, electric, water, cleaning supplies, and the share of rent that batch used. It is the cost that does not land on any single invoice, which is exactly why it never lands in the price.
Miss any one of these and your COGS reads low, your margin reads high, and the bank balance disagrees with both.
One batch, counted for real: from the BOM to cost per bottle
Numbers make this concrete, so here is a worked example. Say one batch of fermented hot sauce, built to fill 48 bottles at 5 oz each.
Figures are illustrative. Plug in your own and the method holds.
Ingredients (the bill of materials)
| Ingredient | Amount | Unit cost | Line cost |
|---|---|---|---|
| Fresh red chiles | 15 lb | $3.20 / lb | $48.00 |
| Garlic | 1 lb | $3.50 / lb | $3.50 |
| Sea salt | 0.6 lb | $1.20 / lb | $0.72 |
| White vinegar | 1.5 gal | $3.80 / gal | $5.70 |
| Filtered water | in-house | n/a | $0.30 |
| Ingredients | $58.22 |
Packaging (for all 48 bottles)
| Component | Qty | Unit cost | Line cost |
|---|---|---|---|
| 5 oz woozy bottle | 48 | $0.62 | $29.76 |
| Cap and orifice reducer | 48 | $0.09 | $4.32 |
| Shrink band | 48 | $0.03 | $1.44 |
| Labels (front and back) | 48 | $0.18 | $8.64 |
| Packaging | $44.16 |
Labor and overhead
| Line | Cost |
|---|---|
| Labor (3.5 hr @ $22/hr loaded) | $77.00 |
| Overhead (utilities, cleaning, rent share) | $18.00 |
Add it up and the batch costs $197.38 to make. Now watch what happens depending on where you stop counting:
- Ingredients only, divided by 48 bottles the gut-feel number$1.21 / bottle
- Ingredients plus packaging, divided by 48$2.13 / bottle
- Full batch cost, divided by 48$4.11 / bottle
Same sauce. The honest number is more than three times the one most makers price off.
The bottles you paid for but cannot sell: yield and waste
There is one more step, and it is the one spreadsheets skip.
You filled 48 bottles. But two came out low, or a band did not seat, or a cap cross-threaded. They are not sellable. You still paid for everything in them. So the cost does not spread across 48. It spreads across the 46 you can ship:
Real COGS per bottle. Full batch cost divided by 46 sellable bottles. Not $1.21.
Yield is the quiet tax on every batch, and the only way to know yours is to weigh what goes in and count what comes out sellable, run after run, instead of assuming the recipe and the reality are the same thing. They rarely are.
What the true number changes: pricing, margin, and which SKUs earn their shelf
Once the number is real, the decisions get easier and occasionally uncomfortable.
Take that $4.29 bottle sold wholesale at $6.00. Priced off the gut-feel $1.21, you would have sworn your gross margin was about 80 percent. Against the real cost, it is 28 percent. And that is before a distributor takes their cut or a broker takes theirs. The "best seller" was barely holding the line.
Run it the other way and pricing becomes math instead of hope. Say you want a 50 percent gross margin at wholesale on that bottle. Divide the cost by one minus your target margin: $4.29 divided by 0.50 is $8.58. Now you know the floor. You can charge it, or trim cost with a bigger batch or better yield, but you are deciding on purpose instead of finding out at tax time.
This is also how you tell which products deserve the shelf. Do the same count across your line and some SKUs carry the business while others quietly drain it. You cannot see that on a menu of prices. You can only see it next to real per-unit cost.
Where this already lives: your batch record is a cost sheet in disguise
The reason accurate COGS feels like a project is that the inputs are scattered. Ingredient costs in one spreadsheet, yields in your head, labor on a time sheet, packaging in an email from your supplier. Pulling them together for even one SKU is an afternoon, so it does not happen.
But most of these numbers are already sitting in the record you keep for traceability. Which ingredient lots went into the batch, in what quantities, and what the batch yielded: that is the batch record. It is the same data an auditor asks for, and it is the raw material for a cost per bottle.
FourFoxes keeps ingredient and supplier tracking and batch records in one place, and surfaces per-batch cost reporting and COGS context by batch and product, so the numbers you need are captured as work happens instead of reconstructed from four sources later. The batch record you already keep to stay audit-ready is a cost sheet too. You just have to read it that way.
You cannot price what you have not counted. Count one batch all the way through this week, packaging, labor, overhead, waste and all, and see whether your best seller is the hero you think it is.
Start a 14-day FourFoxes trialBuilt for the batch. Ready for the audit.
Common questions about food production COGS
How do you calculate COGS for a food product?
Add every cost tied to making one sellable unit: ingredients, the full packaging bill, labor at a loaded rate, and a share of overhead. Then divide by the number of units you can sell, not the number you filled, so yield loss is built into the figure.
What goes into cost of goods sold for a small food business?
Four buckets: ingredients, packaging (every component, not just the primary container), labor, and overhead. Waste and yield loss then raise the per-unit number, because the same batch cost spreads across fewer sellable units.
Why is my cost per bottle higher than my ingredient cost?
Ingredients are usually the smallest of the four buckets. Packaging, labor, overhead, and the units you cannot sell often add up to more than the recipe itself, which is why an ingredient-only estimate can understate true COGS by three times or more.