A brand sells the same $58 water bottle on its own Shopify site and on Amazon. On Shopify, the seller keeps roughly $55 after a card-processing fee. On Amazon, the seller keeps closer to $38 once the marketplace's referral commission and fulfillment fee are deducted before the money ever reaches the bank. The product and the price were identical. The channel was not. A brand that runs both through one "Sales" account and one "Merchant Fees" account cannot see that gap — only a blended deposit and a blended fee line.
The default QuickBooks chart of accounts was built for a business with one till and one bank feed. A multi-channel seller has several settlement systems, each with its own take rate, return rate, and delay between a sale and the cash that shows up. This guide covers the accounts that put channel economics on the trial balance instead of in a spreadsheet rebuilt every time a founder asks which channel to fund.
Why a generic chart breaks down for a multi-channel seller
Revenue is the first casualty. A generic chart has one income account, so a bookkeeper reconciling the bank feed by hand tends to book whatever hits the account — the net Amazon payout, the net Shopify Payments deposit — straight to "Sales." The gross sale and the fee that shrank it disappear into one number, and a seller can run for months without ever seeing what Amazon actually charges to sell through it.
Sales tax compounds the problem in a way that is easy to miss until a state notices first. Every dollar of tax a storefront collects belongs to a state government, not the business, from the moment the customer pays it. A generic chart with no dedicated tax liability account either mixes it into revenue, overstating what the business earned, or leaves it sitting in the operating cash balance with nothing on the books to show it is already spoken for. Since South Dakota v. Wayfair let states require a remote seller to collect and remit tax once sales there cross an economic threshold, a brand selling into a dozen states can owe several at once, and each expects the amount collected to match a liability account it can audit, not an estimate reconstructed at filing time.
Inventory has its own blind spot. Stock a business owns can be sitting on its own warehouse shelf, riding in a truck to a third-party logistics provider, or already checked in at a marketplace's fulfillment center, and it is an asset in all three places. A chart with one "Inventory" account and no way to flag stock that left the warehouse but has not yet arrived somewhere else cannot explain a physical count that comes up short: the units might be missing, or they might just be three days into a truck.
Cash and cost flow through the channel accounts
Every sale moves through these accounts in this order, whichever channel it came from. The fee is deducted on the way through; the balance sheet holds whatever has not settled yet.
The accounts that do the work
These are the accounts from the e-commerce template that a generic chart does not give a multi-channel seller. Account numbers, names, and types below are exactly as they import.
| Row | Account | Number | Type | Purpose |
|---|---|---|---|---|
| 01 | Merchant Account Receivable | 1310 | Other Current Assets | Pending payouts from Shopify, Stripe, and Amazon before they settle |
| 02 | Inventory in Transit | 1340 | Other Current Assets | Inventory moving between a warehouse, a supplier, and a fulfillment partner |
| 03 | Sales Tax Payable | 2200 | Other Current Liabilities | Sales tax collected from customers, pending remittance |
| 04 | Gift Card Liability | 2220 | Other Current Liabilities | Unredeemed gift cards outstanding |
| 05 | Shopify Sales | 4000 | Income | Revenue from the owned Shopify storefront |
| 06 | Shopify Returns & Refunds | 4010 | Income | Returns and refunds on Shopify orders (contra-revenue) |
| 07 | Amazon Sales | 4100 | Income | Revenue from the Amazon marketplace |
| 08 | Amazon Returns & Refunds | 4110 | Income | Returns and refunds on Amazon orders (contra-revenue) |
| 09 | Product Cost - Shopify | 5000 | Cost of Goods Sold | Product cost for Shopify orders |
| 10 | Product Cost - Amazon | 5010 | Cost of Goods Sold | Product cost for Amazon orders |
| 11 | FBA Fulfillment Fees | 5210 | Cost of Goods Sold | Amazon FBA pick, pack, and ship fees |
| 12 | Amazon Referral Fees | 6020 | Expenses | Amazon marketplace referral commission, typically 8-15% |
| 13 | Shopify Payment Processing | 6010 | Expenses | Shopify Payments / Stripe transaction fees |
The two returns accounts, 4010 and 4110, sit in the Income range as contra-revenue, split by channel so a spike in Amazon returns does not hide inside a healthy Shopify number. Amazon Referral Fees and Shopify Payment Processing sit in the Expenses range rather than a blended "Merchant Fees" line, so a seller can read the P&L and see Amazon's take rate climbing without opening a settlement report.
How a multi-channel week actually gets booked
Follow one product through three moments a generic chart cannot show: the sale itself, the return that follows it, and the day a batch of it ships into a fulfillment partner's warehouse instead of the seller's own. Figures are illustrative throughout.
A customer buys an $80 item through the Amazon marketplace. Amazon's referral commission on the sale is $12, and the FBA pick-pack-and-ship fee for that order is $8. Both are deducted before Amazon remits anything, so the cash that reaches the bank is $60, not $80.
| Account | Debit | Credit |
|---|---|---|
| 4100Amazon Sales | 80 | |
| 6020Amazon Referral Fees | 12 | |
| 5210FBA Fulfillment Fees | 8 | |
| 1000Operating Cash | 60 | |
| Totals | 80 | 80 |
The gross sale is booked at the full $80, and both fees post to their own accounts rather than vanishing inside the deposit. A bank-feed rule that categorizes the $60 payout as revenue would understate the sale by $20 and never show that Amazon kept $12 of it.
A customer who bought a different item on the Shopify storefront for $80 returns it a week later for a full refund. The unit cost $30 to produce. It comes back undamaged, so it goes straight back into sellable stock instead of being written off.
| Account | Debit | Credit |
|---|---|---|
| 4010Shopify Returns & Refunds | 80 | |
| 1000Operating Cash | 80 | |
| 1320Finished Goods Inventory | 30 | |
| 5000Product Cost - Shopify | 30 | |
| Totals | 110 | 110 |
A return is really two reversals, not one. The $80 sale unwinds through the contra-revenue account so gross Shopify Sales stays comparable month to month, and the $30 cost unwinds separately because it depends on whether the unit is sellable. A damaged unit would debit Inventory Shrinkage & Damage instead of Finished Goods Inventory — the restock-or-write-off decision changes one line, not the whole entry.
The brand also ships a batch of finished goods to Amazon's fulfillment network so future orders can qualify for Prime shipping. The shipment carries a $4,000 cost basis and takes four days to arrive.
| Account | Debit | Credit |
|---|---|---|
| 1340Inventory in Transit | 4,000 | |
| 1320Finished Goods Inventory | 4,000 | |
| Totals | 4,000 | 4,000 |
The inventory left the warehouse but has not yet been checked in at Amazon, so it is still an asset — it just changed which account holds it. Skip this account and the $4,000 either vanishes from the books for four days or stays parked next to stock that is not actually on the shelf, and either way the next physical count will not tie to the ledger.
What this looks like on the statements
The same accounts, seen from the reports. The highlighted lines exist only because the accounts above exist.
| Shopify Sales | 42,000 |
| Amazon Sales | 58,000 |
| Wholesale Revenue | 15,000 |
| Shipping Revenue | 2,400 |
| Gross revenue, all channels | 117,400 |
| Amazon Returns & Refunds | (11,600) |
| Shopify Returns & Refunds | (2,940) |
| Wholesale Returns | (300) |
| Net revenue | 102,560 |
| Marketplace & processing fees | 10,217 |
| Cost of goods sold, all channels | 51,570 |
| Contribution margin | 40,773 |
Example figures.
Amazon's return rate alone is nearly four times Shopify's in dollar terms here, and the marketplace fee line sits on its own row instead of inside a general "Merchant Fees" expense. Neither fact is visible from one blended revenue and fee line; both fall out of the trial balance the moment the accounts above exist.
| Current assets | |
| Merchant Account Receivable | 9,400 |
| Finished Goods Inventory | 38,200 |
| Inventory in Transit | 4,000 |
| Current liabilities | |
| Sales Tax Payable | 6,850 |
| Gift Card Liability | 3,200 |
Example figures.
The $9,400 in Merchant Account Receivable is real but not yet spendable, and the $6,850 in Sales Tax Payable is never spendable, however healthy the bank balance looks. A generic chart shows neither line — just one bank balance an owner can mistake for all being theirs.
- 01Which channel is actually funding growth, and which one is barely breaking even? With one blended revenue and fee line, a channel losing money on paper looks identical to one quietly carrying the business.
- 02How much of the cash we are holding is actually ours to spend? Sales tax sitting in the operating account looks like working capital until the state asks for it, and a rolling settlement receivable is not the same as money already in the bank.
- 03Does our stock count match what the ledger says we own? Inventory sitting in a truck or a fulfillment center for a few days looks exactly like missing inventory when there is no account for goods in transit.
What the template changes
The diff, in the grammar the product uses everywhere else.
- Sales Revenueevery channel blended into one line
- 4000Shopify Salesincome
- 4100Amazon Salesincome
- 4010Shopify Returns & Refundscontra-revenue
- 4110Amazon Returns & Refundscontra-revenue
- Merchant Feesevery platform lumped into one expense line
- 6020Amazon Referral Feesexpense, by channel
- 6010Shopify Payment Processingexpense, by channel
- Cost of Goods Soldone blended line, no channel split
- 5000Product Cost - Shopifycogs
- 5010Product Cost - Amazoncogs
- 1340Inventory in Transitasset
- 2200Sales Tax Payableliability
- 1000Operating Cashstays the primary bank account
- Principles of Accounting, Volume 1: Financial Accounting · OpenStax, Rice University
- South Dakota v. Wayfair, Inc., 585 U.S. 162 (2018) · Supreme Court of the United States
Get started
The e-commerce chart of accounts template includes every account on this page, pre-numbered and ready to import into QuickBooks. It takes about 60 seconds to optimize and gives a multi-channel seller a P&L that separates Amazon from Shopify from wholesale instead of one number that already blended all three.
If you already have a chart, the optimizer reads it and shows the diff above against your own accounts, so you can see which channel, fee, and tax accounts are missing before you change anything. Book gross sales by channel and keep sales tax as a liability until remitted, and the next "which channel should we fund" conversation starts from the trial balance instead of a spreadsheet built the night before the board meeting.
Frequently asked questions.
Should Amazon and Shopify revenue be combined into one sales account?
No. Each channel carries a different fee structure, a different return rate, and a different fulfillment cost, so combining them into one revenue account hides which channel is actually profitable. Separate revenue and returns accounts per channel are what make a per-channel profit and loss statement possible.
Is sales tax collected from a customer part of a seller's revenue?
No. Sales tax is collected on a customer's behalf and owed to a state, so the cash sits as a liability from the moment it is collected. A seller who has crossed economic nexus thresholds in several states needs that liability account accurate well before a filing deadline forces the question.
Why does inventory need an 'in transit' account?
Stock a seller owns does not stop being an asset just because it is on a truck to a third-party warehouse or sitting inside a marketplace's own fulfillment center instead of the seller's own shelves. Without an in-transit account, a physical count at the warehouse disagrees with what the ledger says the business owns, and nobody can tell whether the gap is a shipment in motion or stock that is actually missing.
The principles are easy. Applying them is the work.
This guide is the theory. The free trial helps you review a real QuickBooks Online chart with a score, structural diff, and prioritized cleanup plan.
- +Score the chart across the health dimensions
- +Compare structure against a reference pattern
- +Prioritize cleanup work before changing books
- +Review recommendations before anything is applied