E Commerce

E-commerce Chart of Accounts — CPA Template (2026)

E-commerce Chart of Accounts — CPA Template (2026)

At a Glance

Best ForCanadian Shopify and Amazon sellers setting up or cleaning up their accounting
Key PrincipleSeparate gross revenue from fees, refunds, and taxes — never lump into one account
Template Size25–30 accounts covers most e-commerce businesses. More than 50 is usually too many.
Setup Time1–2 hours to configure in Xero, plus 30 minutes to map in A2X

A properly structured ecommerce chart of accounts is the foundation of every financial report your business produces. If your chart of accounts was designed for a service business or a general small business, it is almost certainly missing the accounts you need to track marketplace fees, contra-revenue items like refunds and chargebacks, landed costs, and multi-channel revenue. The result is a profit and loss statement that tells you very little about what is actually happening in your business. This guide provides a complete, CPA-designed chart of accounts template built specifically for Canadian e-commerce sellers on Shopify, Amazon, and multi-channel platforms. It is the same structure we use with our e-commerce accounting clients at LedgerLogic, and it forms a core part of our e-commerce accounting framework for Canadian sellers.

Affiliate Disclosure: LedgerLogic is a Xero, A2X, and Synder partner. We may earn a commission if you sign up through our links at no extra cost to you. We only recommend tools we use with our own clients.

Want Us to Set Up Your Chart of Accounts?

Our CPA team configures e-commerce-optimised charts of accounts in Xero every week. We set up your revenue, COGS, and expense accounts, then map them to A2X or Synder for automated reconciliation.

Why E-commerce Needs a Different Chart of Accounts

A standard chart of accounts for a service business or brick-and-mortar retailer typically has a single revenue account, a handful of expense categories, and perhaps one cost of goods sold line. That structure breaks down immediately when applied to e-commerce for several reasons.

Gross vs. net revenue. Platforms like Shopify and Amazon deposit a net amount into your bank account after deducting fees, refunds, and taxes. If you record that net deposit as revenue, you are understating your gross sales and hiding the true cost of selling on each platform. Your gross margin calculation becomes meaningless.

Contra-revenue accounts. Refunds, chargebacks, and discounts are not expenses — they are reductions to revenue. Without separate contra-revenue accounts, these items inflate both your revenue and your expense lines, distorting your financial picture.

Platform fees as a separate line. Shopify transaction fees, Amazon referral fees, FBA fulfilment fees, and payment processing fees are significant costs that vary by channel. Lumping them into a generic "bank charges" or "professional fees" account makes it impossible to evaluate channel-level profitability.

COGS with landed costs. For sellers importing product, cost of goods sold is not just the purchase price. It includes freight, customs duties, brokerage fees, and packaging. Without separate COGS sub-accounts, you cannot calculate your true landed cost per unit.

Multi-channel revenue tracking. If you sell on Shopify, Amazon, and wholesale simultaneously, you need separate gross revenue accounts for each channel. This is the only way to measure which channels are profitable and which are draining resources.

Without these accounts, your P&L is flat — a single revenue number minus a jumble of expenses. You cannot answer basic questions like: What is my gross margin by channel? How much am I spending on marketplace fees? What is my refund rate? A proper e-commerce chart of accounts answers all of these.

Revenue Accounts

Revenue accounts for e-commerce need to capture the full picture of money coming in — and money being given back. The key principle is to always record gross sales, then separately track every deduction. This gives you visibility into your true top-line revenue before platform costs eat into it.

Account Number Account Name Description
4000 Gross Sales — Shopify Total sales revenue from your Shopify store before any deductions
4010 Gross Sales — Amazon Total sales revenue from Amazon Seller Central before fees and deductions
4020 Gross Sales — Wholesale / Other Revenue from wholesale, Etsy, or other channels
4050 Shipping Revenue Shipping charges collected from customers at checkout
4100 Refunds & Returns (Contra-Revenue) Total value of refunds issued to customers — reduces gross revenue
4110 Chargebacks (Contra-Revenue) Credit card chargebacks lost — reduces gross revenue
4120 Discounts Given (Contra-Revenue) Coupon codes, promotional discounts, and loyalty rewards applied at checkout

Separating gross from net revenue is critical because your gross sales figure is what the CRA considers taxable revenue for GST/HST purposes, and it is the baseline for every profitability metric you calculate. If you only record net deposits, your gross margin, refund rate, and fee ratios are all inaccurate. For more on GST/HST handling, see our e-commerce GST/HST collection guide.

Cost of Goods Sold Accounts

Cost of goods sold in e-commerce extends well beyond the purchase price of your inventory. Landed cost — the total cost to get a product from your supplier to your customer — includes freight, duties, packaging, and the marketplace fees directly tied to each sale.

