Learn · COGS & inventory

is cost of goods sold and expense

Short answer

Yes, cost of goods sold (COGS) is an expense, but it's a distinct category from operating expenses on your profit and loss statement. COGS captures the direct cost of producing or acquiring the goods you sold, and it's subtracted from revenue first, before other operating expenses, to calculate gross profit.

Key takeaways

  • COGS exists because a unit sold while operating expenses exist because the month happened, which is why they sit in separate sections of the P&L.
  • Inbound freight and duty from your supplier belong in landed cost, while outbound shipping to the customer is usually a selling expense or cost of revenue.
  • The IRS treats cost of goods sold as its own line, calculated separately from business expenses, and it feeds directly into taxable income.
  • A sellable customer return moves its cost back out of COGS and into inventory, while an unsellable one is booked as a loss instead.
  • An FBA reimbursement offsets an inventory write-off rather than an expense you fronted, so coding it against a random expense account hides your real shrinkage.
Marcus Brandt, Head of Seller Accounting at BeanHawk

By Marcus Brandt · Head of Seller Accounting

Updated July 30, 2026

Every Amazon seller eventually asks this: is COGS just another expense, or is it something separate? The short version: it's an expense, but accountants treat it as its own category because of what it tells you about your business. Get this wrong and your gross margin, pricing decisions, and even your reimbursement claims can all be off. Below is the full picture: where COGS sits on the P&L, the formula behind it, a worked example with journal entries, the edge cases that trip up marketplace sellers, and how to keep it clean in practice.

COGS Is an Expense, But a Special One

On an income statement, expenses are grouped into categories, and COGS is one of them. It represents the direct cost of the inventory you sold during a period: unit cost, inbound freight, duty, and any cost required to get that specific product ready for sale. It does not include rent, software subscriptions, ad spend, or your own salary.

The reason accountants separate COGS from other expenses is gross profit. Revenue minus COGS equals gross profit, the number that tells you whether your products themselves are profitable before you layer on Amazon fees, advertising, and overhead. Lump COGS in with everything else and you lose that visibility entirely.

There's a timing dimension too, and it's the part most self-taught sellers miss. Operating expenses are recognized in the period you incur them: your July software bill is a July expense. COGS is recognized when the unit sells, no matter when you bought it. Stock purchased in March that sells in September creates September COGS. This is the matching principle: costs get matched to the revenue they produced, so each month's profit reflects that month's actual economics rather than the lumpy rhythm of your purchase orders.

The classic COGS formula makes the same point from another angle: COGS = beginning inventory + purchases during the period, minus ending inventory. Whatever you started with, plus what you bought, minus what's still on the shelf, must be what went out the door. If you track inventory well, the formula is a cross-check; if you don't, it's how your accountant reconstructs COGS at year end, usually less accurately.

COGS vs. Operating Expenses: Where the Line Sits

Operating expenses (OpEx) are the costs of running the business, regardless of how many units you sold: Seller Central subscription, PPC spend, accounting software, contractor fees, storage fees not tied to a specific SKU. COGS, by contrast, scales directly with units sold. No sales, no COGS. Stated as plainly as possible, the COGS and operating expense difference is one of cause: COGS exists because a unit sold, OpEx exists because the month happened.

This matters for Schedule C and tax prep too. The IRS treats cost of goods sold as its own line, calculated separately from business expenses, and it directly affects taxable income. For reference on how the IRS frames this, see their guidance in IRS Publication 334, which walks through how COGS is computed for small business filers.

Some costs genuinely sit in a gray zone, and reasonable accountants classify them differently. Outbound shipping to customers, FBA fulfillment fees, and payment processing are often grouped as 'cost of revenue' or selling expenses rather than product COGS, because they relate to the sale rather than the product's acquisition. Prep-center labor that readies units for FBA leans toward COGS; warehouse rent for storing everything leans toward OpEx. The rule that keeps you out of trouble is consistency: pick a treatment, document it, and apply it identically every month, because a margin trend built on shifting definitions tells you nothing.

  • COGS: unit cost, inbound freight/duty, manufacturing cost, packaging tied to the product
  • OpEx: software, ads, labor, rent, professional fees, non-SKU-specific fulfillment costs
  • COGS moves with sales volume; OpEx is largely period-based

