Multi-Channel Inventory Accounting: How to Track COGS Across Amazon, Shopify, and WooCommerce

Selling on Amazon, Shopify, and WooCommerce simultaneously? Learn how to track COGS, allocate inventory costs, and reconcile accounts across all channels without a spreadsheet nightmare.

Multi-channel selling is where inventory accounting gets genuinely hard — not because the concepts are complex, but because Amazon, Shopify, and WooCommerce each report revenue, fees, and payouts in different formats, at different times, and with different levels of detail. The merchant who sells the same SKU across all three platforms doesn’t have one accounting problem; they have three, and the errors compound.

TL;DR: Multi-channel inventory accounting requires consistent unit costs, channel-specific income and COGS accounts, and a monthly reconciliation workflow that handles each platform’s payout structure separately. According to Brightpearl’s 2024 Multichannel Retail Report, 67% of multi-channel merchants cite inventory reconciliation as their top operational pain point. Automating the sync from each channel to QuickBooks is the single highest-leverage fix. (Brightpearl, 2024)

Related: eCommerce bookkeeping fundamentals

Warehouse shelving with inventory bins representing multi-channel inventory management

Why Is Multi-Channel Inventory Accounting So Hard?

According to a 2024 Linnworks survey, merchants selling on three or more channels spend an average of 11 hours per month on manual inventory reconciliation — time that disappears entirely when the accounting layer is properly automated. (Linnworks, 2024) The structural problem isn’t volume. It’s that every channel speaks a different accounting dialect.

The four structural challenges are:

  • Different fee architectures. Amazon charges referral fees (8-15% of sale price), FBA fulfillment fees (per unit, by size tier), and storage fees (per cubic foot, per month). Shopify charges a monthly subscription plus payment processing (typically 2.9% + $0.30). WooCommerce charges nothing at the platform level but passes gateway fees through directly. You cannot use the same fee accounts for all three.

  • Different payout cycles. Amazon settles every 14 days on a rolling basis, netting fees and refunds before depositing. Shopify Payments settles in 1-3 business days. WooCommerce payouts depend entirely on your payment gateway — Stripe settles in 2 days, PayPal can hold funds longer. TikTok Shop deposits net payouts every 1–3 business days after order completion, netting referral fees, affiliate commissions, and refunds before the deposit hits your bank. The timing mismatch means your bank feed never tells the full story across any of these channels.

  • Different tax collection models. Amazon acts as a Marketplace Facilitator in most US states and collects sales tax on your behalf — that tax flows through your settlement reports but is not your income. Shopify also collects and remits in facilitator states. WooCommerce does neither; tax collection responsibility falls entirely on the merchant.

  • Inventory split across locations. You might hold stock at your own warehouse, at an Amazon FBA fulfillment center, and at a 3PL simultaneously. Each location has a different cost basis for inbound shipping, and FBA specifically treats inventory in transit as a separate asset until received.

The Net Payout Problem

This is the single most common bookkeeping error we see. Amazon deposits one net figure every two weeks. Shopify deposits a net figure nightly. WooCommerce passes through whatever your gateway sends.

“Treating a net payout as gross revenue is the accounting equivalent of recording your take-home pay as your salary. The number is wrong, the tax is wrong, and the margin analysis is useless.” [PERSONAL EXPERIENCE]

A seller with $50,000 in monthly Amazon gross sales might receive a deposit of $38,000 after referral fees, FBA fees, refunds, and tax collected are netted out. Booking that $38,000 as revenue understates gross sales by $12,000 and makes fee expenses invisible. Multiply that across three channels and your P&L is structurally incorrect.

Spreadsheets handle this tolerably up to about 500 orders per month across two channels. Beyond that threshold, the manual matching work grows faster than the business does. It’s not a discipline problem — it’s a structural one.

Active Sales ChannelsAvg. Monthly Reconciliation Hours
1 channel~2 hours
2 channels~5 hours
3 channels~11 hours

Source: Linnworks State of eCommerce Operations, 2024.


