Bookkeeping, tax, and accounting services for small businesses across the Carolinas.

Call: (440) 207-0171

How should cost of goods sold be tracked for an online store?

COGS for an online store is the cost of every item you sold during the period. Sounds simple. It rarely is. The right number depends on accurate product costs, freight-in, returns, shrinkage, and how you handle bundles. Get it wrong and your margins look fine on paper while your bank account tells a different story.

Start with landed cost per unit. The price you pay your supplier is only part of it. Add inbound freight, customs duties, and any handling fees you pay to get the product into your warehouse or 3PL. That total divided by units received is your true unit cost. If you skip freight-in and just use the invoice price, your COGS understates reality and your profit looks better than it is. For Shopify or Amazon sellers importing from overseas, freight and duties can easily add 15% to 30% on top of the product cost.

There are two ways to keep COGS current. The first is a perpetual system where an inventory app posts the cost of each sale to COGS automatically. SOS Inventory, Cin7 Core, and Shopify’s built-in cost tracking all do this when set up correctly. The app holds the inventory asset balance, decreases it as orders ship, and creates the corresponding COGS entry in QuickBooks Online. This is the cleanest approach if you have meaningful inventory levels and multiple SKUs.

The second method is month-end journal entries. You count inventory at the end of the period, calculate the change from beginning to ending balance, factor in purchases, and book the difference as COGS. Beginning inventory plus purchases minus ending inventory equals COGS for the period. This works for smaller operations with a manageable SKU count, but it only gives you accurate numbers once a month and depends entirely on the physical count being right.

Returns need to flow both directions. When a customer returns a sellable item, the inventory goes back on the books and COGS reverses for that unit. When the item comes back damaged or unsellable, COGS stays but the inventory write-down hits a separate damaged goods or shrinkage account. Many sellers refund the customer in Shopify and forget to put the item back into inventory, which slowly inflates COGS and overstates losses.

Shrinkage is the gap between what your system says you have and what you actually have on the shelf. Theft, damage, miscounts, mis-picks at the 3PL. Run a physical count at least quarterly and book any variance as a COGS or shrinkage expense. Without periodic counts, system inventory drifts away from reality and your margins become fiction.

Bundles and kits cause more COGS mistakes than almost anything else. If you sell a three-pack bundle, the SKU you sell isn’t the SKU sitting on the shelf. Inventory software needs to know that one bundle sale consumes three component units, each with its own cost. Without this mapping, you sell bundles all day and your inventory asset never decreases, then a year-end count reveals a massive shortage you can’t explain. Cin7 Core and SOS Inventory both handle bundle-to-component relationships, but they have to be set up before the first sale.

A few practical recommendations for an ecommerce operation. Keep a separate general ledger account for freight-in so you can see what landed costs are running. Reconcile inventory between Shopify, your inventory system, and QuickBooks every month so the three numbers actually agree. Book sales tax collected through a liability account, not revenue, so it doesn’t muddy the COGS percentage. Review gross margin by SKU regularly because a single mispriced product can quietly erode profit for months.

If your store is large enough that month-end adjustments aren’t keeping up, a direct integration between your inventory platform and QuickBooks is worth the setup work. Our inventory accounting work for ecommerce clients usually starts with reviewing the existing setup, reconciling balances across systems, and deciding whether to run perpetual entries or stick with monthly adjustments. The right choice depends on volume, SKU complexity, and how often you need accurate margins.

COGS is the single biggest expense on most online store income statements. It deserves the same attention as revenue. If you want help getting it set up correctly or want a second look at numbers that don’t feel right, GMJ Accounting provides bookkeeping, tax and consulting services for ecommerce sellers across the Carolinas.

Trusted Accounting for Small Businesses

First Step:
Start With a Call

Tell us about your business and what you need help with. We'll ask a few questions, evaluate your current situation, and let you know how GMJ can support your books, taxes, and day-to-day operations.

More Questions

How should a warehouse or fulfillment business track inventory, labor and shipping costs?

Track customer-owned inventory separately from your own supplies, then allocate labor, shipping, storage, and overhead by customer or job. The goal is customer-level profitability so you can see which accounts actually make money after all the activity-based costs are accounted for.

Read answer

How should food costs and inventory be tracked for restaurants and bars?

Code every purchase by category, take physical counts at period end, build recipe cards for menu items, track waste, and reconcile vendor credits. Done right, the books show food cost and beverage margin in real time, not just at tax time.

Read answer

Should my small business use cash or accrual accounting?

Cash basis is simpler and works well for many small businesses, especially for tax filing. Accrual gives a more accurate picture of profitability and is often required if you carry inventory, deal with significant receivables and payables, or report to lenders.

Read answer

What bookkeeping mistakes make restaurant profit look better than it is?

Restaurant profit gets inflated when net deposits get booked as sales, tips and sales tax sit in revenue, unpaid vendor bills go missing, inventory isn't reconciled to cost of goods sold, and payroll liabilities aren't accrued. These mistakes can make a 5% margin look like 15% until cash flow tells the real story.

Read answer

How should a nonprofit track restricted and unrestricted donations?

Track donor restrictions, releases from restriction, grant purposes, and board designations separately using classes or funds in your accounting software. Keep documentation at the point of receipt so Form 990 schedules and board reports pull cleanly from your data instead of requiring reconstruction at year end.

Read answer

How can catch-up bookkeeping fix messy ecommerce records before tax season?

Catch-up bookkeeping rebuilds ecommerce books by working through platform exports, payout reports, sales tax filings, and inventory records to reconcile what actually happened against what's in QuickBooks. The result is tax-ready financials that match your bank deposits, platform statements, and inventory counts.

Read answer

GMJ Accounting is a Jacksonville, NC firm offering bookkeeping, tax, and advisory services to small businesses across the Carolinas. Founded in 2014 and led by Gina Bertone, EA, MAcc, CEP, an IRS Enrolled Agent with more than 15 years of public accounting and CFO experience.

  • QuickBooks logo
  • Square logo
  • Shopify logo
  • Gusto logo
  • Expensify logo
  • Bill.com logo
  • Keap logo
  • SmartVault logo
  • TaxJar logo
  • ShipStation logo
  • Commerce Sync logo
  • Webgility logo
  • Cin7 logo
  • Knowify logo
  • Planday logo
  • ClassWallet logo
  • SureTech logo

© 2026 GMJ CONSULTING, LLC DBA GMJ Accounting