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.
The default chart is not wrong. It just isn't built for ecommerce. A service firm needs about 50 accounts. An ecommerce shop with three stores needs 20 more. Those 20 handle channel revenue, fees, and inventory.
This piece shows what to add and gives you a chart template to copy.
What is an ecommerce chart of accounts?
It is a GL account list built for online retail. It adds at least 20 accounts to the standard QBO set. Those 20 cover channel revenue, channel COGS, fee sub-accounts, clearing accounts, sales tax payable, inventory, landed cost, and refund credits. Without them, margin is hard to see and sales tax sits in income where it does not belong.
Key Takeaways
- The default QBO chart is not wrong, just thin: it works fine for a service firm. It breaks for ecommerce because it lacks channel splits, fee detail, and a tax liability account.
- Channel accounts are required for margin: without a Shopify account and an Amazon account, you can't see which channel makes money.
- Fees need sub-accounts: Amazon has 14 fee types. One "Fees" line hides true margin.
- One clearing account per channel: this is the payout recon backbone. Sales credit in, fees debit out, net hits the bank.
- Sales tax is a liability: book it to "Sales Tax Payable," not income. Not doing so is the most common mistake.
- Refunds go in contra-revenue: booking them as an expense hides gross margin.
Why the Default QBO Chart Isn't Wrong, Just Incomplete
The standard QBO chart covers the basics. You get checking, AR, inventory asset, AP, owner's equity, product revenue, COGS, and expenses. About 50 accounts. That works for a service firm.
Ecommerce breaks in three places. Multi-channel revenue needs separate accounts. Deposits come from settlement reports, not invoices. Inventory has landed cost.
The ~50-account generic COA
Here's what QBO ships by default:
- Assets: Checking, Savings, AR, Inventory Asset
- Liabilities: AP, Credit Cards
- Equity: Owner's Equity
- Income: Product Revenue
- COGS: Cost of Goods Sold
- Expenses: Advertising, Bank Fees, Office Supplies, Payroll
Nothing there handles a Shopify payout that nets fees before the deposit. Nothing tracks sales tax collected but not yet remitted. Nothing splits Amazon revenue from Etsy revenue.
What ecommerce adds
Four things are missing. These are additions, not replacements:
- Channel-level revenue and COGS accounts
- Marketplace fee sub-accounts
- Per-channel clearing accounts
- Sales tax payable liability
Each one is covered below with the account number.
Revenue and COGS Split by Channel
If Shopify and Amazon both land in one "Product Revenue" line, you can't see which channel makes money. You can't tell if Amazon pays after FBA fees. You need a revenue account per channel. You need a COGS account per channel too.
Per-channel revenue accounts
Add one account per store. These hold gross sales before fees come out:
4100 · Shopify Revenue4200 · Amazon Revenue4300 · Etsy Revenue4400 · Direct/Website Revenue
The clearing accounts (next section) handle the gap between gross sales and what the bank shows.
Per-channel COGS
Use the same split for COGS:
5100 · Shopify COGS5200 · Amazon COGS5300 · Etsy COGS5400 · Direct COGS
One timing note: COGS hits at the time of ship, not at the time of payout. A sale on Monday, ship on Wednesday, COGS on Wednesday. See ecommerce inventory and COGS for how this works in full.
Fee, Clearing, and Liability Accounts
The default chart is thin in three spots. It lacks fee sub-accounts. It lacks a clearing account per channel. It lacks a sales tax liability account. Here is what to add.
Marketplace fee sub-accounts
One "Fees" line hides margin. Amazon has 14 fee types. You need each type in its own account.
Put them under a parent 6100 · Marketplace Fees:
6110 · Amazon Referral Fees6120 · Amazon FBA Storage Fees6130 · Amazon FBA Fulfillment Fees6140 · Amazon Advertising Fees6150 · Shopify Transaction Fees6160 · Shopify Payments Processing Fees6170 · Etsy Listing Fees6180 · Etsy Transaction Fees
Add more if you need them. Disposal fees, removal fees, and Shopify Capital costs each need a line.
Per-channel clearing accounts
A clearing account sits between gross sales and the bank. Each sale goes in as a credit. Each fee goes out as a debit. When the payout hits, the balance nets to zero. That is the recon backbone.
Add one per channel:
1500 · Shopify Clearing1510 · Amazon Clearing1520 · Etsy Clearing
See Shopify bookkeeping for a step-by-step look at how this works.
Sales tax payable
Sales tax at checkout is not your cash. The buyer paid it. You hold it. You owe it to the state. It goes on the balance sheet as a liability, not in income.
If you have nexus in more than one state, add a sub-account per state:
2210 · Sales Tax Payable - TX2220 · Sales Tax Payable - CA2230 · Sales Tax Payable - NY
Sales tax in income is the most common mistake. It inflates your P&L and hides what you owe. See ecommerce sales tax nexus for when and where the tax applies.
Inventory and Landed Cost
The default inventory asset account works for a simple business. Ecommerce adds two gaps: goods in transit and landed cost.
Inventory asset and landed cost
1400 · Inventory Asset: goods on hand1410 · Inventory in Transit: goods shipped from supplier but not yet received5500 · Landed Cost: freight, customs duties, and import fees
Landed cost belongs in COGS. It's a cost of the product. Booking it to "Shipping Expense" understates COGS and inflates gross margin.
Refunds as contra-revenue
Refunds reduce revenue. They don't increase expenses.
4900 · Refunds and Returns (contra-revenue)
This account carries a negative balance under income. It keeps gross revenue and net revenue both visible on the P&L. Most QBO defaults book returns as an expense, which distorts gross margin.
The starter template
Copy this table and adapt the channel names for your platforms:
Start here. Add sub-accounts for any fee or platform not on this list. One account per distinct cost category so your P&L shows where margin goes.
Conclusion
The default QBO chart is a fine place to start. It is not built for ecommerce. It does not know you run three stores, get net payout deposits, or hold sales tax you owe the state.
The fix is not hard. Add one revenue account and one COGS account per channel. Add fee sub-accounts. Add a clearing account per channel. Add a sales tax payable account. Add landed cost in COGS. Book refunds as contra-revenue.
That is it. Most ecommerce books with two or more channels end up at 25 to 35 accounts when you add all fee types and nexus states.
Growthy has a firm-level COA template that goes into client books in one step. It tags 85% of transactions on the first import. You check the rest.
Growthy is bookkeeping software, not a CPA firm. This content is educational, not professional advice.
Get started with Growthy