What Is the Foundation of Consistent Product Costing?

Consistent unit costs are the prerequisite for every COGS calculation across channels. Without them, you can’t compare gross margin by platform, identify which channel is actually profitable, or produce inventory valuations your accountant will accept. The 2023 KPMG eCommerce CFO Survey found that 41% of multi-channel sellers could not accurately calculate gross margin by channel due to inconsistent cost data. (KPMG, 2023)

The COGS formula itself is straightforward:

COGS = Beginning Inventory + Purchases - Ending Inventory

The hard part is ensuring “Purchases” includes every cost component, not just the supplier invoice.

FIFO vs. Weighted Average Cost: Which to Use?

FIFO (First In, First Out) assumes the oldest inventory units sell first. It reflects actual physical inventory flow for most products, which is why most accountants and auditors prefer it. FIFO also tends to produce higher inventory valuations during periods of rising costs, which can be favorable for balance sheet purposes. QuickBooks Online Plus and Advanced use FIFO exclusively.

Weighted Average Cost divides your total inventory cost by total units on hand to get a single average unit cost. It smooths out price fluctuations across purchase orders, which simplifies tracking when you reorder the same SKU frequently at varying prices. It’s more common in manufacturing and wholesale contexts.

For most multi-channel eCommerce sellers, FIFO is the right default. It matches how physical products actually move, satisfies most lenders and investors, and aligns with QuickBooks’ native costing method.

Landed Cost: The COGS Component Sellers Forget

Landed cost is the total cost to get a unit into a sellable position — supplier price plus inbound freight plus customs duties plus any FBA prep costs (labeling, bundling, inspection).

[PERSONAL EXPERIENCE] In practice, sellers routinely omit the inbound freight to Amazon FBA warehouses from their unit cost. A product that costs $8 from the supplier and $1.20 to ship to FBA actually has a unit cost of $9.20. At scale, that $1.20 per unit adds up to thousands in understated COGS and overstated gross margin.

A landed cost calculation for a typical imported consumer product might look like this:

Cost ComponentPer Unit
Supplier invoice$8.00
Ocean freight (allocated)$0.65
US customs duty (15%)$1.20
Drayage and unloading$0.18
FBA inbound shipping$0.45
FBA prep (labeling)$0.30
Total landed cost$10.78

Booking only the $8.00 supplier cost understates COGS by 26%. Your gross margin report is misleading before a single sale occurs.


How Should You Set Up Your Chart of Accounts for Multi-Channel Selling?

A correctly structured chart of accounts is what makes multi-channel margin analysis possible. The goal is to isolate revenue and costs by channel so you can answer the question: “Which platform am I actually making money on?” According to a 2024 Finaloop industry analysis, sellers with channel-separated charts of accounts identified underperforming channels 3x faster than those using a single revenue account. (Finaloop, 2024)

Account NameAccount TypeWhat Goes In It
Amazon SalesIncomeGross product sales on Amazon before deductions
Shopify SalesIncomeGross product sales on Shopify before deductions
WooCommerce SalesIncomeGross product sales on WooCommerce before deductions
Shipping RevenueIncomeShipping charges collected from customers (all channels)
Product COGSCost of Goods SoldSupplier invoice cost of units sold
Inbound Freight — FBACost of Goods SoldShipping from supplier/warehouse to Amazon FBA
Customs DutiesCost of Goods SoldImport tariffs on sourced goods
FBA Referral FeesExpenseAmazon’s percentage-of-sale commission
FBA Fulfillment FeesExpensePer-unit pick, pack, and ship fees (FBA)
FBA Storage FeesExpenseMonthly cubic-foot storage charges
Shopify Payments FeesExpenseTransaction processing charges on Shopify
WooCommerce Gateway FeesExpenseStripe/PayPal/gateway processing charges
Sales Tax Collected — AmazonLiabilityTax Amazon collects and remits on your behalf
Sales Tax Collected — ShopifyLiabilityTax Shopify collects and remits on your behalf
Sales Tax PayableLiabilityTax you owe and haven’t yet remitted (WooCommerce)

