TL;DR / Key Takeaways: Strong chart of accounts examples for Shopify brands include four categories most templates skip — gateway clearing accounts, deferred revenue, gift card liability, and chargeback reserves. Below are three sample COAs by brand size, a 4-phase QuickBooks migration path, and the numbering convention we deploy across 100+ Shopify stores as of 2026-06-01.
A chart of accounts (COA) is the master list of every account a business uses to record financial activity. For a Shopify brand, a useful COA goes beyond the standard five categories and adds gateway clearing accounts, sales tax liability by jurisdiction, gift card liability, and chargeback reserves — line items most generic templates skip.
Most chart of accounts examples online are written for a hardware store or a consulting firm. They don't tell you where to book a Shopify Payments payout that arrived three days after the sale, minus a 2.9% fee, minus a $40 chargeback reserve. This guide does. We've built and migrated the COA for 100+ Shopify brands at Ottit, and the patterns below are what actually works in production in 2026.
What Is a Chart of Accounts? (200-Word Primer)
A chart of accounts is the structured list of every account in a company's general ledger. Each account has a number, a name, and a category. The five standard categories are assets, liabilities, equity, revenue, and expenses. Every transaction posts to at least two accounts under double-entry bookkeeping.
The five categories map to the two main financial statements. Assets, liabilities, and equity live on the balance sheet. Revenue and expenses live on the income statement (P&L). Net income flows from the P&L into retained earnings on the balance sheet at period close.
| Category | Typical Number Range | Statement | Examples |
|---|---|---|---|
| Assets | 1000-1999 | Balance Sheet | Cash, AR, Inventory, Gateway Clearing |
| Liabilities | 2000-2999 | Balance Sheet | AP, Sales Tax Payable, Gift Card Liability |
| Equity | 3000-3999 | Balance Sheet | Owner's Equity, Retained Earnings |
| Revenue | 4000-4999 | P&L | Product Sales, Shipping Income, Subscription Revenue |
| Expenses | 5000-9999 | P&L | COGS, Ad Spend, Payment Processing Fees, Rent |
That's the framework. Now we get to the Shopify-specific parts that most COA guides leave out.
The generic five-category COA is a starting skeleton. A working Shopify COA adds 15-25 accounts that the default templates ignore.
What Shopify-Specific Accounts Do Most Chart of Accounts Examples Miss?
Standard chart of accounts examples miss four account types that every Shopify brand needs: payment gateway clearing accounts, deferred revenue for pre-orders and subscriptions, gift card liability, and chargeback reserves. Without these, the books won't reconcile to Shopify payouts and the P&L will overstate revenue. Each is a balance sheet account, not a P&L account.
Gateway Clearing Accounts
Shopify Payments collects gross sales, deducts fees, holds reserves, and pays out 1-3 business days later according to the Shopify Help Center guide to payouts. The gap between sale and payout sits in a clearing account. Stores using Shop Pay Installments, PayPal, Afterpay, or Klarna need a separate clearing account for each.
- 1210 - Shopify Payments Clearing
- 1215 - PayPal Clearing
- 1220 - Shop Pay Installments Clearing
- 1225 - Afterpay Clearing
- 1230 - Amazon Pay Clearing
Each clearing account should net to zero (or close) every period after the payout posts and fees are booked. If a clearing account is growing month over month, something is wrong — usually missed payouts or fees booked to the wrong account.
Deferred Revenue
When a customer pays for a pre-order shipping in 60 days, or a 6-month subscription billed upfront via Recharge, the cash is collected but the revenue isn't earned yet. It sits in Deferred Revenue (a current liability) and releases to revenue as fulfillment happens. This is ASC 606 in practice. We cover the full logic in our revenue recognition guide for Shopify DTC brands.
Gift Card Liability
Selling a gift card is not revenue. It's a promise to deliver product later. The cash sits in Gift Card Liability (2300) until the card is redeemed, at which point revenue is recognized. Shopify reports gift card sales separately in the Finances Summary, so the data is there — most stores just don't book it correctly.
Chargeback Reserves
Stores with chargeback rates above 0.5% often see Shopify or Stripe withhold a percentage of payouts as a rolling reserve. That cash exists, but it's restricted. A dedicated Chargeback Reserve account (1240) keeps it visible and reconcilable instead of disappearing into a vague "other current asset" bucket.
Actionable takeaway: open a clearing account for every active payment gateway, a Deferred Revenue account if you sell pre-orders or subscriptions, a Gift Card Liability account if gift cards are enabled, and a Chargeback Reserve if your processor holds funds. Without these, monthly reconciliation will fight you forever.
How Do Chart of Accounts Examples Compare Across Shopify Brand Stages?
The right COA structure scales with revenue and channel complexity. The comparison table below shows how account count, structure, and tooling typically shift across the three stages we deploy for stores in 2026. Use this as a quick map before reading the detailed examples in the next three sections.
Stage comparison — Shopify COA structure by brand size:
- Launcher (<$250K/year): ~40 accounts. Single gateway. COGS broken into 4-5 components. Cash-basis acceptable. No class tracking. Tooling: QuickBooks Online + manual Shopify sync or basic sync app.
- Scaling ($1M-$5M/year): 65-80 accounts. 3-5 gateways. Sales tax split by state across 5-15 jurisdictions. Revenue split by channel. Accrual basis. Tooling: QuickBooks + Bookkeep for revenue recognition and sales tax sync.
- 8-Figure Multi-Channel ($10M+): 120-180 accounts. Class tracking enabled across Shopify, Amazon, Wholesale, Retail. Multi-currency. Inventory by warehouse. Full ASC 606 accrual. Tooling: QuickBooks Advanced or NetSuite + Bookkeep + Cin7 for ERP.
What changes between stages:
- Sales tax accounts: 1 generic account → split by state (5-15 accounts) → split by state plus marketplace facilitator carve-outs.
- Revenue accounts: 1 sales account → 4-6 channel accounts → class-tagged revenue across all channels.
- COGS structure: 4-5 components → split by SKU category → split by channel and SKU category via class tracking.
- Inventory accounts: 1 inventory asset → in-transit and reserve accounts added → split by warehouse and FBA location.
- Close cadence: monthly cash → monthly accrual → monthly accrual with contribution margin layers.
Actionable takeaway: pick the stage that matches current revenue, not aspirational revenue. Over-building the COA early creates maintenance overhead the team can't sustain.
Chart of Accounts Example #1: Single-SKU Launcher
A new Shopify brand selling one product through one gateway needs roughly 40 accounts. The COA below is the actual structure we deploy for early-stage stores doing under $250K/year. It supports clean monthly closes without overwhelming a founder doing their own books.
| # | Account Name | Type |
|---|---|---|
| 1010 | Mercury Operating Checking | Bank |
| 1020 | Mercury Savings | Bank |
| 1100 | Accounts Receivable | Current Asset |
| 1210 | Shopify Payments Clearing | Current Asset |
| 1215 | PayPal Clearing | Current Asset |
| 1300 | Inventory | Current Asset |
| 1500 | Prepaid Expenses | Current Asset |
| 2010 | Accounts Payable | Current Liability |
| 2100 | Credit Card - Ramp | Credit Card |
| 2200 | Sales Tax Payable | Current Liability |
| 2300 | Gift Card Liability | Current Liability |
| 2400 | Deferred Revenue | Current Liability |
| 3010 | Owner's Equity | Equity |
| 3020 | Owner's Draws | Equity |
| 3900 | Retained Earnings | Equity |
| 4010 | Product Sales | Revenue |
| 4020 | Shipping Income | Revenue |
| 4030 | Discounts & Refunds | Revenue (contra) |
| 5010 | COGS - Product | COGS |
| 5020 | COGS - Inbound Freight | COGS |
| 5030 | COGS - 3PL & Fulfillment | COGS |
| 5040 | COGS - Outbound Shipping | COGS |
| 5050 | COGS - Payment Processing Fees | COGS |
| 6010 | Advertising - Meta | Expense |
| 6020 | Advertising - Google | Expense |
| 6030 | Advertising - TikTok | Expense |
| 6100 | Software & Subscriptions | Expense |
| 6200 | Contractors | Expense |
| 6300 | Office & Admin | Expense |
| 6400 | Professional Fees | Expense |
| 6500 | Bank Fees | Expense |
Some bookkeepers put payment processing fees in operating expenses instead of COGS. Both treatments are defensible. We park them in COGS because gross margin without processing fees is misleading for a DTC brand — the fee is a direct cost of every sale.
Actionable takeaway: a launcher does not need 100 accounts. Start lean, keep COGS broken into 4-5 components, and add accounts only when a real management question can't be answered without them.
Chart of Accounts Example #2: $1M/Year Scaling Brand
A scaling brand doing $1M-$5M in revenue typically runs 65-80 accounts. The structure expands to support multiple SKU categories, multiple ad channels measured against contribution margin, and sales tax liability split by state. The brand is now economically nexused in 5-15 states and likely uses Bookkeep for revenue recognition and sales tax automation.
Key additions over the launcher COA:
- Sales tax liability split by state (2210 CA Sales Tax Payable, 2211 NY Sales Tax Payable, etc.) — required once you're remitting to multiple state DORs
- Revenue split by channel (4010 Shopify DTC, 4015 Subscription Revenue via Recharge, 4020 Wholesale, 4025 Amazon)
- COGS by SKU category (5010 COGS - Apparel, 5011 COGS - Accessories, 5012 COGS - Bundles)
- Marketing tools broken out (6101 Klaviyo, 6102 Triple Whale, 6103 Gorgias, 6104 Shopify Apps) — helps when the app stack hits $3K-$8K/month
- Inventory in-transit and reserve accounts (1310 Inventory - In Transit, 1320 Inventory Reserve)
- 3PL clearing (1250 ShipBob Clearing) if the 3PL holds funds or pre-bills
At this stage, the tooling stack matters. We use Bookkeep for syncing Shopify payouts and sales tax data into QuickBooks across the Shopify stores Ottit closes books for. The mapping from Shopify gross sales → clearing → bank deposit is automated, with payment processing fees, refunds, and gift card sales each routed to the right account. Other tools handle similar workflows — the A2X documentation for Shopify accounting and the Synder Shopify integration guide describe alternative approaches, though we run Bookkeep in production.
Here's a realistic journal entry for a single Shopify Payments payout at this scale, posted automatically from the sync tool:
Notice the clearing account doesn't appear — at this scale the sync tool collapses the clearing step into a single net entry per payout. The clearing account is still in the COA, used only for in-flight balances at month-end cutoff.
Actionable takeaway: at $1M+, split sales tax liability by state and revenue by channel. These two changes alone make state tax filings and channel P&L analysis dramatically easier.
Chart of Accounts Example #3: 8-Figure Multi-Channel Operation
An 8-figure brand selling on Shopify, Amazon, wholesale, and retail typically runs 120-180 accounts. The COA now supports channel-level P&L, multi-warehouse inventory, multi-currency operations, and accrual-based revenue recognition under ASC 606. We cover the ASC 606 application in our Shopify ASC 606 guide.
Major structural changes from the scaling COA:
- Class or location tracking is enabled — Shopify DTC, Amazon, Wholesale, and Retail each become a class. Many accounts (revenue, COGS, ad spend) are tagged by class instead of duplicated as separate accounts. This keeps the COA from ballooning to 400 lines.
- Multi-currency accounts — separate USD, GBP, EUR operating accounts for stores using Wise or Airwallex. Realized and unrealized FX gain/loss accounts appear in the P&L.
- Inventory by warehouse — 1301 Inventory - ShipBob East, 1302 Inventory - ShipBob West, 1305 Inventory - Amazon FBA, 1310 Inventory - In Transit.
- Contribution margin layering on the P&L — Net Revenue, COGS, Variable Fulfillment, Variable Marketing, then Contribution Margin before fixed costs.
- Loans and financing — Wayflyer or Parker advances get their own liability accounts with separate fee accounts so cost of capital is visible.
- Deferred revenue subcategories — Pre-orders, subscriptions, gift cards-outstanding, and loyalty point liability each get their own account.
A practical contribution margin layout for an 8-figure brand looks like this:
The COA has to support this layout. That means every variable cost is tagged correctly and fixed costs are kept out of the contribution margin bucket. Mis-tagging one $40K/month account can flip the margin story entirely.
Actionable takeaway: at 8-figure scale, the COA exists to drive contribution margin reporting and channel P&L. If your COA can't produce both views in one click, it's structured wrong.
How Do You Number a Chart of Accounts Without Breaking It Later?
Three numbering conventions break at scale. First, consecutive numbering with no gaps (1000, 1001, 1002) leaves no room to insert new accounts. Second, mixing 3-digit and 4-digit numbers creates sort-order chaos. Third, putting bank accounts and clearing accounts in the same number block forces a renumber when a new gateway is added.
The Three Numbering Failures We See Most
- No gaps between accounts. A new account can't be added in the right spot. Fix: use 4-digit numbers with gaps of 10 between accounts and gaps of 100 between subcategories.
- Inconsistent digit length. QuickBooks and Xero sort alphabetically by account number string. "105" sorts before "15" if both exist. Fix: pick 4 digits and stick with it across the entire COA.
- No reserved blocks for clearing accounts. Banks live at 1010-1099, but clearing accounts get jammed in at 1011. When you add PayPal, there's no room. Fix: reserve 1010-1099 for actual cash, 1200-1299 for clearing accounts, 1300-1399 for inventory.
Standard ranges we deploy across the 100+ Shopify stores Ottit closes books for:
| Range | Use |
|---|---|
| 1010-1099 | Operating cash (Mercury, Brex, savings) |
| 1100-1199 | Accounts Receivable & wholesale receivables |
| 1200-1299 | Payment gateway clearing accounts |
| 1300-1399 | Inventory (by warehouse or category) |
| 1400-1499 | Prepaids & deposits |
| 1500-1999 | Fixed assets & intangibles |
| 2010-2099 | Accounts Payable & credit cards |
| 2200-2299 | Sales tax payable (by state) |
| 2300-2399 | Customer liabilities (gift cards, loyalty, deferred revenue) |
| 2400-2499 | Loans & financing |
| 4010-4099 | Product revenue by channel |
| 4100-4199 | Shipping income & other revenue |
| 5010-5099 | COGS |
| 6010-6099 | Marketing & advertising |
| 6100-6199 | Software & subscriptions |
| 6200-6999 | Other operating expenses |
Actionable takeaway: use 4-digit numbers, leave gaps of 10 between accounts, and reserve at least 100 numbers between major subcategories. Renumbering a COA on a live system is brutal — get this right at setup.
What's the Migration Path from QuickBooks Default COA to a Shopify-Optimized One?
Migrating from the QuickBooks default COA to a Shopify-optimized COA typically takes 2-4 hours of cleanup plus a parallel-run period. The work happens in four phases: audit, add missing accounts, remap historical transactions, and lock the new structure. Most of the friction is in the remap step.
The Four-Phase Migration
- Audit the existing COA. Export the COA to CSV. Flag every account that should be split (a single Sales account that's hiding multiple channels), merged (three near-duplicate Office Supplies accounts), or added (no Gift Card Liability, no gateway clearing). Most QBO default COAs need 15-25 new accounts.
- Add new accounts using reserved numbering ranges. Build the new accounts before touching historical data. This includes all gateway clearing accounts, sales tax liability by state, deferred revenue, gift card liability, and the broken-out marketing accounts.
- Remap historical transactions. Pick a cutoff date — usually the start of the current fiscal year. Use QuickBooks' batch reclassify tool (Accountant Tools → Reclassify Transactions) to move historical entries. Anything older than the cutoff stays on the old structure with a journal entry that nets it out into the new accounts at the cutoff date.
- Lock the new structure and run parallel for 30 days. Mark old accounts as inactive (don't delete — that breaks audit trail). Reconcile one full month on the new COA before going live for management reporting. We compare on the QBO vs Xero vs NetSuite ecommerce software landscape for stores considering a platform change at the same time.
If the business entity structure is also under review during migration — for example, a sole prop converting to an LLC or S-corp — the equity section needs special attention. The SBA guide to choosing a business structure covers the entity options. The equity accounts on the COA must match the legal entity, and a CPA should confirm the tax implications before the change is locked in.
A clean migration is boring. If the cutover causes drama, the prep work was incomplete.
Actionable takeaway: don't migrate the COA in the middle of a busy season. Schedule it for a slow month, set a clean cutoff date, and parallel-run before deprecating the old structure.
How Does the COA Connect to Monthly Close and Reconciliation?
The COA is the foundation that makes monthly close possible. Every reconciliation, every accrual, every revenue cutoff posts to accounts on the COA. If the COA is wrong, the close output is wrong — no amount of careful reconciliation fixes a missing Gift Card Liability account. We document the full close workflow in our monthly bookkeeping checklist for Shopify stores.
The reconciliation rhythm depends on the COA being structured for it. For example, the Shopify Payments Clearing account should net to zero (or near zero) at month-end after the last payout posts. If it carries a $4,200 balance, that's either an in-flight payout (fine) or a missed payout (bad). The same logic applies to every gateway clearing account. Our bank reconciliation playbook for Shopify walks through the mechanics.
Three reconciliation checkpoints that depend on COA structure:
- Gateway clearing accounts net to in-flight only — anything older than 5 days is a problem
- Sales tax payable by state matches the filing reports from Bookkeep, Avalara, or whichever sales tax tool is in use
- Gift card liability matches the Shopify gift card outstanding balance report — divergence here usually means breakage isn't being booked
For AP-heavy operations adding bill pay workflows during migration, the COA needs an Accounts Payable account that maps cleanly to whatever bill-pay tool is in use — the Bill.com accounts-payable platform is one common option that syncs back to QuickBooks at the AP account level.
Actionable takeaway: a clean COA makes monthly close 3-5x faster. If reconciliations are dragging, the answer is usually in the COA structure, not the reconciliation process.