Growthy
AI Bookkeeping

AI & Automation

AI BookkeepingHow AI is changing transaction categorization, bank reconciliation, and bookkeeping workflows.
AI for Accountants
Bookkeeping Automation
QuickBooks Automation

Payments & Reconciliation

Stripe Bookkeeping Guide: Payouts, Fees, Refunds, and QBO/Xero
Payment Reconciliation: How to Match Merchant Deposits to Gross Revenue in 2026
Accounts Payable Workflow for Bookkeepers: 2026 (3-Way Match, AP Aging, Vendor Recs, 1099 Roll-Up)
QuickBooks Integrations

Industry Guides

Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
SaaS Accounting: A Practitioner's Guide to Revenue Recognition, Deferred Revenue, and the Books Behind the Subscription
1099 Filing

Foundations

Chart of Accounts: The Complete Guide for Bookkeepers
Asset Account CategoriesEquity Accounts ExplainedExpense Account CategoriesView all →
Glossary
Balance Sheet TermsBookkeeping Foundation TermsIncome Statement TermsView all →
Bookkeeper Scaling

More Topics

Accounts Receivable Management: A Bookkeeper's Guide to Aging, Collections, and Getting Paid
For BookkeepersFor AccountantsPricing
Join the Alpha
Growthy

© 2026 Growthy. All rights reserved.

  1. Blog
  2. Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
  3. Ecommerce Inventory and COGS: Tying Cost to Fulfillment, Not Payout Timing

Ecommerce Inventory and COGS: Tying Cost to Fulfillment, Not Payout Timing

Bobby Huang

Partner, SDO CPA LLC / CEO, Growthy

June 24, 2026
8 min read
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Ecommerce Inventory and COGS: Tying Cost to Fulfillment, Not Payout Timing

In this article

Most ecommerce sellers get paid two to three weeks after a sale. That delay is fine for cash flow planning. But many sellers let that same delay drive how they record costs. That's a much more expensive mistake.

When you book cost of goods sold (COGS) at payout instead of fulfillment, profit looks higher in October and lower in November. That distortion compounds across thousands of SKUs. Your P&L misleads you on pricing, margins, and taxes.

This article covers the four mechanics that fix ecommerce inventory accounting: ecommerce COGS timing, inventory valuation, returns, and units held at Amazon. None of it is complicated once you see the pattern.

When do ecommerce sellers recognize COGS?

COGS is recognized when inventory is fulfilled (shipped to the customer), not when the platform pays out. Sell a $50 item on October 28. Amazon settles on November 14. The COGS entry belongs in October — the same period as the revenue. Booking it in November overstates your October margin and understates November's. A seller moving $10,000/month with a 40% cost ratio misallocates $4,000 in costs when there's a two-week payout delay. The fix is accrual-based COGS: match costs to the revenue they generate, not the bank transfer that arrives later.

Key Takeaways

  • COGS follows fulfillment, not payout: The day inventory ships is the day cost hits your P&L, regardless of when the platform settles.
  • Three events, two that matter: Sale date (revenue), fulfillment date (COGS), and settlement date (cash) are separate. Only the first two affect your income statement.
  • Landed cost belongs in inventory: Freight and duties are part of inventory value, not a period expense. A $10 item with $2 freight should carry a $12 inventory cost.
  • Returns reverse both sides: A return reduces revenue AND restores (or writes off) inventory cost. Both entries need to move.
  • FBA inventory is still your asset: 300 units at an Amazon fulfillment center belong on your balance sheet until sold. Location doesn't change ownership.
  • Reconcile monthly: Cross-check your books against Seller Central reports every month. Catch shrinkage and unrecorded movements early.

Why COGS Timing Is the Ecommerce Trap

Here's the core issue: three things happen when you make a sale, and they almost never happen on the same day.

The Three Events That Never Land on the Same Day

Event 1 (Sale): The customer clicks Buy. Revenue is recognized. This is October 28.