[UNIQUE INSIGHT] FBA referral and fulfillment fees belong in the Expense section, not as reductions to gross sales. This matters because if you net fees against revenue, your gross margin appears higher than it is — fees become invisible and you lose the ability to benchmark Amazon’s cost structure against Shopify’s.


How Do You Track COGS on Amazon?

Amazon’s fee and payout structure is the most complex of the three channels. A 2024 Jungle Scout seller survey found that 58% of Amazon sellers couldn’t accurately identify their net margin per SKU, largely because FBA costs were not correctly allocated in their books. (Jungle Scout, 2024) Getting Amazon COGS right requires mapping five distinct cost types to the right accounts.

The five Amazon cost components:

  1. Product COGS — the landed unit cost of every item sold, recorded at the time of sale
  2. FBA inbound shipping — freight from your warehouse to Amazon’s fulfillment centers, which is a COGS component because it’s necessary to make the product available for sale
  3. FBA referral fees — Amazon’s percentage commission (8-15%), recorded as an operating expense
  4. FBA fulfillment fees — per-unit fees for pick, pack, and ship, recorded as an operating expense
  5. FBA storage fees — monthly charges for cubic feet of warehouse space, recorded as a period cost (operating expense), not COGS, because storage fees are incurred regardless of whether units sell

Why Settlement Timing Distorts Accrual Accounting

Amazon’s 14-day settlement cycle creates a timing mismatch. Under accrual accounting, revenue is recognized when the sale occurs — not when Amazon deposits the net payout. If you record revenue only when cash arrives, your books will show incorrect revenue in some months and inflated revenue in others.

The correct approach: record each sale’s gross revenue on the order date, record the associated COGS simultaneously, and then match the bi-weekly settlement deposit to the accumulated receivable balance. This is tedious to do manually and is exactly where automation pays for itself.

Related: Full Amazon-to-QuickBooks setup guide

SyncTools maps each component of an Amazon settlement — gross sales, referral fees, FBA fees, storage fees, refunds, and tax collected — to the correct QuickBooks account automatically. The settlement deposit reconciles to the accumulated entries in one step, not hours of manual matching. See the full setup in the Amazon-QuickBooks integration guide.


How Do You Track COGS on Shopify?

Shopify’s accounting layer is more transparent than Amazon’s, but it introduces its own set of tracking challenges — particularly around payment netting, product variants, and bundles. According to Shopify’s 2024 Commerce Report, 43% of Shopify merchants use their platform’s built-in inventory tracking, while the remainder rely on external systems. (Shopify, 2024) The built-in inventory is adequate for single-channel sellers with simple SKU structures. Multi-channel sellers generally outgrow it quickly.

Shopify Payments Netting

Shopify Payments deposits a net amount that subtracts payment processing fees before it hits your bank. That means your bank feed shows $970.30 when your gross sales were $1,000. If you book the deposit as revenue, you’re understating gross sales and making processing fees invisible.

The correct method: record gross sales in your Shopify Sales income account, then record processing fees separately in your Shopify Payments Fees expense account. The difference flows through to your bank reconciliation correctly.

Product Variants and Bundles

Bundles are where Shopify COGS tracking breaks down for most sellers. A bundle SKU contains multiple components, each with its own unit cost. If you sell a “Starter Kit” bundle containing three distinct products, the COGS for that bundle is the sum of the three individual unit costs — not a single product cost.

Shopify itself doesn’t calculate bundle COGS automatically. You need either a dedicated inventory system (Cin7, Linnworks, Skubana) or a careful manual mapping to ensure each bundle sale triggers the correct multi-component COGS deduction.

Related: Shopify-to-QuickBooks sync guide

For the full Shopify-to-QuickBooks setup, including how SyncTools handles payout netting and fee separation, see the Shopify-QuickBooks integration guide.


How Do You Track COGS on WooCommerce?

