Most ecommerce owners learn that accounting is hard the week their first $18,432 Shopify payout lands. That number hits the bank looking like income. It isn't. It's net of platform fees, refunds, shipping you collected, and chargebacks. None of that breakdown shows up on the deposit line.
This hub is a practitioner's map for the people doing those books. It was written by a CPA firm partner who runs ecommerce books on Growthy. He sees the same mistakes on every cleanup. Payouts booked as revenue. Fees buried in one line. COGS tracked to the wrong month. Sales tax counted as income. The hub walks the parts that matter for three readers: a Shopify or Amazon seller picking how their books should work, an independent bookkeeper running 10 ecommerce clients at once, and a CPA firm staffer meeting settlement-report accounting for the first time. Each section covers the operator version of one big idea. Then it links forward to a deeper spoke when you need the full mechanics, journal entries, and edge cases.
What is ecommerce accounting?
Ecommerce accounting is how you record sales, fees, inventory, and tax for an online store that sells through platforms like Shopify and Amazon. The hard part is that a platform payout is not revenue. A single deposit can net out 14 Amazon fee types, plus refunds and shipping, before any money moves. COGS has to follow inventory movement, not payout timing. Sales tax nexus can trigger in 12-plus states from one store, and the tax you collect is a liability, not income. Done right, the books match each payout period to its underlying detail instead of treating the bank deposit as a single line of sales.
- A platform payout is net, not gross - One $18,432 Shopify deposit can hide processor fees, refunds, and chargebacks spread across hundreds of orders.
- Amazon books come from settlement reports - Each report covers a 2-week period and bundles up to 14 fee types into one wire.
- COGS follows fulfillment, not cash - Booking cost when the platform pays you overstates margin in the sale month.
- Sales tax nexus triggers fast - Economic nexus can apply in 12-plus states from a single store, and collected tax sits in a liability account.
- The default QBO chart is incomplete - A generic 50-account setup has no per-channel clearing or marketplace-fee accounts.
- Growthy imports at 85% accuracy - It's built for bookkeepers running multiple ecommerce clients, and you review the rest.
Every bookkeeper learns one rule first: cash in is revenue. Ecommerce breaks it on day one. A Shopify or Amazon deposit is not a sale. It's a net settlement. The platform took its cut, held back refunds, passed through the shipping you collected, and clawed back chargebacks. By the time the money lands, the deposit matches no invoice you can find.
A direct platform-to-QBO sync makes this worse, not better. It posts the deposit as one tidy line of income. That line matches no invoice, no fee schedule, and no tax record. It looks reconciled because the number ties to the bank. It isn't. The real work got skipped. On a clean book, that one deposit becomes a dozen entries: sales by channel, processor fees, refunds, shipping, and sales tax collected. On a synced book, it stays one line that hides all of them.
The job is to match each payout to the orders, fees, and tax underneath it, period by period. That's payout-period logic, not a plugin. Get it right and your margin, your tax liability, and your inventory all read true. Get it wrong and every report downstream inherits the error. Start with the complete ecommerce bookkeeping guide for the full walkthrough of the payout-versus-revenue gap.
Reconciliation is where most ecommerce books break. The trap is the calendar. Each payout period closes on its own schedule, not on the last day of the month. A Shopify payout can span two calendar months. Amazon settles on a rolling 2-week cycle. Reconcile by calendar month and you split single payouts in half, which leaves gaps that never tie out.
A Shopify payout nets several things at once. Shopify Payments fees come off the top. Refunds reduce it. Shipping you collected passes through. And Shopify Capital advances can land in the same account, but those are financing, not revenue. Book a Capital advance as a sale and you overstate income by the full advance.
Take that $18,432 deposit. Behind it sits $19,200 in product sales and $610 in shipping you collected. Shopify Payments fees pull out $588. Refunds take another $790. The math nets to the $18,432 that hit the bank. Book the deposit as one line of sales and you lose all four of those numbers, and your margin report never gets them back.
Amazon books work the same way, just from a different document. They're built from settlement reports, not bank statements. The report is the source of truth. The wire is just the leftover. The tie-out signal that tells you the work is done is a clearing account that returns to zero each period. If it doesn't zero out, something is missing. See Shopify payout reconciliation for the journal-entry pattern, and Amazon settlement-report bookkeeping for the report-driven version.
Booking a gross sale with one "marketplace fees" line is the fastest way to lie to yourself about margin. Amazon alone charges referral fees, FBA storage fees, pick-and-pack fees, disposal fees, removal fees, and advertising charges. That's 14 fee types in a typical account, and most come out before any money moves. Roll them into one bucket and you can't tell which product line is actually profitable.
Say two products both sell for $40. One is small and light, so Amazon's fees run about $9. The other is bulky and slow to move, so storage and pick-and-pack push its fees to $18. Same $40 sale, very different margin. Bundle both into one fee line and the books say they earn the same. They don't.
Shopify and Stripe do the quieter version of the same thing. The processor fee sits underneath the deposit. The gross sale and the fee never show up as separate numbers unless you split them out by hand. That's the net-versus-gross trap, and it understates both your revenue and your cost.
The fix is structural. Each fee type belongs in its own account so you can read true contribution margin by channel and by product. That's an account-design problem more than a data-entry problem. Amazon settlement-report bookkeeping shows how the fee types decompose, line by line.
Here's the timing trap that sinks ecommerce margin reports. Three events happen on three different days. You recognize revenue when the sale closes. You recognize COGS when the unit ships from the warehouse or the fulfillment center. The platform pays you later, sometimes two weeks later. COGS has to follow the inventory movement, not the day Amazon wired you. Book cost at payout and you overstate margin in the sale month and understate it later.
Picture one order. The sale closes March 30 for $120. The unit ships from the FBA warehouse March 31, so $45 of COGS belongs in March. Amazon pays you April 14. Book the $45 cost in April, when the cash arrived, and March looks like pure profit while April carries a cost with no matching sale. Two months, both wrong, from one timing slip.
Valuation matters too. FIFO and weighted average give different cost numbers, and you have to pick one and hold it. Landed cost, the freight and duties to get the goods to you, belongs inside inventory value, not in a period expense. Returns reverse both revenue and COGS, in the period the return happens, not whenever the refund clears.
Then there's the inventory you own but never touch. FBA units sit in Amazon's warehouses, and they stay on your balance sheet until they sell. Reconciling the platform's inventory report to your books is its own monthly task. Multi-channel makes it harder, because hundreds of transactions across stores collapse into a single line in QBO. Ecommerce inventory and COGS walks the valuation methods, the return reversals, and the fulfillment-center units in full.
Sales tax is the part that turns into a real liability while nobody is watching. Physical nexus is old news: you owe tax where you have a location. Economic nexus is the newer rule, and it can trigger in 12-plus states from a single Shopify store once your sales cross a state's threshold. Those thresholds vary by state, they're set in dollars or transaction counts, and they change often. Check your states against a live source. Don't carry numbers from memory.
Who actually remits depends on the channel. Under marketplace facilitator rules, Amazon, Etsy, and Walmart collect and remit the tax on the sales they host. Direct sales through your own Shopify store are yours to remit. Sell on both and the responsibility splits, so the books have to separate the two. Mix them and you'll either double-pay or under-report.
The accounting treatment is the part bookkeepers get wrong most. Sales tax you collect is never revenue. It's a liability the moment you collect it. Remitting it later reduces the liability, not an expense. Collected-but-not-remitted tax is money you're holding for the state. Collect $1,000 in tax across a month and that $1,000 is a liability on the balance sheet. Remit it and the liability drops to zero. Nothing touches the P&L either way. Bobby is a CPA firm partner, not a CPA, so treat this as plain-language interpretation, not tax advice. For the thresholds, the remit rules, and the balance-sheet entries, see ecommerce sales tax nexus.
Each channel feeds the books from a different source document. Get the source right and the rest follows.
Amazon FBA books are built from settlement reports, not bank statements. Each report covers a 2-week period. It carries gross sales, returns, FBA fees, advertising charges, and inventory adjustments in one place. A single settlement might show $14,000 in gross sales, $2,100 in FBA and referral fees, $400 in returns, and $900 in ad spend, all netted before the wire reaches your bank. The work is syncing inventory unit costs to fulfillment activity, so COGS lands when units ship, not when Amazon pays. The detailed version lives in Amazon settlement-report bookkeeping.
Shopify and direct-to-consumer stores run on payout reconciliation. Account for Shopify Payments fees, refunds, and shipping, and keep Shopify Capital advances out of revenue. Each payout closes on its own schedule, so reconcile by payout period. The step-by-step is in Shopify payout reconciliation.
Restaurant and food service operations run on daily sales summaries from Square, Toast, or Clover. The challenge is tip pools, cash-versus-card splits, and matching the close-of-day report to payroll timing. The numbers come from the POS, but they have to land in QBO correctly. See restaurant bookkeeping software for bookkeepers for the POS-to-books flow.
General-ledger software handles ecommerce books for a while. QuickBooks Online and Xero can produce correct ecommerce statements through manual journal entries, a clearing-account method for each payout, and a spreadsheet sub-ledger for inventory. QBO Plus runs about $115 a month in 2026. Xero sits in the $55 to $90 range. The pressure point comes when you add channels and the monthly close starts dragging. At one channel, a careful bookkeeper can close the month in a day. At four channels with inventory, that same close can stretch past a week. That's the point most firms start looking for a workflow tool instead of a wider spreadsheet.
The connectors fill specific gaps. A2X produces clean journal entries for Shopify and Amazon merchants who manage their own books, without custom logic. Webgility is built for inventory-heavy retailers with high SKU counts and warehouse complexity. Both are merchant tools, aimed at the person running one store.
Growthy is built for a different buyer: the bookkeeper or firm running multiple ecommerce clients. The workflow, client switching, and pattern learning sit at the firm level, not the merchant level. Growthy categorizes transactions automatically and is 85% accurate on first import. You review and approve the rest. That's a firm-level lift across a book of clients, not a single-store plugin. For the head-to-head, read compare ecommerce accounting software, and for the account structure underneath all of it, the ecommerce chart of accounts template.
- Ecommerce Bookkeeping: The Complete Guide: the anchor walkthrough of the payout-versus-revenue gap, start to finish.
- Shopify Bookkeeping: reconcile a real Shopify payout by period, with the journal entries that tie out.
- Amazon Seller Bookkeeping: settlement reports, FBA fees, and how to close each period without gaps.
- Ecommerce Inventory and COGS: tying cost to fulfillment, valuing inventory, and handling returns.
- Ecommerce Sales Tax Nexus: when a single store triggers a liability, who remits, and the balance-sheet treatment.
- Ecommerce Chart of Accounts: the starter template QBO doesn't ship, built for multi-channel sellers.
- Best Ecommerce Accounting Software: an honest comparison of the tools that handle fees, COGS, and multi-channel sales.
- Restaurant Bookkeeping Software: POS integrations, daily sales summaries, and tip accounting for food service.
Growthy is bookkeeping software, not a CPA firm. This content is educational, not professional advice. Full disclaimer.
Get started with Growthy
Related: Chart of Accounts, Payment Reconciliation, QuickBooks Integrations.