Account Number Account Name Description
5000 Product Cost (Purchases) Direct cost of inventory purchased from suppliers
5010 Freight In / Shipping to Warehouse Cost of shipping product from supplier to your warehouse or FBA facility
5020 Customs Duties & Brokerage Import duties, brokerage fees, and customs processing charges
5030 Packaging & Supplies Boxes, mailers, poly bags, tape, inserts, and branded packaging
5100 Platform Selling Fees Amazon referral fees, Shopify transaction fees, and other marketplace commissions
5110 FBA Fulfilment Fees Amazon FBA pick, pack, and shipping fees per unit
5120 Payment Processing Fees Shopify Payments, Stripe, or PayPal transaction fees

A note on classification. Some CPA firms classify platform selling fees and payment processing fees as operating expenses rather than cost of goods sold. Both approaches are acceptable under ASPE and IFRS. At LedgerLogic, we recommend classifying them as COGS because they are directly tied to each sale — you do not incur these fees without a corresponding revenue transaction. This gives you a more accurate gross margin that reflects the true cost of each dollar of revenue. Whichever method you choose, be consistent across reporting periods. For a deeper look at calculating COGS for online sellers, see our e-commerce COGS calculation guide.

Operating Expense Accounts

Operating expenses are the costs of running your business that are not directly tied to individual sales. The most important principle here is specificity — especially for advertising spend, where separating by platform lets you calculate return on ad spend (ROAS) by channel.

Account Number Account Name Description
6000 Advertising — Facebook / Meta Ads All spend on Facebook and Instagram advertising campaigns
6010 Advertising — Google Ads Google Shopping, search, display, and Performance Max campaigns
6020 Advertising — Amazon PPC Sponsored Products, Sponsored Brands, and Sponsored Display on Amazon
6030 Advertising — TikTok Ads TikTok Shop and TikTok Ads Manager campaigns
6040 Advertising — Other Influencer partnerships, affiliate commissions, and miscellaneous ad spend
6100 Software Subscriptions Shopify plan, Xero, A2X, Synder, Dext, and other SaaS tools
6110 Warehouse & Storage Third-party warehouse fees, FBA storage fees, and self-storage rent
6120 Returns Processing Costs associated with processing customer returns (restocking, inspection, disposal)
6130 Photography & Creative Product photography, video production, and graphic design for listings
6140 Shipping Supplies Outbound shipping labels, Canada Post or courier charges to customers
6200 Professional Services Accounting, legal, and consulting fees
6210 Office & General Expenses Office supplies, internet, phone, and general business expenses
6220 Insurance Product liability, commercial general liability, and business insurance

Keeping advertising spend separated by platform is not optional — it is essential for growth decisions. If you are spending $3,000 per month on Facebook Ads and $2,000 on Google Ads, you need to know that Facebook is generating $15,000 in revenue (5:1 ROAS) while Google is generating $4,000 (2:1 ROAS). Without separate accounts, this analysis is impossible. For tips on tracking profitability across channels, see our guide on how to measure e-commerce profitability.

CPA Pro Tip: Even if you only advertise on one platform today, create all four advertising accounts now. When you scale to new channels (and most sellers do), the accounts are ready. Retroactively splitting a combined "Advertising" account into platform-specific lines is tedious and error-prone.

The Complete Template

Below is the full chart of accounts template for a typical Canadian e-commerce business selling on Shopify and Amazon. It covers 30 accounts across all five account types. You can add or remove accounts based on your business model, but this is the baseline we recommend. Download or copy this into your accounting software.

No. Account Name Type Description Xero Account Type
1000 Business Chequing Account Asset Primary business bank account Bank
1010 Shopify Payments Clearing Asset Clearing account for Shopify payouts in transit Bank
1020 Amazon Payments Clearing Asset Clearing account for Amazon disbursements in transit Bank
1100 Accounts Receivable Asset Outstanding invoices (wholesale, B2B orders) Current Asset
1200 Inventory Asset Current value of product inventory on hand and in FBA warehouses Inventory
1300 Prepaid Expenses Asset Annual software subscriptions, insurance premiums paid in advance Current Asset
2000 Accounts Payable Liability Outstanding bills owed to suppliers and service providers Current Liability
2100 GST/HST Collected Liability GST/HST collected from customers — owed to CRA Current Liability
2110 GST/HST Paid (Input Tax Credits) Liability GST/HST paid on business purchases — claimable as ITCs Current Liability
2200 Credit Card Payable Liability Business credit card balance owing Current Liability
3000 Owner's Equity / Retained Earnings Equity Cumulative net income retained in the business Equity
3100 Owner's Drawings Equity Money withdrawn from the business by the owner Equity
4000 Gross Sales — Shopify Revenue Total Shopify sales before deductions Revenue
4010 Gross Sales — Amazon Revenue Total Amazon sales before fees Revenue
4020 Gross Sales — Wholesale / Other Revenue Revenue from wholesale, Etsy, or other channels Revenue
4050 Shipping Revenue Revenue Shipping charges collected from customers Revenue
4100 Refunds & Returns Revenue Contra-revenue — reduces gross sales Revenue
4110 Chargebacks Revenue Contra-revenue — credit card disputes lost Revenue
4120 Discounts Given Revenue Contra-revenue — promotional discounts applied Revenue
5000 Product Cost (Purchases) COGS Direct product purchase cost from suppliers Direct Costs
5010 Freight In / Shipping to Warehouse COGS Inbound freight from supplier to warehouse or FBA Direct Costs
5020 Customs Duties & Brokerage COGS Import duties and brokerage charges Direct Costs
5030 Packaging & Supplies COGS Packaging materials for fulfilment Direct Costs
5100 Platform Selling Fees COGS Amazon referral fees, Shopify transaction fees Direct Costs
5110 FBA Fulfilment Fees COGS Amazon pick, pack, and ship fees Direct Costs
5120 Payment Processing Fees COGS Shopify Payments / Stripe / PayPal fees Direct Costs
6000–6040 Advertising (by platform) Expense Facebook, Google, Amazon PPC, TikTok, Other Expense
6100–6220 Operating Expenses Expense Software, storage, returns, photography, shipping, professional services, office, insurance Expense

