E-commerce bookkeeping has more moving parts than service business bookkeeping. Sales come in through multiple channels, payment processors take fees, sales tax must be tracked and remitted across jurisdictions, and inventory ties up cash that doesn't appear in the bank balance.
This guide covers the practical workflow for bookkeeping an e-commerce business in QuickBooks Online — the same patterns apply to Xero with minor adjustments.
Short version: Set up dedicated accounts for each sales channel (Shopify, Amazon, eBay, etc.). Use a connector (A2X, Bookkeep, Synder) to translate gross sales + fees + sales tax into clean QBO entries. Reconcile each channel monthly against the platform's settlement reports. Inventory is its own discipline — either track it in QBO or use a dedicated inventory tool.
The complexity comes from three places
E-commerce businesses have three layers of complexity that service businesses don't:
- Multi-channel sales. The same business sells on Shopify, Amazon, eBay, plus maybe wholesale. Each channel has its own reporting.
- Payment processor fees. The customer pays $100; the business receives $97 (after Stripe's 2.9% + $0.30). The $3 of fees needs to be expensed.
- Sales tax. Each state collects differently. Some channels remit on the seller's behalf (Amazon Marketplace), some don't (Shopify Direct), some do partially.
Get any of these wrong and your client's books are wrong in ways that compound monthly.
Set up the chart of accounts properly
For an e-commerce business, the COA should include:
- Sales accounts by channel: Shopify Sales, Amazon Sales, eBay Sales, Wholesale Sales
- Payment processor fees by processor: Shopify Payments Fees, Stripe Fees, Amazon Fees, PayPal Fees
- Sales tax payable — one account, with sub-accounts by state if needed
- Cost of goods sold (COGS)
- Inventory as an asset account (if tracking inventory)
- Shipping income separate from product sales
- Refunds and returns as a contra-revenue account
This structure lets you see channel-level performance in reports without re-querying the platforms.
Use a connector for sales recording
Manually entering every Shopify order into QBO doesn't scale past about 10 orders per day. Use a connector:
- A2X for Amazon, Shopify, Walmart, eBay — the most-used connector for serious e-commerce. Pulls settlement data and creates clean monthly journal entries.
- Bookkeep — similar to A2X with broader integrations.
- Synder — more granular (transaction-level) but heavier maintenance.
- Native QBO Shopify connector — simpler but less flexible than A2X.
The pattern: the connector reads the platform's settlement reports, breaks each settlement into gross sales, fees, refunds, and sales tax, and creates the corresponding QBO entries.
The Shopify workflow
Shopify uses "payouts" — periodic deposits to your client's bank account representing net sales after fees and refunds. A typical payout might be:
- Gross sales: $5,420.50
- Refunds: -$280.00
- Adjustments: -$15.00
- Shopify fees: -$157.21
- Net payout: $4,968.29
The bank statement shows the $4,968.29 deposit. The connector breaks it back into the components, posting:
- Debit: Bank account $4,968.29
- Debit: Shopify fees expense $157.21
- Debit: Refunds (contra-revenue) $280.00
- Debit: Adjustments $15.00
- Credit: Shopify Sales $5,420.50
Without a connector, you'd post just the net deposit and lose all the detail.
The Amazon workflow
Amazon is more complicated than Shopify. Amazon collects sales tax on the seller's behalf (in most states), holds reserves, processes refunds with delays, and applies various marketplace fees, FBA fees, and storage fees.
A typical Amazon settlement might include:
- Product sales
- Refunds (current and prior period)
- Amazon marketplace fees
- FBA fulfillment fees
- FBA storage fees
- Advertising fees
- Tax collected by Amazon (passed through, not seller's income)
- Reserves held back
A2X is the dominant tool for Amazon bookkeeping — manually parsing settlement reports is impractical.
The Stripe workflow (for standalone payments)
If your client takes payments via Stripe outside of Shopify/Amazon (invoices, custom checkout, etc.), Stripe settles to the bank account daily or weekly. Each settlement should be broken into:
- Gross charges
- Stripe fees
- Refunds
- Disputes/chargebacks if any
Synder is the most common Stripe-to-QBO connector. Or you can use Stripe's monthly export and create a single summary journal entry monthly.
Sales tax handling
Sales tax is a topic that needs a tax professional. The bookkeeper's job is to:
- Track sales tax collected (as a liability, not revenue)
- Reconcile to platform reports
- Confirm what gets remitted by the platform vs. what the client must remit
- Hand off to the tax professional for actual filing
Don't make sales tax classification calls on the client's behalf — this is tax advice, not bookkeeping.
Inventory
If your client carries inventory, you have three options:
- Track inventory in QBO. Works for low-SKU businesses. Falls apart past a few hundred SKUs.
- Use a dedicated inventory tool (Cin7, Katana, DEAR/Cin7 Core, Brightpearl) and post journal entries to QBO from the inventory tool's reports.
- Periodic inventory only. Don't track perpetual; just adjust to physical count at month-end or year-end.
Option 2 is the right answer for most growing e-commerce businesses.
Reconciliation rhythm
For an e-commerce client:
- Reconcile bank account monthly against statement
- Reconcile each sales channel against its platform reports monthly
- Reconcile sales tax collected against what's remitted
- Run inventory adjustments at month-end
This is more work than service business bookkeeping. Price accordingly.
Common e-commerce bookkeeping mistakes
1. Posting net deposits as revenue
Just booking the $4,968 Shopify payout as revenue misses the $5,420 in gross sales and the fees/refunds breakdown. The P&L looks worse than it should and the fees are hidden.
2. Treating tax collected as income
Sales tax collected is a liability, not income. It belongs to the state, not the business.
3. Ignoring inventory
If your client carries inventory and you don't track it, the P&L will be wildly wrong — COGS will be cash purchases rather than actual goods sold.
4. Mixing channels in one Sales account
You lose the ability to see per-channel performance. Use separate Sales accounts per channel.
Pricing e-commerce bookkeeping
E-commerce bookkeeping is more complex than service business work. Price 1.5-2x what you'd charge a comparable service business. The complications (sales tax, inventory, multi-channel reconciliation) eat hours that simpler businesses don't have.
For pricing approach, see our pricing guide. For the workflow for growing past solo, see our scalable workflow guide.