Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
An honest, practitioner-built guide to ecommerce accounting: why platform payouts aren't revenue, how to reconcile settlements, where marketplace fees hide margin, how COGS ties to fulfillment, and the chart of accounts QBO doesn't ship.
8 articles
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.
Key Takeaways
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.
Why ecommerce accounting breaks the cash-equals-revenue assumption
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.
Payout reconciliation: matching settlements to the underlying detail
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.
Marketplace fee decomposition: where margin actually goes
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.
Inventory and COGS tied to fulfillment, not payout timing
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 nexus: the liability that triggers from a single store
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.
Platform breakdown: Amazon FBA, Shopify and DTC, restaurant POS
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 Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Ecommerce Chart of Accounts: The Template QBO Doesn't Ship
You set up QBO for an ecommerce client. The default chart looks fine. Then the Shopify payout lands. You have one "Product Revenue" account. No line for Amazon fees. Sales tax in income where it has no place.
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Ecommerce Inventory and COGS: Tying Cost to Fulfillment, Not Payout Timing
Most ecommerce sellers get paid two to three weeks after a sale. That delay is fine for cash flow planning. But many sellers let that same delay drive how they record costs. That's a much more expensive mistake.
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Ecommerce Sales Tax Nexus: When a Single Store Triggers a Liability
You open one Shopify store. You sell to buyers across the country. It feels like one business, in one place, with one ecommerce sales tax nexus problem.
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Shopify Bookkeeping: Payout Reconciliation That Actually Ties Out
Your Shopify payout hits the bank: $1,847.32. Your Shopify sales dashboard says $2,100.00. The gap isn't missing money. It's Shopify Payments fees, refunds you issued, and shipping you collected, all netted before the deposit hits.
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Ecommerce Bookkeeping: The Complete Guide
A $18,432 deposit lands in your bank from Shopify. It looks like a great month. It isn't income, and the difference is what ecommerce bookkeeping is really about.
Ecommerce Accounting: A Practitioner's Guide to Payouts, Fees, Inventory, and Multi-Channel Books
Restaurant Bookkeeping Software: What Actually Works for Bookkeepers (Not In-House GMs)
Managing 8 restaurant clients? See how Toast, Square, and QBO integrations stack up for external bookkeepers — and what to look for beyond Restaurant365.