Event 2 (Fulfillment): The item ships from the warehouse. Inventory moves out of your account and COGS is recognized. This might be October 29.

Event 3 (Settlement): Amazon, Shopify, or Etsy deposits money into your bank account. This is November 14.

Accrual accounting matches revenue and cost in the same period. Event 1 and Event 2 need to land in the same month. Event 3 is irrelevant to your income statement.

Why Booking at Payout Breaks Your Margin Report

Say you sell 10 units at $50 each on October 28. Each unit cost you $22 to produce and ship. Your fulfillment center ships them October 29.

The correct entries:

  • October: Revenue +$500, COGS +$220. Gross profit = $280. Margin = 56%.
  • November: Nothing related to this sale.

If you book COGS when the platform pays (November 14):

  • October: Revenue +$500, COGS $0. Gross profit = $500. Margin = 100% (wrong).
  • November: COGS +$220 with no matching revenue. Gross profit = -$220 (wrong).

You made 56% margin. Your books show 100% one month and negative the next. This distortion drives bad pricing decisions. It also means your tax liability calculations are off. You may overpay estimated taxes in Q4 and underpay in Q1.

For context on how COGS fits into your broader ecommerce bookkeeping setup, see ecommerce bookkeeping fundamentals.

Inventory Valuation for Online Sellers

Once you understand COGS timing, the next question is: how much does each unit cost? That depends on your valuation method.

FIFO vs Weighted Average: Which One Fits Your Store

Two methods dominate ecommerce bookkeeping:

FIFO (first in, first out): The oldest inventory costs flow out first. Buy 100 units at $10 in January and 100 more at $12 in March. The first 100 you sell cost $10 each. The next 100 cost $12 each.

FIFO works well for dated or seasonal goods. It also fits stores where supplier costs shift lot-to-lot.

Weighted average: You pool all inventory at an average cost. If you have 200 units (100 at $10 and 100 at $12), the average cost is $11. Every unit sold costs $11, regardless of which physical unit ships.

Weighted average is simpler for high-SKU operations where tracking lot-level costs adds more friction than value.

One practical note: the IRS requires consistency. You can't switch methods year to year without filing Form 3115. Pick the one that fits your operation and stick with it.

Landed Cost Belongs in Inventory Value, Not Period Expense

This is where a lot of ecommerce sellers leak margin without realizing it.

Landed cost covers everything to get a unit to a sellable state: purchase price, freight, duties, and prep fees. All of it belongs in the inventory cost of that unit, not expensed the period you paid it.

A unit at $10 from the supplier plus $2 freight carries a $12 inventory cost. When it sells, $12 flows through COGS.

The common mistake is booking freight as a period expense when the invoice arrives. That understates inventory value and overstates gross margin. You look more profitable than you are.

For the right chart of accounts structure to handle landed cost correctly, see ecommerce chart of accounts.

Returns, Restocking, and Shrinkage

Returns are a double-entry event, and most ecommerce sellers only do half of it.

Reversing Both Revenue and COGS in the Right Period

Say a customer returns a $50 item that cost you $22. Two things happen on your books:

  1. Revenue drops by $50.
  2. If the item is resellable, COGS drops by $22 and inventory goes back up by $22.

Most sellers record the refund (revenue drop). Fewer reverse the COGS and restore inventory. Skip that step and your COGS stays high, making gross margin look worse than it is.

When the item is damaged or unsellable, step 2 changes: you can't restore it to inventory. Instead, remove it from inventory at cost and record a $22 shrinkage loss. That loss sits below gross profit. It shouldn't be buried in your COGS figure.

Partial refunds change only the revenue side. If you refund $40 of a $50 sale but keep the item, revenue drops $10 and COGS is unchanged.

Timing matters here, too. The reversal goes in the period the return is processed, not the period of the original sale.

Damaged and Unsellable Units