This 30-account template is comprehensive enough for most Canadian Shopify + Amazon sellers without being overly granular. If you sell on additional channels (Etsy, your own WooCommerce site, B2B wholesale), simply add a corresponding 4000-series revenue account for each. The structure scales naturally.

Setting This Up in Xero

If you use Xero as your accounting software (which we recommend for e-commerce), here is the step-by-step process to configure this chart of accounts.

  1. Navigate to Settings → Chart of Accounts in your Xero organisation.
  2. Review existing accounts. Xero comes with a default chart of accounts for Canadian businesses. Delete or archive accounts you do not need (e.g., "Entertainment" or "Consulting Income" if they do not apply).
  3. Add new accounts. Click "Add Account" and enter the account code, name, type, and description from the template above. For COGS accounts, use the "Direct Costs" type in Xero.
  4. Set tax defaults. Assign the correct default GST/HST tax code to each account — typically "GST on Income" for revenue accounts and "GST on Expenses" for cost and expense accounts. For a detailed guide to Xero account types and tax codes, see our Xero chart of accounts guide.
  5. Add clearing accounts. Create bank-type accounts for Shopify Payments Clearing and Amazon Payments Clearing. These act as intermediary accounts between A2X journal entries and your actual bank deposits.
  6. Lock historical periods. Once your accounts are configured, lock the prior period to prevent accidental changes to historical data.

If you use A2X to connect Shopify or Amazon to Xero, A2X will automatically map its journal entry line items to the accounts you have configured. This means every Shopify payout is broken into gross sales, fees, refunds, shipping, and taxes — and each component lands in the correct account without manual intervention. For the full Shopify-to-Xero setup workflow, see our Shopify bookkeeping guide.

CPA Pro Tip: Spend 15 minutes mapping your A2X accounts before the first posting. If a mapping is wrong, every journal entry A2X creates will carry that error forward. We audit the A2X-to-Xero mapping for every new client before allowing the first batch to post. This single step prevents hours of cleanup later.

Common Mistakes

After configuring hundreds of e-commerce charts of accounts, these are the mistakes we see most frequently at LedgerLogic. Each one distorts your financial statements in a different way.

1. Lumping All Revenue into One Account

If you sell on Shopify and Amazon but record everything as "Sales," you cannot determine which channel is more profitable. Create separate gross sales accounts for each channel. This is especially important when platform fee structures differ — Amazon referral fees can be 15% while Shopify Payments charges 2.9%.

2. Not Separating Marketplace Fees from Operating Expenses

Platform fees are a direct cost of making a sale. Burying them in "Bank Charges" or "Miscellaneous Expenses" makes your gross margin look artificially high and your operating expenses look inflated. Whether you classify them as COGS or a separate line below gross profit, keep them visible. The CRA's guidance on cost of goods sold outlines what qualifies as a direct cost for tax purposes.

3. Missing COGS Categories

Product cost alone is not your true cost of goods sold. If you import product, customs duties and freight can add 15–25% to your unit cost. Without separate accounts for freight in, duties, and packaging, your gross margin calculation is overstated, and your pricing decisions are based on incomplete data. For a thorough walkthrough, see our e-commerce COGS calculation guide.

4. Not Creating Contra-Revenue Accounts for Refunds

Recording refunds as an expense inflates both your revenue and your expenses. A refund is a reversal of a sale, not a new cost. Create contra-revenue accounts for refunds, chargebacks, and discounts so your net revenue figure is accurate.

5. Using Too Many Accounts

A chart of accounts with 100+ line items is difficult to maintain and produces reports that are impossible to read quickly. For most e-commerce businesses, 25–50 accounts is the right range. If you find yourself creating accounts like "Facebook Ads — Retargeting — Summer Campaign," you have gone too far. Use the tracking categories feature in Xero to add granularity without bloating your chart of accounts. If you need help right-sizing your account structure, our bookkeeping team can review and optimise it.

Frequently Asked Questions

Written By

Seb ProstCPA, Ex-CRA

Licensed CPA with 10+ years of experience, including work with the Canada Revenue Agency. Founder of LedgerLogic, a cloud accounting firm serving Canadian SMEs. Xero Certified Advisor.