WooCommerce has no native inventory accounting. It tracks stock quantities but does not calculate COGS, record inventory asset values, or produce any financial output your accountant can use. A 2023 WP Engine eCommerce survey found that 71% of WooCommerce stores above $500K in annual revenue used a third-party inventory or accounting integration because WooCommerce’s native reporting was insufficient. (WP Engine, 2023)

This is both a weakness and an advantage. WooCommerce’s openness means it integrates with almost any inventory system. The challenge is that nothing happens automatically — you have to wire it up.

Variable Products and Material Costs

WooCommerce’s variable products (a t-shirt with five color variants and three size variants = 15 SKUs) can each have different material costs. A black large variant may cost $6.50 to produce; a white small variant may cost $5.80. If you assign a single average COGS to the parent product, your margin by variant is wrong.

The solution is SKU-level cost assignment, which most dedicated inventory systems (Cin7, Linnworks) handle natively. When those systems push sales data to QuickBooks via SyncTools, the correct per-variant COGS is recorded with each sale.

WooCommerce Subscriptions

WooCommerce Subscriptions generates recurring revenue with a physical component. A monthly “coffee club” subscription might have a subscription fee (service revenue) plus a physical product shipment (product revenue + COGS). These need to hit different income accounts and require COGS recognition only when the physical shipment occurs, not when the subscription renews.

Related: WooCommerce-to-QuickBooks sync guide

The full WooCommerce accounting setup, including how to handle variable products and subscription revenue, is covered in the WooCommerce-QuickBooks integration guide.


What Does a Monthly Reconciliation Workflow Look Like?

A consistent monthly close process is what separates merchants who know their numbers from those who guess. The Sleeter Group found that eCommerce businesses using a defined monthly close process had financial restatements 4x less often than those reconciling quarterly. (Sleeter Group, 2023) The workflow below handles all three channels in a single pass.

Step 1 — Collect all channel payouts. Download or confirm automatic sync for Amazon settlement reports, Shopify payout summaries, and WooCommerce transaction exports. If SyncTools is running, this data is already in QuickBooks.

Step 2 — Reconcile bank deposits to accounting records. In QuickBooks, match each bank deposit to the corresponding channel entries. Amazon’s bi-weekly deposit should match the accumulated Amazon settlement entries. Shopify’s daily deposits should match daily batch totals. WooCommerce deposits match gateway settlement files.

Step 3 — Run a COGS report by channel. In QuickBooks, pull a P&L report segmented by the channel-specific income and COGS class or account. Review gross margin by channel side by side.

Step 4 — Check for double-counted revenue. The most common error in multi-channel setups is importing the same transaction twice — once from the channel’s native export and once from a bank feed auto-categorization. If your gross revenue for the month is higher than your total order value across all channels, you have duplicates.

Step 5 — Run a physical inventory count or system-vs-system comparison. Compare your accounting system’s expected on-hand quantity to your inventory management system’s actual count. Discrepancies greater than 2% indicate missing sales records, unrecorded returns, or supplier invoice mismatches.

What a healthy margin-by-channel report looks like: Amazon gross margin typically runs 20-35% after FBA fees. Shopify typically runs 35-50% for the same product because fee structures are lower. WooCommerce can run 45-60% if you’re on a low-cost gateway. If your channels all show the same margin, something is wrong with your fee allocation.

ChannelTypical Gross Margin RangePrimary Fee Driver
Amazon20–35%Referral fees + FBA fulfillment
Shopify35–50%Payment processing + Shopify fees
WooCommerce45–60%Payment gateway (lower overhead)

Source: SyncTools internal analysis, same-product sellers, 2024.


How Does SyncTools Automate Multi-Channel Inventory Accounting?

Manual multi-channel accounting at scale is not a discipline problem — it’s a systems problem. [ORIGINAL DATA] Based on onboarding data from SyncTools customers who switched from manual CSV workflows, the median time spent on monthly accounting reconciliation dropped from 14 hours to under 2 hours after connecting all three channels. The time saved compounds: at $75/hour bookkeeper rates, that’s approximately $900/month in recovered labor cost.

Here’s what the automation layer actually does:

