An ecommerce chart of accounts needs about forty accounts, not four hundred. The structure that works separates gross sales from the deductions marketplaces take out of them, keeps inventory on the balance sheet until a unit ships, and treats collected sales tax as a liability rather than revenue. Most of the pain in ecommerce bookkeeping traces back to one of those three rules being broken, usually the first.
The failure mode you are designing against
A marketplace deposit is not a sale. It is a net figure produced after the platform subtracts referral fees, fulfillment fees, storage, advertising, refunds, and sometimes a reserve, then adds back reimbursements. A seller whose books record that deposit as revenue has a revenue number that is wrong, a fee expense of zero, and no way to answer why margin moved.
The chart of accounts is where you decide whether that decomposition is possible. If there is no account for referral fees, the referral fees are hiding somewhere else.
Income: gross, then contra
Start with gross product sales, split by channel. Amazon, Shopify, Walmart, eBay, and TikTok Shop each get their own income account, because that is the only way to produce a per-channel margin without a reporting workaround.
Then add contra-revenue accounts that reduce those figures rather than sitting in expenses:
- Refunds and returns, by channel
- Discounts and promotions
- Chargebacks
- Shipping income, if you charge for it separately
Putting returns in contra-revenue rather than in expenses matters more than it sounds. It gives you net sales as a real line, and it makes the return rate visible without a calculation. That number deserves attention: the National Retail Federation and Happy Returns, in the returns report they released in October 2025, estimated that 19.3 percent of online sales would be returned in 2025, against 15.8 percent across retail overall.
Cost of goods sold: the part people skip
COGS should contain the landed cost of units that shipped in the period, and nothing else. That means product cost, inbound freight, duties and tariffs, and inspection or prep costs, all attached to the unit.
It does not mean the supplier invoice you paid this month. Inventory purchased and not yet sold is an asset. This is not a stylistic preference. IRS Publication 538 states that an inventory is necessary to clearly show income when the production, purchase, or sale of merchandise is an income-producing factor, and that a business required to account for inventory must use an accrual method for purchases and sales. There is a small business taxpayer exception for filers averaging $26 million or less in annual gross receipts over the three prior tax years who are not tax shelters, but even those filers must use a method that clearly reflects income.
A workable COGS block:
- Product cost
- Inbound freight and duty
- Prep, labeling, and inspection
- Inventory shrinkage and write-offs
- Damaged or unsellable returns
Marketplace fees: their own section, not “other expenses”
Give each fee type its own account. Referral or commission fees, fulfillment fees, storage fees, long-term storage surcharges, inbound placement and transportation fees, returns processing fees, removal and disposal fees, and refund administration fees. Advertising belongs in marketing, not here, because it is a decision you control and fees largely are not.
This is where fee creep becomes visible. Marketplace fee schedules change, and they change by category and by size band. A single “Amazon fees” account tells you the total went up by $8,300 last quarter. Seven accounts tell you which one moved.
Sales tax is a liability
Sales tax you collect is money you are holding for a state. It belongs in a current liability account, not in income.
Marketplace-collected tax needs its own treatment because in most states you never touch it. The California Department of Tax and Fee Administration’s guide to the Marketplace Facilitator Act explains that since October 1, 2019 the facilitator is generally responsible for collecting, reporting, and paying tax on sales made through its marketplace for delivery to California customers. That same guide notes that registered marketplace sellers still report total sales on their returns and then claim a deduction as “other” for the facilitated portion. Two accounts, one for tax you collect and remit yourself and one for tax the marketplace handles, makes that return preparable.
The rest of the balance sheet
Inventory needs at least three accounts, because stock in an ecommerce business is rarely in one place: inventory on hand at your own warehouse or 3PL, inventory at the fulfillment center, and inventory in transit. A fourth for prepaid inventory, meaning deposits paid to suppliers against goods not yet produced, saves arguments later.
Marketplace receivables deserve an account too. Money earned but not yet disbursed, plus any reserve the platform is holding, is a real asset that a cash-only view treats as nonexistent. Sellers who have watched a reserve balance climb during Q4 know exactly why that account matters.
A worked example
Take a two-week Amazon settlement that deposits $48,320 into the bank. The settlement report behind it might decompose as follows:
- Gross product sales: $84,600
- Refunds: ($6,200)
- Referral fees: ($12,690)
- FBA fulfillment fees: ($9,940)
- Storage fees: ($1,180)
- Advertising: ($5,870)
- Reimbursements: $400
- Reserve held: ($800)
Those figures net to $48,320. A seller who books the deposit as revenue reports $48,320 in sales. The correct treatment reports $84,600 in gross sales, $6,200 in contra-revenue, $23,810 across three fee accounts, $5,870 in advertising, $400 in other income, and an $800 increase in marketplace receivables.
Now add COGS. If the units that shipped carried a landed cost of $31,200, gross profit on the period is $84,600 less $6,200 less $31,200, or $47,200, a 60.2 percent gross margin on net sales of $78,400. After marketplace fees and advertising, contribution is $17,520, or 22.3 percent. Neither of those numbers is visible in a chart of accounts that has one revenue line and one expense line called “Amazon.”
How specific is too specific
Per-SKU accounts are too specific. A thousand SKUs do not need a thousand accounts; they need SKU-level reporting from a system that sits alongside the ledger. Tools built for this problem, including A2X, Webgility, and ConnectBooks, exist because a general ledger is the wrong place to store per-item detail even when the summary has to land there.
The IRS is deliberately loose about the mechanics. Its recordkeeping guidance says you may choose any recordkeeping system suited to your business that clearly shows your income and expenses, and that except in a few cases the law does not require any special kind of records. The standard is not a template. It is whether someone can trace a number on your return back to a document.
Build it once, before volume
Restructuring a chart of accounts across two years of history is a multi-week project with a real chance of breaking prior-year comparisons. Doing it at $400,000 in revenue is an afternoon. Doing it at $4 million is a decision you keep postponing, which is why so many sellers are still reading deposits as revenue three years in.