See it in BeanHawk

True COGS and live inventory value

BeanHawk keeps a perpetual, landed-cost valuation of every SKU — so your COGS is real, your margins are honest, and your balance sheet reflects what's actually on the shelf.

  • Landed cost per unit — freight, duties, prep — not just the invoice price
  • COGS recognized as units sell, not when you pay a supplier
  • Inventory value and 30-day COGS per SKU, exportable to your ledger
See inventory accounting →
app.beanhawk.com/inventory/valuationBeanHawkDashboardReimbursementsBooksInventoryChannelsJRJordan R.Owner · Pro planInventory & true COGSSTOCK VALUE$20,030landed-cost basisUNITS ON HAND3,037across 42 SKUsCOGS (30d)$29.2kfrom units soldValuation by SKUExport →SKUON HANDLANDEDVALUECOGS 30dWireless earbuds1,240$8.10$10,044$14.9kYoga mat — teal612$6.40$3,917$5.2kSteel water bottle980$3.85$3,773$6.1kLED desk lamp205$11.20$2,296$3.0k

The Cost Accounting Vocabulary Behind COGS

COGS sits inside a bigger discipline, and knowing a little of its vocabulary helps when you read a supplier quote or talk to an accountant who came from manufacturing. The usual cost accounting definition is the practice of capturing what it costs to make or acquire a thing, then assigning those costs to units so you can price, plan, and measure. Financial accounting reports the result to outsiders (that's your P&L); cost and management accounting exists for you, the person deciding whether to reorder a SKU at a new landed cost. Same underlying numbers, different audience.

One term worth knowing if you do private label: conversion cost. In accounting for manufacturers, conversion cost means direct labor plus manufacturing overhead, the money spent turning raw materials into finished goods, as distinct from the material cost itself. Your factory's per-unit quote already bundles both, which is why a supplier can hold material prices flat and still raise your price when their labor or energy costs move. If you ever ask a manufacturer for a cost breakdown, this is the line they're least willing to itemize, and the one that explains most price increases.

One thing this page is not about: job costing. Job cost accounting software tracks cost by project or work order, which is how contractors, agencies, and custom fabricators figure out whether a specific job made money. E-commerce sellers need the other shape, cost per SKU per unit, because your product repeats and your customers don't commission anything. If you landed here looking for job costing, the tools are genuinely different, and inventory-based tools will fight you.

A Worked Example: Watching a Unit Move Through the Books

Say you buy 200 units of a kitchen gadget at $6 each, pay $300 in freight, and $100 in duties. Total outlay: $1,600, or $8.00 landed cost per unit. On the day you pay, nothing hits your P&L. Your cash goes down $1,600 and your inventory asset goes up $1,600. Profit is untouched, because you haven't sold anything; you've converted one asset (cash) into another (stock).

Now say you sell 50 units in July at $20 each. Revenue is $1,000. Fifty units' worth of cost, $400, moves from the inventory asset on your balance sheet to COGS on your income statement. July's gross profit is $600, a 60% gross margin, and your inventory asset now shows $1,200 for the 150 units still on hand. Every later month repeats the pattern until the stock is gone.

Compare that with the wrong way, expensing the whole $1,600 in the purchase month. July would show $1,000 of revenue against $1,600 of 'expense,' a $600 paper loss on a genuinely profitable product, and the following months would show pure profit with no cost at all. Same business, same cash, wildly different story. Under the correct treatment, your P&L tells you the product earns 60 cents gross on every dollar; under the wrong one, it tells you nothing usable.

The example also shows why partial-period math matters. If you'd used the year-end formula only, a miscounted ending inventory of even 20 units would shift $160 into or out of COGS, and your taxable income with it. Small counting errors become real tax dollars.

Why This Distinction Is Especially Important for Amazon Sellers

For FBA sellers, an accurate COGS number isn't just a bookkeeping nicety; it directly affects how much you get reimbursed when Amazon loses or damages your inventory. As of the current Amazon FBA inventory reimbursement policy, Amazon reimburses lost or damaged units based on the seller's actual manufacturing or sourcing cost, not retail price, and if you haven't submitted your own cost data, Amazon defaults to its own estimate, which is frequently lower than reality.

That means sellers who don't track landed COGS per SKU cleanly are often shortchanged on reimbursements without realizing it. If your books blend COGS into a general 'inventory expense' bucket instead of a per-unit landed cost, you lose the documentation needed to dispute a lowball reimbursement.

Worth separating two things that share a word. QuickBooks Online expense reimbursement means paying yourself or a contractor back for something bought out of pocket, and it's coded to whatever expense account the purchase belonged to. An Amazon reimbursement is not that: it's Amazon paying you for inventory it lost or destroyed, so it offsets an inventory write-off rather than an expense you personally fronted. Coding FBA reimbursements as a reduction of some random expense is a common cleanup job, and it hides both your real shrinkage and your real recovery rate.

Returns create their own COGS wrinkles. When a customer returns a sellable unit, its cost should move back out of COGS and into inventory, since you can sell it again. When the return comes back destroyed, the cost stays gone, but honest books recognize it as a loss rather than pretending the unit still exists. Lost and damaged FBA units follow the same logic: they leave inventory as a write-off (offset by whatever reimbursement Amazon pays), not as COGS, because no sale happened. Mixing shrinkage into COGS inflates your apparent product cost and makes good products look worse than they are.

This is also where a lot of manual spreadsheets break down: inventory purchases, FBA fee changes, and multi-SKU freight allocations pile up fast. Purpose-built Amazon accounting software keeps landed cost per unit current automatically, so your COGS figure, and your reimbursement claims, reflect what you actually paid, not a guess.

How to Keep COGS and Expenses Separate in Practice

The cleanest approach: set up your chart of accounts with COGS as its own top-level section, separate from operating expenses, and post inventory purchases to an asset account (inventory) until the units actually sell. Only when a unit ships to a customer does its landed cost move from inventory (balance sheet) to COGS (income statement). This is the matching principle in action.

Avoid the common mistake of expensing inventory purchases the moment you pay for them. That overstates expenses in the purchase month and understates them in the months you actually sell the stock, distorting your margin trend and making tax planning harder.

A few practical habits keep the system honest. Record landed cost per shipment, not per invoice, so freight and duty get spread across units instead of dumped into OpEx. Choose a cost-flow method (FIFO or weighted average) and stick with it, because your per-unit cost changes between orders and the method decides which cost each sale carries. Reconcile your inventory asset balance against a physical or report-based count at least quarterly; the drift between them is shrinkage you need to book. And keep pass-through items like marketplace-collected sales tax out of both COGS and OpEx entirely, since that money was never yours.

In day-to-day amazon seller bookkeeping, the inventory-to-COGS movement is the step most likely to be skipped, because nothing forces it. Sales get recorded because money arrives; the matching cost entry has no such trigger, so it relies on process. Whether that process is a monthly spreadsheet ritual or software posting per-sale COGS automatically matters less than that it happens every single period.

Tools and Next Steps

At low volume, do this by hand. A seller with a dozen SKUs and one or two shipments a quarter can maintain a landed-cost spreadsheet and a monthly journal entry moving sold units' cost to COGS, and that's genuinely sufficient. General ecommerce accounting hygiene (separate business bank account, monthly close, receipts filed) matters more at that stage than any tool.

The case for software arrives with scale: overlapping shipments at different costs, multi-channel sales pulling from the same stock pool, and Amazon's fee and reimbursement adjustments arriving weeks after the sales they relate to. Good amazon bookkeeping software should do three specific things: value every unit at landed cost, post COGS automatically as units sell, and split Amazon's settlement deposits into their component fees so nothing lands in a vague expense bucket. BeanHawk handles that combination with per-SKU perpetual valuation; A2X paired with a separate inventory tool is a common alternative stack, and either beats hand-built journals once volume is real.

If you're evaluating amazon fba accounting setups, test one thing above all: sell a unit in a trial account and check whether the tool books both halves, the revenue and the matching cost. Plenty of tools nail the revenue side and leave COGS to you, which is precisely the half this article exists to warn you about. Your amazon bookkeeping is only as good as its weakest entry, and COGS is where the weakness usually hides.

Frequently asked questions

Is COGS the same as operating expenses?
No. COGS is the direct cost of the goods you sold, while operating expenses cover the cost of running the business regardless of sales volume, things like software, advertising, and admin. They're both expenses, but they sit in different sections of your P&L and tell you different things.
Does COGS include Amazon FBA fees?
Generally no. FBA fulfillment and storage fees are usually classified as selling expenses or cost of revenue rather than pure product COGS, though practices vary. What matters is consistency: pick a treatment and apply it the same way every month so your margin comparisons stay meaningful.
Why does my gross profit look different from my net profit?
Gross profit is revenue minus COGS only. Net profit subtracts every other expense too: ads, subscriptions, labor, Amazon selling fees. A healthy gross margin with a thin net margin usually points to high operating costs, not a pricing problem.
How does COGS affect my Amazon reimbursement claims?
Amazon now bases lost/damaged inventory reimbursements on your actual sourcing cost rather than retail price, defaulting to its own estimate if you haven't provided one. Accurate, per-SKU COGS records let you dispute low reimbursements with documentation instead of accepting Amazon's estimate.
Should I expense inventory when I buy it or when I sell it?
When you sell it. Inventory purchases should sit on your balance sheet as an asset until the unit ships to a customer, at which point its cost moves to COGS. Expensing at purchase time distorts your monthly profit and can misstate taxable income.
Is shipping part of cost of goods sold?
Inbound shipping (freight from your supplier to you or to FBA) belongs in COGS as part of landed cost. Outbound shipping to customers is usually a selling expense or cost of revenue instead. Splitting the two directions correctly is one of the easiest accuracy wins in seller bookkeeping.
What happens to COGS when a customer returns an item?
If the unit comes back sellable, reverse the entry: its cost moves out of COGS and back into inventory. If it's unsellable, the cost stays off the shelf but should be reclassified as a loss or written off rather than left in COGS, so your product margins aren't distorted by damage.
How does eBay cost of goods sold work for used or one-off items?
The rule is identical (cost moves to COGS when the item sells), but the record-keeping is harder because sourcing is messy. Thrift finds, estate lots, and bulk buys often arrive without a per-item invoice, so you allocate the lot price across the items you list, usually by expected sale value or by a simple per-item split, and you document the method. Add inbound freight and any refurb parts to that basis. Two extras that catch eBay sellers: items you already owned personally come in at their cost basis (not what you think they're worth), and if you sold a personal item at a loss it isn't a deductible business loss, so keep that inventory separate from what you bought to resell.
What's the best bookkeeping software for tracking COGS as an Amazon seller?
Look for per-unit landed cost tracking, automatic COGS posting on each sale, and settlement splitting so fees don't blur into product costs. BeanHawk covers all three in one tool; a QuickBooks-plus-A2X stack with a separate inventory app is the common alternative. Under roughly 20 SKUs, a disciplined spreadsheet plus a monthly journal entry works fine.

Related answers

See what Amazon owes you — free

Connect your seller account and get a free reimbursement audit. No credit card, keep 100% of what you recover.