Channel-to-account mapping. When a sale occurs on Amazon, Shopify, or WooCommerce, SyncTools routes gross revenue to the correct channel income account, fees to the correct expense accounts, and tax collected to the correct liability account. No manual categorization required.

Fee line item separation. Amazon settlement reports contain a dozen fee types in a single file. SyncTools parses each component and posts it individually — FBA referral fees hit FBA Referral Fees, storage fees hit FBA Storage Fees, and so on. The net payout never touches a revenue account.

Inventory system integration. For sellers using Cin7, Linnworks, or similar systems, SyncTools can accept COGS data at the SKU level from those systems and post the correct COGS entry to QuickBooks for each sale, without you defining unit costs manually in QuickBooks.

Accrual-correct revenue timing. Sales are recorded on the order date, not the payout date. Settlement deposits reconcile against accumulated receivable balances rather than creating new revenue entries.

For channel-specific setup guides, see:

If you’re ready to stop reconciling manually, view pricing and start a free trial.


Frequently Asked Questions

What is multi-channel inventory accounting?

Multi-channel inventory accounting is the process of tracking cost of goods sold (COGS), inventory valuation, and revenue recognition across multiple sales channels — such as Amazon, Shopify, and WooCommerce — and consolidating that data into a single set of financial records. The goal is a single P&L that accurately reflects performance across all channels, with margin visible by platform.

Related: broader eCommerce accounting overview

How do you track COGS across multiple sales channels?

Track COGS across channels by assigning each product a consistent landed unit cost, recording sales from every channel into one accounting system (QuickBooks), and using channel-specific income accounts so you can compare margin by platform. The unit cost must include supplier price, inbound freight, duties, and any FBA prep costs. SyncTools automates the sync step, routing each channel’s transactions to the correct QuickBooks accounts without manual entry.

What inventory costing method is best for multi-channel eCommerce?

Most multi-channel eCommerce sellers use FIFO (First In, First Out) or weighted average cost. FIFO reflects actual inventory flow and is preferred by most accountants — it’s also the only method QuickBooks Online supports natively. Weighted average cost smooths price fluctuations across purchase orders and simplifies tracking when you reorder frequently at varying prices. If you’re on QuickBooks, use FIFO.

Can QuickBooks handle multi-channel eCommerce inventory?

QuickBooks Online Plus and Advanced include inventory tracking with FIFO costing. For sellers with high SKU counts (500+), multiple warehouses, or complex bundle structures, a dedicated inventory system (Cin7, Linnworks) connected to QuickBooks via SyncTools provides more accurate SKU-level COGS without overloading QuickBooks’ native inventory module.

How do you reconcile inventory across Amazon, Shopify, and WooCommerce?

Reconcile multi-channel inventory by syncing all channel sales to a central accounting system, matching each sale to an inventory deduction, and running a monthly system count comparison. The steps: collect all channel data, match bank deposits to accounting entries, run a COGS report by channel, check for duplicate transactions, and compare system counts to physical counts. SyncTools handles the accounting sync step automatically, so reconciliation starts from accurate data rather than exports.

What are the biggest mistakes in multi-channel inventory accounting?

The most costly mistakes are:

  • Using a single income account for all channels — hides which platform is actually profitable
  • Booking net payouts as gross revenue — understates sales, overstates margins, makes fees invisible
  • Excluding FBA inbound shipping from landed cost — understates COGS by $0.50-$2.00 per unit depending on product size
  • Treating FBA storage fees as COGS — they’re period costs, not unit costs
  • Reconciling quarterly instead of monthly — errors compound and become harder to unwind

Related: Amazon accounting specifics · eBay accounting guide · Etsy accounting guide · Linnworks QuickBooks integration · Etsy QuickBooks integration · Etsy Xero integration guide · Walmart QuickBooks integration · Best eCommerce accounting software (2026)

Ready to automate your accounting?

Connect Shopify, WooCommerce, or Linnworks to QuickBooks, Xero & more. Setup in minutes.

Start Free Trial No credit card required