If you keep inventory for tax purposes, you don't write off expired stock as a separate expense. You throw it away, record it, and leave it out of your closing inventory count, which raises your cost of goods sold and lowers your taxable profit by what that stock cost you. Stock that's past its best but still on hand at year end, and that you can only sell at a discount, can be valued at what you can really sell it for, less the cost of selling it, if you actually offer it for sale within 30 days. Donating food has its own rules. In every case the records are what make it stand up. Below is how each works with numbers, what to keep, and how to have less to write off next year. This is general information, not tax advice; your tax preparer has the last word.
The short version
- Inventory you throw out isn't a separate deduction. It's missing from closing inventory, so cost of goods sold goes up.
- Don't count it twice: no separate expense line for stock that's already out of closing inventory.
- Unsalable goods still on hand at year end: value them at their real selling price, less the cost of selling them, if they're actually offered for sale within 30 days.
- Unusable raw materials: a reasonable value for their condition, never below scrap value.
- Donated food can carry a deduction under special rules, with a written statement from the charity.
- Keep a record of every write-off: what, how much, what it cost, why, and where it went.
- TaroStack records every write-off with its reason, lot and cost, and reports them. More below.
How throwing stock away reduces your tax
On a Schedule C, cost of goods sold is worked out in Part III: inventory at the beginning of the year, plus purchases, labor, materials and other costs, minus inventory at the end of the year (IRS Pub. 334). Stock that expired and went in the bin isn't on the shelf at the year-end count, so it isn't in closing inventory, and its cost flows into cost of goods sold by itself.
Windward Roots, the made-up taro business I use in these examples, threw out $900 of expired product in December:
| Thrown out and left out of the count | Wrongly left in the count | |
|---|---|---|
| Inventory at the beginning of the year | $6,000 | $6,000 |
| Purchases and other costs | $48,000 | $48,000 |
| Inventory at the end of the year | $5,400 | $6,300 |
| Cost of goods sold | $48,600 | $47,700 |
Counted properly, the $900 is in cost of goods sold. Left in the count, because someone copied last month's figure instead of counting, it's taxed as profit. And claiming it again as an expense, on top of leaving it out of the count, would deduct it twice. The count is the deduction, which is why it matters; how to run one is in the year-end inventory count.
Stock you still have but can't sell at full price
The IRS calls these goods that cannot be sold at normal prices, or that can't be used in the usual way, because of damage, imperfections, shop wear, changes of style, odd or broken lots, or similar causes. You value them at their bona fide selling price minus the direct cost of disposing of them, whichever method you use for the rest of your inventory (IRS Pub. 538). The regulation adds the condition that matters: the bona fide selling price means goods actually offered for sale within 30 days after the inventory date, and you have to keep records of how they were disposed of (26 CFR 1.471-2(c)).
Say Windward Roots has 120 bags of chips at the December 31 count with 20 days left on them, too short for the grocery chain's minimum. They cost $2.10 a bag to make. In early January they're offered to a discount outlet at $1.00 a bag, and delivery costs 10 cents a bag:
| Per bag | 120 bags | |
|---|---|---|
| Cost | $2.10 | $252.00 |
| Bona fide selling price, less cost of disposition | $0.90 | $108.00 |
| Write-down | $1.20 | $144.00 |
Without the offer within 30 days, and a record of it, they stay at cost.
Raw materials and part-finished goods that can't be used normally are valued on a reasonable basis, considering their usability and condition, but never below scrap value (IRS Pub. 538). Flour with weevils that goes in the bin is worth nothing at the count; flour that can still go into a lower-grade product is valued for that.
Donating food instead
If you donate inventory, the deduction is generally the smaller of its fair market value or its basis, the cost is taken out of your opening inventory, and it isn't part of cost of goods sold; the cost of inventory bought and donated in the same year stays in cost of goods sold (IRS Pub. 334). For food there's a special rule, with conditions: the food has to be apparently wholesome, meaning it meets the quality and labeling standards of federal, state and local law even if it isn't readily marketable because of appearance, age, freshness or surplus; it has to be used for the care of the ill, the needy or infants; the charity can't sell it; and you need a written statement from the charity. The deduction is worked out on a worksheet and, for businesses other than C corporations, limited to 15% of the net income of the businesses that donated it (IRS Pub. 526).
Food past its date isn't automatically disqualified, and isn't automatically fine either: whether it still meets the labeling standards, and whether the food bank will take it, are questions to ask before it goes in the van.
If you don't keep inventories
A small business taxpayer, with average annual gross receipts of $26 million or less (indexed for inflation) over the three prior years, can choose not to keep inventories in the usual way: it can treat inventory as non-incidental materials and supplies, or follow the way its own books treat inventory (IRS Pub. 538). Under the materials and supplies method, the cost is deducted when the items are used or consumed, which for inventory means the year you provide it to customers (IRS Pub. 334). How spoiled stock is treated follows whichever method you use, which is exactly the question to settle with your preparer before year end.
The records to keep
| For every write-off | Why |
|---|---|
| Date, item, lot and quantity | Ties it to a count and a batch |
| What it cost you | The amount that moves into cost of goods sold |
| The reason: expired, spoiled, damaged | Shows it's a business loss, not a mystery |
| Where it went: bin, compost, discount outlet, food bank | The disposition the regulation asks you to record |
| Who recorded it | Someone stands behind it |
| For discounted goods: the offer, its date and price | The 30-day bona fide selling price |
| For donations: the charity's written statement | Required for the food inventory rule |
A write-off log that does this is in the waste log template.
Having less to write off
The cheapest write-off is the one you never make. Sell the oldest stock first, by date rather than by arrival (FEFO vs FIFO); order smaller quantities of what keeps for days, not months; and look at what's going to expire while there's still time to sell it, which is what tracking expiring ingredients is about.
Where this stops working
At year end, the write-off is a number you have to prove from records you kept all year. A box of chips thrown out in March, with nothing written down, is still out of the count, but the gap between purchases and sales has no explanation, and a count that's missing $3,000 of stock looks the same whether it expired, was stolen or was never there. Paper waste logs get skipped on busy days, and their costs are whatever someone guessed.
How TaroStack does it
In TaroStack, every write-off carries its reason: expired, spoiled, damaged, and the rest. It's recorded against the lot, at what that lot actually cost you, oldest cost first, and it's a permanent record of who, when and why; a mistake is recorded as a correction, not rubbed out. So waste is reported by reason, item and site, with its cost, and the $900 thrown out in December is a report rather than a reconstruction. Stock value by site and month gives you the closing inventory figure, and every list exports to CSV for your preparer.
The other half is having less of it. Stock is picked first-expired-first-out by default, and TaroStack forecasts what will expire unsold and what it'll cost, while there's still time to sell it, discount it or give it away.
Lots, expiry, counts, write-offs and stock value are on every plan, from $49 a month, and the first 30 days are free. Your items and opening stock import from a spreadsheet. If you'd like a hand setting up, ask, and we'll do it with you.
