Online sellers often have two P&Ls: the one in their head ("we did $80k in November!") and the one in QuickBooks ("revenue: $61,412.03, for some reason"). The difference is fees, refunds, discounts and payout timing, all squashed together because the chart of accounts had nowhere better to put them.
This template gives every one of those things its own home. It works for Shopify, Amazon, WooCommerce and wholesale on the side. Every line comes with the reason it exists.
New to the topic? Start with our e-commerce accounting basics.
Three rules for an e-commerce chart of accounts
- Record sales gross, then subtract. Gross sales, then discounts, refunds and fees as separate lines. Never just record the payout.
- One clearing account per channel. Each platform holds your money for a while before paying out. A clearing account per channel lets you reconcile each one.
- Inventory is an asset until it sells. Buying stock isn't an expense. It becomes cost of goods sold when the product ships to a customer. Our guide to e-commerce inventory and COGS explains this in detail.
The template
Turn on account numbers in QuickBooks Online (Settings, Account and settings, Advanced).
Assets (1000s)
| Number | Account | Why it's there |
|---|---|---|
| 1000 | Operating Checking | Day-to-day account |
| 1050 | Savings or Reserve | Cash set aside |
| 1100 | Shopify Clearing | Shopify Payments sales waiting to pay out |
| 1110 | Amazon Clearing | Amazon settlements waiting to pay out |
| 1120 | Stripe Clearing | See how to reconcile Stripe payouts |
| 1130 | PayPal Clearing | PayPal balance |
| 1150 | Amazon Reserve (optional) | Amounts Amazon holds back |
| 1200 | Accounts Receivable, Wholesale | Invoices to wholesale or retail buyers |
| 1300 | Inventory Asset | Products on hand, at landed cost |
| 1310 | Inventory in Transit | Stock you've paid for that hasn't arrived |
| 1320 | Inventory Deposits | Deposits paid to manufacturers before goods ship |
| 1400 | Prepaid Expenses | Annual apps or insurance paid ahead |
Liabilities (2000s)
| Number | Account | Why it's there |
|---|---|---|
| 2000 | Accounts Payable | Bills owed to suppliers and 3PLs |
| 2100 | Credit Cards (one per card) | Reconciled separately |
| 2200 | Gift Cards Outstanding | Gift cards sold but not yet redeemed |
| 2250 | Customer Deposits and Pre-orders | Paid for, not yet shipped |
| 2300 | Sales Tax Collected | Money collected from customers that belongs to the states, held until it's paid over |
| 2400 | Payroll Liabilities | Amounts owed to your payroll provider |
| 2500 | Loans and Financing (one per loan) | Including revenue-based financing |
Equity (3000s)
| Number | Account | Why it's there |
|---|---|---|
| 3000 | Owner's Equity or Common Stock | What owners put in |
| 3100 | Owner Draws or Distributions | What owners take out |
| 3900 | Retained Earnings | Profit kept over time |
Income (4000s)
| Number | Account | Why it's there |
|---|---|---|
| 4000 | Product Sales, Shopify | Gross sales by channel |
| 4010 | Product Sales, Amazon | Gross sales by channel |
| 4020 | Product Sales, Wholesale | Invoiced sales to stores |
| 4100 | Shipping Income | What customers paid for shipping |
| 4800 | Discounts | Promo codes and markdowns, as a negative line |
| 4900 | Refunds and Returns | Money returned to customers, as a negative line |
Prefer fewer accounts? Use one Product Sales account and track channels with classes instead.
Cost of Goods Sold (5000s)
| Number | Account | Why it's there |
|---|---|---|
| 5000 | Product Cost | Cost of units sold, at landed cost |
| 5100 | Inbound Freight and Duties | If you don't fold them into landed cost |
| 5200 | Fulfillment and 3PL Fees | Pick, pack and storage tied to orders |
| 5300 | Outbound Shipping | Postage and labels |
| 5400 | Packaging | Boxes, mailers, inserts |
| 5500 | Marketplace Fees | Amazon referral and FBA fees, and similar |
| 5600 | Payment Processing Fees | Shopify Payments, Stripe, PayPal fees |
| 5700 | Inventory Adjustments and Shrinkage | Damaged, lost or written-off stock |
Contribution margin = net sales minus all of the 5000s. For a direct-to-consumer brand, that's often the most useful number on the page.
Operating expenses (6000s)
| Number | Account | Why it's there |
|---|---|---|
| 6000 | Advertising, Paid Social | Ads by platform if you like (6010, 6020) |
| 6100 | Advertising, Marketplace Ads | Sponsored product ads |
| 6200 | Influencers and Affiliates | Partner payouts |
| 6300 | Salaries and Wages | Team pay |
| 6350 | Payroll Costs and Benefits | Employer costs |
| 6400 | Software and Apps | Store platform, apps, email tools |
| 6500 | Product Photography and Content | Creative production |
| 6600 | Professional Fees | Accountant, legal |
| 6700 | Rent and Warehouse (if not 3PL) | Your own space |
| 6800 | Bank Fees | Non-processing bank charges |
Landed cost in one paragraph
Landed cost is what a product really cost you by the time it reached your warehouse: the factory price plus freight, duties, customs brokerage and inbound handling. If those extras go straight to expenses, your gross margin looks better than it is in the months you receive stock and worse in the months you don't. Folding them into the inventory value spreads them across the units as they sell. Ask your accountant which method to use, and stick with it.
How to set it up in QuickBooks Online, step by step
- Export your current chart of accounts as a backup.
- Turn on account numbers.
- Create a clearing account per channel (type: Bank).
- Rename and add accounts to match the template. Rename where possible to keep history.
- Decide how sales get in. Most sellers use a connector app that posts one summary per payout or per day into the clearing account rather than every order. See A2X vs Link My Books and our list of e-commerce accounting tools.
- Map the connector to these accounts: sales, shipping income, discounts, refunds, fees and sales tax collected each to their own line.
- Record payouts as transfers from clearing to checking in the bank feed, not as income.
- Set up inventory. If you track units in an inventory app, post COGS monthly from that app's report. If QuickBooks tracks inventory, set each product's cost and accounts.
- Reconcile each clearing account monthly to the channel's balance report.
Channel-specific walkthroughs: Shopify payouts reconciliation and Amazon seller accounting.
Common e-commerce mistakes
- Payouts recorded as sales. Fees and refunds disappear, and revenue is understated.
- Inventory purchases expensed. Profit swings wildly with every stock order.
- One "Fees" account for everything. You can't tell if Amazon or the payment processor got more expensive.
- Advertising in COGS. Muddles contribution margin. Keep ads below the line unless you have a specific reason.
- No clearing accounts. Nothing reconciles and month-end turns into guesswork.
When to get help
ABFI's e-commerce accounting clients get this structure, connector mapping, landed cost and a monthly close with every channel reconciled.
Comparing options first? See the best e-commerce bookkeeping services.
Keep reading
Sources
- Intuit, QuickBooks Online Help, search "Turn on account numbers" and "Track inventory", quickbooks.intuit.com/learn-support. Checked November 6, 2026.
- Shopify Help Center, "Payouts for Shopify Payments", help.shopify.com/en/manual/payments/shopify-payments/payouts. Checked November 6, 2026.
- Amazon Seller Central Help, "Payments reports" (in Seller Central, search Help for "Payments reports"), sellercentral.amazon.com. Checked November 6, 2026.
Questions owners ask
Do I need a clearing account for Shopify?
Yes, if you want gross sales, fees and refunds to show correctly. It's also the only way to reconcile Shopify to your bank cleanly.
Is inventory an expense for an online store?
Not when you buy it. Inventory is an asset until the product sells, then its cost moves to cost of goods sold.
Should Amazon fees be COGS?
Most sellers put marketplace and fulfillment fees in cost of goods sold, because they're tied to each sale. That makes contribution margin meaningful.
Should I track sales by channel with accounts or classes?
Either works. Separate accounts are simple when you have two or three channels. Classes are tidier when you have many.
What's the difference between gross and net sales?
Gross sales are what customers were charged before discounts and refunds. Net sales are what's left after them.
Want every channel reconciled, every month?
ABFI sets up an e-commerce chart of accounts, connectors and inventory in your QuickBooks, then closes your books monthly. Start with a complimentary Business Accounting Diagnostic.