A bakery's cost of goods sold is the ingredients and packaging it used up in a period: what was on the shelves at the start, plus everything bought during it, minus what's left on the shelves at the end, all at what you paid. So if you started the month with $3,180 of stock, bought $6,420 and ended with $2,960, your cost of goods sold was $6,640. Divide it by sales to get your food cost percentage. The hard part isn't the formula. It's the two counts.
The short version
- Cost of goods sold = opening inventory + purchases − closing inventory.
- Count and value the stock on the first and last day of the period, at cost, not at what you'd sell it for.
- Include ingredients and the packaging that leaves with the product. Leave out cleaning supplies and equipment.
- Compare it with what your recipes say it should have been. The gap is waste you haven't seen yet.
- TaroStack keeps your stock value by month as you go, so the two counts stop being two Sundays. More below.
The formula, on one month
Here's a small bakery's September. It sells about $21,000 a month of bread, pastries and cookies.
| Ingredients | Packaging | Total | |
|---|---|---|---|
| Opening inventory, September 1 | $2,410 | $770 | $3,180 |
| Plus purchases in September | $5,150 | $1,270 | $6,420 |
| Available to use | $7,560 | $2,040 | $9,600 |
| Minus closing inventory, September 30 | $2,280 | $680 | $2,960 |
| Cost of goods sold | $5,280 | $1,360 | $6,640 |
With sales of $21,300, that's a food cost of $6,640 ÷ $21,300 = 31.2%. What's "good" depends on what you make and how you sell it, so the number worth watching is your own, month after month. If it jumps from 31% to 35% and your prices haven't changed, something's going on in the kitchen.
Purchases means what you bought for the business, net of any credits for short or rejected deliveries, and including freight if you pay it. Opening inventory is last month's closing inventory: the same count, carried over, never a second one.
What counts as inventory in a bakery
| In cost of goods sold | Not in it |
|---|---|
| Flour, butter, sugar, eggs, chocolate, fruit, yeast | Cleaning supplies, gloves, paper towels |
| Boxes, bags, labels, cake boards and anything else that leaves with the product | Mixers, pans, racks and other equipment |
| Freight on ingredients, if you pay it | Rent, utilities, marketing |
| Finished goods and dough in the freezer at month end, at cost | The bread you took home (take it out of purchases) |
For a Schedule C, the second column mostly lives elsewhere on the form: supplies not included in cost of goods sold go on line 22 (IRS Schedule C). Frozen cookie dough and par-baked bread count as inventory at the cost of what went into them, which is where the steps in recipe costing come in handy.
Valuing the count
Closing inventory is the count multiplied by what each thing cost you: 91 lb of flour at $0.50 a pound is $45.50. Not what it would cost to replace today, and never the retail price of what you'd make from it.
When the price has moved, use a consistent rule. A simple one is the most recent price you paid, which is close to first-in, first-out, because the oldest flour has usually been used. The Schedule C instructions allow cost, lower of cost or market, or another method the IRS approves (IRS instructions). Pick one and don't change it without talking to whoever does your taxes, because a change of method has its own paperwork.
The count itself is covered in how to count inventory. For a bakery, the useful trick is to count before the morning bake starts, when nothing's half-used.
For the year: Schedule C, Part III
If you file a Schedule C, Part III is the same formula over a year, in lines (IRS Schedule C, 2025):
| Line | What goes there | Example |
|---|---|---|
| 35 | Inventory at beginning of year | $3,050 |
| 36 | Purchases, less the cost of items withdrawn for personal use | $74,800 |
| 37 | Cost of labor, not counting anything you paid yourself | $0 |
| 38 | Materials and supplies | $0 |
| 39 | Other costs | $0 |
| 40 | Add lines 35 through 39 | $77,850 |
| 41 | Inventory at end of year | $3,320 |
| 42 | Cost of goods sold: line 40 minus line 41 | $74,530 |
Line 37 is for people you pay to make the product. In this example the owner bakes alone, so it's zero. Whether your staff's wages belong on line 37 or with the other wages is a question for whoever prepares your return.
There's also an exception for small businesses. For 2025, a business averaging $31 million or less a year in gross receipts over the previous three years, and not a tax shelter, counts as a small business taxpayer, and can choose not to keep an inventory for tax purposes. It still needs a method that clearly reflects income: treating inventory as materials and supplies, or following how its own books handle it (IRS instructions). Counting is still worth it, because the monthly number is how you find out whether you're making money.
This is general information, not tax advice; your accountant or tax preparer has the last word.
The number worth adding: what you should have used
Cost of goods sold tells you what you used. It doesn't tell you what you should have used. For that, multiply what you sold by what each item costs to make, from your recipes. Say that comes to $6,110 for September. The difference, $530, is 8% of what you actually used, and it went somewhere:
- day-olds and unsold bread that went in the bin
- samples, staff snacks and the tray that got dropped
- recipes that use more butter than they're written with
- ingredient prices that went up after the recipes were last costed
That $530 a month is $6,360 a year, and none of it shows up on an invoice. The inventory variance formula is how to find which items it's hiding in, and if prices are the problem, how to price baked goods is the next read.
Where this stops working
Everything depends on two good counts and a complete list of purchases, and each is a job. The month-end count takes hours, and the valuation takes longer: finding the last price paid for 80 items means going through invoices. Miss a delivery in purchases and cost of goods sold is too low; count the walk-in carelessly and it's wrong in whichever direction the mistake went. And because it's worked out once a month at best, a bad week in the middle is invisible until it's too late to ask anyone what happened.
How TaroStack does it
In TaroStack, the two numbers that make this formula hard, opening and closing inventory at cost, are already there. Every delivery is received at the price you paid, with freight spread across what arrived, and every batch takes its ingredients off at those costs, first-in, first-out. So your stock value is kept by site and by month, with a history, and the September 1 and September 30 figures are a report, not two Sundays with a calculator. Your count still matters, but it becomes a check: TaroStack shows each difference and what it's worth before you post it.
The $530 stops being a mystery, too. With recipes and batches recorded, margins are worked out on what things actually cost, and a batch's actual cost sits next to its standard cost, so the gap between what you should have used and what you did use shows up by product, as it happens. At the end of the year, every list exports to CSV for whoever does your taxes.
Stock value and counts are on every plan, from $49 a month; recipes, batches and true cost are on Standard at $99. Start a free 30-day trial and bring your item list from a spreadsheet, and this month's closing number will be waiting for you. If you'd like a hand setting up, ask, and we'll do it with you.
