Skip to content

Cost of Goods Sold Journal Entry, With Examples

How to book cost of goods sold: the periodic month-end entry both common ways, perpetual entries for a maker's batches and sales, and write-offs.

By Koa Sterling. Product specialist at TaroStack and small business owner. Yes, I am a real human, and I actually sit in front of a computer and write these articles. Reviewed October 12, 2026 · 7 min read

The cost of goods sold journal entry moves the cost of what you sold out of inventory, an asset, and into cost of goods sold, an expense: debit Cost of Goods Sold, credit Inventory. How often you make it depends on your system. With periodic inventory, you make one adjusting entry at month end from your count: opening inventory plus purchases minus closing inventory. With perpetual inventory, every sale carries its own entry at the cost of the stock it used. A maker adds steps in between, as raw materials become finished goods. Below are both methods with numbers, the two common ways small businesses set up the periodic entry, a maker's perpetual entries, and write-offs.

The short version

  • The entry: debit Cost of Goods Sold, credit Inventory, for the cost of what was sold.
  • Periodic: one entry at month end, from opening + purchases − closing inventory.
  • If purchases go straight to an expense account, the month-end entry adjusts inventory by the change instead.
  • Perpetual: an entry with every sale, at the cost of the stock that left.
  • A maker's batches move cost from raw materials to finished goods first.
  • Waste and expired stock get their own entry, so they don't hide inside cost of goods sold.
  • TaroStack gives you the numbers every entry needs: stock value at month end and the cost of each batch. More below.

The periodic method: one entry at month end

Windward Roots, the made-up taro business I use in these examples, counts and values its stock at the end of each month. October:

Opening inventory, Oct 1        $4,750.00
+ Purchases in October          $6,400.00
− Closing inventory, Oct 31     $4,980.00
= Cost of goods sold            $6,170.00

There are two common ways to book it, depending on where purchases go during the month.

Setup A: purchases go to Inventory. Each supplier bill is debited to Inventory. At month end, move the cost of goods sold out:

Account Debit Credit
Cost of Goods Sold $6,170.00
Inventory $6,170.00

Inventory now reads $4,750 + $6,400 − $6,170 = $4,980, matching the count.

Setup B: purchases go straight to an expense account. Many small businesses' bookkeeping does this: each bill is debited to Cost of Goods Sold or Purchases as it comes in. Then the month-end entry only adjusts Inventory by how much it changed. Inventory rose from $4,750 to $4,980, so:

Account Debit Credit
Inventory $230.00
Cost of Goods Sold $230.00

Cost of goods sold ends at $6,400 − $230 = $6,170, the same answer. If inventory had fallen, the entry would run the other way. Either way, the closing count drives the number, so the count has to be right; how to run it is in year-end inventory count.

The perpetual method: an entry with every movement

Inventory software that tracks cost keeps inventory current as things happen. For a maker, three entries do the work.

Buying ingredients and packaging. A delivery of taro, oil and pouches:

Account Debit Credit
Inventory: Raw materials $1,840.00
Accounts Payable $1,840.00

Making a batch. A day's frying turns $812.00 of taro, oil, salt and pouches into 580 bags of chips. With $406.00 of labor and overhead included in the cost, as many accountants do for a maker, each bag costs $2.10.

Account Debit Credit
Inventory: Finished goods $1,218.00
Inventory: Raw materials $812.00
Labor and overhead applied $406.00

Selling. A grocer buys 240 bags at $3.41, and the bags cost $2.10 each:

Account Debit Credit
Accounts Receivable $818.40
Sales $818.40
Cost of Goods Sold $504.00
Inventory: Finished goods $504.00

The second pair is the cost of goods sold entry, made at the moment of sale with the cost of the bags that left. Which cost that is (the oldest layer, or an average) depends on your valuation method, explained in what is inventory valuation. How finished goods are tracked from made to sold is in finished goods inventory formula.

Write-offs and waste

Expired, spoiled or damaged stock comes out of inventory too, and it's worth its own account so it doesn't hide inside cost of goods sold. Twelve bags of chips past their best-by, at $2.10:

Account Debit Credit
Inventory Write-offs (or Spoilage) $25.20
Inventory: Finished goods $25.20

Some businesses report write-offs as part of cost of goods sold; either way, a separate account shows you how much is lost. The tax side of writing off expired stock is in expired inventory tax write-off. This is general information, not tax or accounting advice; your accountant decides how your books are set up.

Where this stops working

Every one of these entries depends on a number someone has to produce: the closing inventory value for the periodic entry, the cost of each batch and each bag for the perpetual ones, the cost of what was thrown out. On a spreadsheet, the closing value comes from a month-end count priced at whatever cost was last typed in, the batch costs are an estimate, and the write-offs are whatever someone remembered. The journal entry is tidy; the number in it is a guess.

How TaroStack does it

TaroStack keeps the numbers your accountant's entries need, from the receipt to the sale, at what things really cost.

Month-end inventory, without the count night. Stock value is kept at what it really cost, per site and per item, split by type (raw materials, packaging, finished goods), with a month-by-month history. The closing figure for the periodic entry, or the balances to check a perpetual one, are on a screen at any month end. Stock is costed in FIFO layers or moving average, chosen when you set up and locked once stock has moved, and every delivery carries its freight and other landed costs.

The cost of every batch and every sale. Each batch takes ingredients off stock at their actual cost and puts the finished goods on at what they cost, which is the raw-materials-to-finished-goods entry, worked out for you. Margins are reported per product on what each one actually cost, so the cost of what sold is a number, not an estimate.

Write-offs with reasons. Every adjustment carries its reason (expired, spoiled, damaged, sample, found, correction), so the losses report shows what was lost, by reason, item and site, and what it cost: the write-off entry's amount, ready. Every list exports to CSV for your accountant, and your QuickBooks or Xero lists import when you set up.

The entry needs On a spreadsheet In TaroStack
Closing inventory value A count, priced by hand Stock value at any month end
Cost of each batch An estimate From the lots it used
Cost of what sold Averages Margins on actual cost, per product
Write-offs Whatever was remembered Losses report, by reason and cost

Stock value, FIFO or moving average, landed costs and the losses report are on every plan, from $49 a month; batches that carry their actual cost into finished goods are on Standard at $99. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.

Questions people also ask

What is the journal entry for cost of goods sold?

Debit Cost of Goods Sold, credit Inventory, for the cost of what was sold. With periodic inventory it's one entry at month end; with perpetual inventory it's made with each sale.

How do you record cost of goods sold at month end?

Work out opening inventory plus purchases minus closing inventory, then debit Cost of Goods Sold and credit Inventory by that amount. If purchases were expensed as they came in, adjust Inventory by its change instead.

What is the difference between periodic and perpetual inventory entries?

Periodic updates inventory once a period from a count. Perpetual updates it with every purchase, batch and sale, so inventory and cost of goods sold are current all month.

How do you record an inventory write-off?

Debit an Inventory Write-offs or Spoilage account and credit Inventory for the cost of what was lost. A separate account shows how much waste costs you each month.

We use AI to help with the research for these articles. Every one is read, checked against its sources and edited by Koa before it's published. Spot a mistake? Tell us and we'll fix it and say so. How we write these.

Let’s get your stack in order.

Get TaroStack

Sign up now for your free 30 day trial. No credit card required.