Inventory shrinkage from theft, damage, or loss is not a COGS event. COGS requires a sale. When units disappear without a sale:

  1. Remove them from your inventory account at cost.
  2. Record the offset as an inventory shrinkage or loss expense.

Running all inventory reductions through COGS inflates costs and hides the real issue. Shrinkage should be its own line so you can track it and spot patterns.

Units Held at Fulfillment Centers

This is the one that surprises FBA sellers the most.

FBA Inventory Stays on Your Balance Sheet

When you ship 500 units to an Amazon fulfillment center, you don't sell them to Amazon. You store them there. You still own every unit until a customer buys it.

That means all 500 units belong on your balance sheet as an asset. If 200 have sold, 300 remain on the balance sheet at their inventory cost. Not at Amazon's selling price, not at zero.

The ownership test is legal title, not physical location. A unit at a fulfillment center in Kentucky is still your asset if you own it.

For a full breakdown of FBA-specific accounting entries, see Amazon seller bookkeeping.

Reconciling Platform Inventory Reports

Every month, cross-check your bookkeeping system against the Amazon Seller Central inventory report. Here's the process:

  1. Pull the FBA inventory report from Seller Central (units currently in fulfillment).
  2. Multiply units by your average cost per unit.
  3. Compare that figure to your "FBA Inventory" account balance in your bookkeeping system.

Discrepancies mean one of three things: unrecorded receipts, unrecorded sales, or shrinkage. Amazon may have lost or damaged units without logging it on your side.

If you're setting up FBA inventory accounting, Growthy is 85% accurate on first import. You review the rest.

Conclusion

COGS follows inventory movement, not when the platform pays you. That's the single rule that makes all of this work.

Get the timing right and your P&L becomes a reliable tool for pricing decisions. Tracking inventory cogs ecommerce sellers neglect is what makes the numbers honest. Get inventory valuation right and your unit economics reflect reality. Handle returns correctly and gross margin stops bouncing. Track FBA inventory as an asset and the balance sheet balances.

None of it requires specialized accounting software or a CPA on call. It requires consistent methodology applied the same way every month.


Growthy is bookkeeping software, not a CPA firm. This content is educational, not professional advice.

Get started with Growthy

See It Work on Your Data

Free during alpha. Read-only access. You review every sync.

✓ No credit card✓ Works with QuickBooks✓ 85% accuracy
Request Early Access

Bobby Huang • Partner, SDO CPA LLC / CEO, Growthy

CPA firm partner who got tired of watching bookkeepers click categorize 500 times a day. Built Growthy to fix it.

View author profile

Growthy is dedicated to helping businesses of all sizes make informed decisions. We adhere to strict editorial guidelines to ensure that our content meets and maintains our high standards.

Keep reading

a purple background with a basket of items and a target
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books

Ecommerce Chart of Accounts: The Template QBO Doesn't Ship

You set up QBO for an ecommerce client. The default chart looks fine. Then the Shopify payout lands. You have one "Product Revenue" account. No line for Amazon fees. Sales tax in income where it has no place.

B
Bobby Huang
7 min
Featured image for Sales Tax Nexus for SaaS Startups: How to Stay Compliant Without Hiring a Tax Team
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books

Ecommerce Sales Tax Nexus: When a Single Store Triggers a Liability

You open one Shopify store. You sell to buyers across the country. It feels like one business, in one place, with one ecommerce sales tax nexus problem.

B
Bobby Huang
12 min
Featured image for Shopify Bookkeeping: Payout Reconciliation That Actually Ties Out
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books

Shopify Bookkeeping: Payout Reconciliation That Actually Ties Out

Your Shopify payout hits the bank: $1,847.32. Your Shopify sales dashboard says $2,100.00. The gap isn't missing money. It's Shopify Payments fees, refunds you issued, and shipping you collected, all netted before the deposit hits.

B
Bobby Huang
11 min