Learn · COGS & inventory
is cost of goods sold an expense
Short answer
Yes, cost of goods sold (COGS) is an expense, but it's classified separately from operating expenses because it's directly tied to revenue and subtracted first to calculate gross profit. Unlike rent or software subscriptions, COGS only exists when a sale happens.
Key takeaways
- •Buying inventory only swaps one asset for another: debit the inventory account, credit cash, and nothing touches the profit and loss statement.
- •Selling a unit fires a second entry that debits COGS and credits inventory, and that entry is the moment an asset becomes an expense.
- •Overstating ending inventory understates COGS and overstates profit, and the wrong figure carries forward as the next period's beginning balance.
- •Lost, damaged, or obsolete units leave inventory through a shrinkage or write-off line rather than COGS, because no sale ever happened.
- •Cash-basis expensing of stock makes a Q4 restock look disastrous and January heroic, so keep management books on accrual COGS even where tax rules allow otherwise.
By Marcus Brandt · Head of Seller Accounting
Updated July 30, 2026
If you're staring at a profit-and-loss statement wondering why COGS sits in its own line above 'expenses,' you're not imagining things. COGS is an expense in the everyday sense of the word (it reduces your profit), but accountants treat it as its own category because it behaves differently from the rest of your costs. Getting this distinction right matters for Amazon sellers, where inventory costing errors quietly distort margin, tax filings, and FBA reimbursement claims.
The short version: your inventory is an asset while it sits on a shelf, and it converts into an expense (COGS) only at the moment a unit sells. That timing rule is the whole game. It explains why a huge restock month doesn't crater your P&L, why your COGS never matches your purchase invoices, and why tax authorities care so much about your ending inventory count.
Below we walk through the classification, the journal mechanics, a worked example with hypothetical numbers, the cash-versus-accrual wrinkle that trips up small sellers, and how to keep all of it straight without living in spreadsheets.
COGS Is an Expense, Just a Special Kind
Cost of goods sold represents the direct cost of the inventory you sold during a period: typically the product cost, inbound freight, and sometimes packaging directly tied to units sold. It reduces revenue on the income statement, which technically makes it an expense: money that leaves the business and lowers taxable profit.
But COGS isn't grouped with 'operating expenses' (OpEx) like advertising, software, or salaries. It sits above the gross profit line, while OpEx sits below it. That structure exists because COGS scales directly with sales volume (no sale, no COGS) while most operating expenses continue whether you sell one unit or a thousand.
Some accountants describe COGS as a "contra-revenue-like" cost or simply as a direct cost, but the practical takeaway is the same: it's an expense whose timing is controlled by sales, not by spending. You can wire $50,000 to a supplier in March and record zero COGS in March if nothing sold. The cash left, the expense didn't happen yet. That's not a loophole; it's the accrual principle of matching costs to the revenue they generate.
- •Revenue − COGS = Gross Profit
- •Gross Profit − Operating Expenses = Operating Income
- •COGS = direct product/inventory cost only, not overhead
The Journal Mechanics: Asset First, Expense Later
Follow one unit through the books and the classification question answers itself. When you buy inventory, you debit the inventory asset account and credit cash (or accounts payable). Nothing touches the P&L. Your balance sheet just swapped one asset (cash) for another (inventory).
When the unit sells, two entries fire. First, revenue: debit cash or accounts receivable, credit sales. Second, the cost side: debit COGS, credit inventory. That second entry is the moment inventory stops being an asset and becomes an expense. The P&L picks up both the revenue and the matched cost in the same period, which is exactly what makes gross margin meaningful.
This is also why an inventory count error is never contained. Overstate ending inventory and you understate COGS, which overstates profit, and next period inherits the wrong beginning balance. Sloppy counts don't just miss; they ripple.
For FBA sellers the "count" is mostly Amazon's inventory ledger reports rather than a walk through your own warehouse, which cuts both ways. The unit counts arrive automatically, but discrepancies between what Amazon says it holds and what your books say you shipped are exactly where lost inventory hides. Reconciling the two monthly is how sellers catch losses while they're still claimable.
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
A Worked Example of the Timing
Say you buy 1,000 units of a product in March at a landed cost of $8 each, $8,000 total (hypothetical numbers throughout). In March you sell nothing. Your March P&L shows zero COGS, and your balance sheet shows $8,000 of inventory. Cash-flow-wise March hurt; profit-wise it's silent.
In April you sell 400 units at $20 each. April's books show $8,000 of revenue, COGS of 400 × $8 = $3,200, and gross profit of $4,800. The remaining 600 units, $4,800 at cost, stay on the balance sheet. Notice your April COGS ($3,200) bears no resemblance to what you paid suppliers in April ($0). Anyone reading purchase invoices to figure out product cost for the month is reading the wrong document.
Now suppose Amazon loses 50 of your remaining units in May. Those units never sold, so they don't belong in COGS. They come out of inventory as a shrinkage or loss line, and they become the basis of a reimbursement claim. Sellers who dump lost units into COGS bury exactly the paper trail that gets them paid back.
Why the Distinction Matters for Amazon Sellers
Lumping COGS in with general expenses hides your true product margin. If you can't see gross profit separately, you can't tell whether a SKU is actually profitable before ad spend, storage fees, and referral fees get layered on top. Sellers who mix everything into one 'expenses' bucket often discover mid-year that their best-selling SKU has been losing money on unit economics alone.
Inventory costing precision also directly affects how much you recover when Amazon loses or damages your stock. As of 2025, Amazon reimburses lost or damaged FBA inventory based on the seller's manufacturing or sourcing cost, not retail price, and if you haven't supplied your actual cost, Amazon defaults to its own estimate. If your books don't clearly separate true unit COGS from bundled fees, you're negotiating reimbursements with weaker documentation and likely leaving money on the table.
None of this is Amazon-specific, incidentally. eBay cost of goods sold behaves identically: the unit is an asset until it ships, then its cost moves to COGS. What multi-channel sellers add is the need to see that margin per channel, because one shared inventory pool with no channel view hides which storefront is actually earning.
There's a lender-and-buyer angle too. If you ever seek financing or sell the business, the first thing a diligence team rebuilds is gross margin by SKU. Books that show clean COGS separate from OpEx survive that scrutiny; books with one blended expense pile get discounted, sometimes literally in the purchase price.
How COGS Is Calculated (and Where Sellers Get It Wrong)
The standard formula is straightforward: Beginning Inventory + Purchases − Ending Inventory = COGS. The complexity for Amazon sellers comes from what counts as a 'purchase' cost. Product unit cost is obvious; inbound freight, duties, and prep-center fees tied to getting inventory sale-ready should also be capitalized into inventory cost rather than expensed immediately as OpEx, per standard accrual accounting (see the IRS guidance on inventory and cost of goods sold for the general framework U.S. filers follow).
Manufacturing your own product adds a layer. Conversion cost, meaning the direct labor and factory overhead that turn raw materials into a finished unit, belongs in unit cost alongside the materials themselves. This is the practical edge of cost accounting: by definition the discipline is about assigning costs to what you make or sell, and the management accounting half of it is using those numbers to decide what to reorder and what to kill. Contractors and job shops answer the same question with job cost accounting software, which pools costs into a project rather than a unit. Sellers need the per-SKU equivalent.
Which cost flows out when a unit sells depends on your costing method. FIFO expenses the oldest layer first. The weighted average cost of inventory blends every purchase into a single number that shifts each time stock arrives. Both are acceptable; switching between them whenever one flatters the quarter is not. Your software may settle it for you, since QuickBooks Online values inventory on FIFO while QuickBooks Desktop defaults to average cost, which means the QuickBooks Online vs Desktop cost comparison isn't only about the subscription price. It decides which COGS number your P&L shows.
Common mistakes include expensing freight the month it's paid instead of the month the related units sell, mixing FBA storage and fulfillment fees into COGS (they're operating expenses), and using average landed cost inconsistently across SKUs or time periods. Any of these can swing reported margin by several points without a single sale actually changing.
Write-downs are the edge case people forget. If inventory becomes unsellable (expired, damaged beyond repair, or a discontinued model nobody wants), you don't wait for a sale that will never come. You write the value down or off, which is its own expense line. Keeping write-offs out of regular COGS preserves your real product margin and gives your accountant a clean story at tax time.
- •Capitalize: unit cost, inbound freight, duties, prep costs
- •Do not capitalize: FBA fulfillment fees, storage fees, PPC spend
- •Recognize COGS only when the unit sells, not when you pay for it
- •Lost, damaged, or obsolete units: separate shrinkage/write-off line, not COGS
Expense, Bill, or Check: Recording the Purchase in QuickBooks Online
All of the above assumes the purchase lands in the right account, which is where QuickBooks trips sellers up. Expense vs bill in QuickBooks Online is a timing question rather than a category one: an Expense records money that already left, a Bill records money you owe and creates a payable to settle later. Expense vs check in QuickBooks Online is narrower still, since a Check is an Expense paid by a specific check number. None of that changes the accounting for stock. Whichever form you use, an inventory purchase credits cash or accounts payable and debits the inventory asset, never a COGS or expense account.
Two QuickBooks Online features get mistaken for something they aren't. Billable expense income exists for service businesses re-billing a cost to a client, and it has no role in a marketplace seller's books. QuickBooks Online expense reimbursement means paying an employee back for something they bought out of pocket, which shares nothing but a word with the FBA reimbursements Amazon owes you for lost inventory. Keep those in separate accounts or your month-end will get confusing quickly.
A QuickBooks expense tracking app is genuinely handy for the OpEx side: photograph the receipt, code it, move on. It won't produce COGS. COGS isn't a receipt you capture, it's a journal entry triggered by a sale, which is how a QuickBooks Online expense report can look complete while your gross margin is still fiction.
The Cash-Basis Wrinkle
Plenty of small sellers keep books on a cash basis and simply expense inventory when they buy it. Be honest about what that buys you: simplicity, at the cost of meaningful margins. Under cash-basis treatment, a Q4 restock makes December look disastrous and January look heroic, and gross margin per SKU is unknowable. U.S. tax rules do give qualifying small taxpayers some flexibility in how they account for inventory; the details and eligibility live in IRS Publication 538 and are worth a conversation with a tax professional rather than a guess.
Even if you're allowed to expense purchases for tax, run your management books on accrual COGS. The two can coexist: your accountant reconciles the difference at filing time, while you make pricing, restock, and ad decisions from numbers that reflect reality. Deciding what to reorder based on cash-basis profit is how sellers double down on losers that looked profitable in a low-purchase month.
Getting COGS Right Without Manual Spreadsheets
Manually tracking landed cost per SKU across multiple shipments, suppliers, and currency conversions is exactly where sellers lose accuracy, and where tax filings and reimbursement claims get shaky. Purpose-built Amazon accounting software automates landed-cost allocation and keeps COGS separated from operating expenses automatically, so your P&L reflects real unit economics instead of a blended guess.
At BeanHawk, we see the same pattern repeatedly: sellers who separate COGS cleanly from day one catch margin problems months earlier than sellers who don't, and they file cleaner reimbursement claims when Amazon loses inventory, because their per-unit cost documentation is already audit-ready.
If you're evaluating tools, look for three things. Per-batch landed cost tracking, so each shipment's freight and duties flow into unit cost. Automatic COGS posting as units sell, so the asset-to-expense conversion happens without you touching a journal. And a clean ledger sync, whether that's amazon quickbooks style integration or Xero, so gross margin shows up correctly in the books your accountant actually files from. Amazon bookkeeping software that does those three things earns its subscription; a tool that just categorizes bank transactions doesn't solve the COGS problem at all. To be fair, a disciplined spreadsheet handles all of this at low volume; the crossover comes when batches, channels, or currencies multiply and amazon seller bookkeeping starts eating evenings. That's the point where proper amazon fba accounting software stops being a luxury.
Frequently asked questions
- Is COGS a debit or credit?
- COGS is recorded as a debit, since it's an expense account that increases as costs are incurred. The offsetting credit typically reduces the inventory asset account. This entry usually happens at the point of sale, not at purchase.
- Is COGS the same as operating expenses?
- No. COGS covers only the direct cost of goods sold, while operating expenses cover everything else needed to run the business: rent, salaries, advertising, software, and platform fees. They're reported in separate sections of the income statement precisely so you can see gross margin before overhead.
- Is inventory an expense or an asset?
- An asset, right up until a unit sells. Unsold inventory sits on the balance sheet at cost. When it sells, its cost moves to COGS on the income statement. If it becomes unsellable, it leaves via a write-off instead. Inventory is never an expense just because you paid for it.
- Does FBA storage or fulfillment fee count as COGS?
- No. Those are operating expenses, not part of the direct product cost. Bundling them into COGS inflates apparent product cost and understates your true operating expense ratio, muddying margin analysis.
- Why does my COGS not match what I paid for inventory this month?
- Because COGS reflects the cost of units sold, not units purchased. If you bought 1,000 units but only sold 400, only the cost of those 400 units hits COGS this period; the rest stays on your balance sheet as inventory.
- Can I just deduct inventory when I buy it for taxes?
- Sometimes, if you qualify as a small taxpayer under IRS rules, but eligibility and method details matter, so confirm against IRS Publication 538 and your tax professional. Even where it's permitted for tax, keep accrual-style COGS in your management books; purchase-month expensing makes margins unreadable for decision-making.
- How does COGS affect my FBA reimbursement amount?
- Since Amazon now bases lost/damaged inventory reimbursements on your actual sourcing cost rather than retail price, accurate per-unit COGS records directly determine your payout. If you haven't submitted your cost documentation, Amazon substitutes its own estimate, which is often lower than reality.
- What's the best bookkeeping software for tracking COGS as an Amazon seller?
- One that tracks landed cost per batch, posts COGS automatically as units sell, and syncs a clean gross-margin picture into QuickBooks or Xero. BeanHawk is built for that flow; A2X plus an inventory tool is a common alternative, and ecommerce accounting spreadsheets remain workable for small catalogs. Judge any option by whether its inventory balance reconciles to what's physically in FBA, because that's the number everything else depends on.
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.