A Shopify store sells $50,000 in a month. The bank shows deposits of $43,800. In the books, the deposits are booked as sales. Revenue is understated by $6,200, the fees and refunds are invisible, the sales tax collected sits inside "sales" and the owner thinks the margin is six points higher than it is. Nobody did anything wrong; the bank feed just does not know what a payout contains.
What a payout contains
Gross sales, minus refunds, minus platform and payment fees, minus chargebacks, plus or minus sales tax collected (depending on whether the platform remits it), minus advertising in Amazon's case, minus reserves, held over a settlement period that rarely lines up with the calendar month. Each of those is a different account.
Booking it properly
Once a month, from the platform's own report, post a summary journal: gross sales to revenue, refunds to a contra-revenue account, fees to selling expenses, sales tax collected to a liability, and the net to a clearing account. Then match the actual bank deposits against the clearing account; at month end the clearing balance should equal payouts in transit. Tools like A2X and Link My Books generate this journal automatically for Shopify, Amazon, Etsy, eBay and Walmart, and are worth their subscription from the first month.
Cost of goods sold
The second number. If inventory purchases are expensed when paid, a big stock order makes a good month look terrible and the following months look wonderful. Purchases go to inventory on the balance sheet; cost of goods sold is recorded as items sell, either from a month-end count or from an inventory system's valuation. Landed cost belongs in inventory too: freight in, duties, inbound handling. Amazon FBA fees, outbound shipping and packaging are costs of fulfilment and sit in COGS or a fulfilment line depending on how you want to read the margin, but they must be somewhere visible, not lost in "Amazon fees".
Sales tax
Three situations:
- Marketplace sales (Amazon, Etsy, eBay, Walmart): the marketplace collects and remits in every state with a marketplace facilitator law, which is all of them that have sales tax. You do not remit, but you may still need to be registered in states where you have physical nexus (FBA inventory) and to file zero or marketplace-only returns.
- Your own store (Shopify, WooCommerce): you collect and remit wherever you have nexus, physical or economic (most states from $100,000 of sales into the state). Shopify calculates the tax; it does not file it. The collected tax is a liability, not revenue, and is paid out monthly, quarterly or annually per state.
- Both: the usual case, and the reason a sales tax tool (TaxJar, Avalara) or a firm that files for you earns its keep once you pass four or five states.
Other things e-commerce books get wrong
- Advertising spend inside platform settlements (Amazon) booked as fees.
- Inventory held by 3PLs and FBA not counted at month end.
- Gift cards and store credit treated as revenue when issued rather than when redeemed.
- Multi-currency stores with conversion differences hidden in the clearing account.
- Cost of returned goods never written back to inventory or written off.
What good looks like
A monthly profit and loss with gross sales, refunds, net sales, COGS, gross margin, then fulfilment, advertising and platform fees shown separately, so the contribution margin per channel is visible. A balance sheet with inventory that matches what is physically held and a sales tax liability that matches what is owed. That is the report an e-commerce owner should get every month, and it is what our e-commerce bookkeeping plans deliver.
The check: take last month's gross sales from the platform and compare it with revenue in the books. If they differ by more than refunds, the payouts are being booked as sales.