Bookkeeping for small business on Shopify is the process of recording every sale, refund, fee, chargeback, and payout into a general ledger, reconciling those entries against bank deposits, and tracking sales tax as a liability. For Shopify stores, it also means matching inventory cost to revenue each month so gross margin is accurate.
Most guides on this topic treat bookkeeping as a generic checklist — set up a chart of accounts, pick single or double entry, hire a bookkeeper. That advice is fine for a consulting practice or a coffee shop. It falls apart the moment you run a Shopify store.
At Ottit, we close books monthly for over 100 Shopify brands. The actual work is not generic. It's a specific set of mechanics around Shopify Payments payouts, Shop Pay Installments, refunds, chargebacks, sales tax via TaxJar or Avalara, and inventory COGS across 3PLs like ShipBob. This guide walks through how the industry actually handles each piece.
What is bookkeeping for a Shopify small business?
Bookkeeping for a Shopify small business is the recording and reconciliation of ecommerce-specific transactions: gross sales, discounts, refunds, processor fees, chargebacks, sales tax collected, gift cards, and shipping income. Each Shopify payout is a net number that hides 5–10 separate ledger entries, so the work is unbundling that deposit into its components.
The traditional definition — "recording financial transactions" — is technically correct but useless in practice. A Shopify store does not record one transaction per sale. It records one transaction per payout, with sub-entries that map back to thousands of orders. That mapping is the entire job.
Bookkeeping vs. accounting on Shopify
Bookkeeping captures and categorizes transactions. Accounting interprets them — financial statements, tax filings, forecasting. For a deeper breakdown of where one ends and the other begins, see our Bookkeeping vs Accounting: A Shopify Founder's Guide.
Every Shopify deposit is a net number hiding gross sales, fees, refunds, sales tax, and tips. Bookkeeping is the work of unbundling that one number into five.
Actionable takeaway: before doing anything else, accept that "bookkeeping for Shopify" is not generic. The mechanics below are what separate a clean P&L from a meaningless one.
How do you reconcile Shopify Payments payouts?
Shopify Payments payouts are reconciled by breaking each net deposit into its component parts: gross sales, refunds, processor fees, sales tax collected, tips, gift cards, and adjustments. The payout report inside Shopify shows the math. The bookkeeper's job is to record those components into separate ledger accounts so the bank deposit matches the journal entry to the penny.
Per the Shopify Help Center guide to payouts, Shopify Payments deposits typically arrive 2–5 business days after the order. The payout period bundles orders together and nets out refunds and fees before depositing the remainder.
Example Shopify payout journal entry
A typical mid-size DTC brand processes a $14,820 Shopify payout. Here's how that breaks down on the income statement and balance sheet.
Doing this manually for hundreds of payouts a month is unrealistic. The industry standard is to automate the entry using a connector. We use Bookkeep across most of the 100+ Shopify stores Ottit closes books for, because it summarizes payouts into a single daily journal and pushes it to QuickBooks or Xero. Some stores use A2X as an alternative — both work, but we've found Bookkeep's sales-tax-aware logic cleaner for multi-state filers.
For a step-by-step on the connector setup, see our A2X Bookkeeping Integration: How Ottit Runs It for Shopify.
Actionable takeaway: stop categorizing Shopify deposits as a single "Sales" line in QuickBooks. Pull the payout report, identify the components, and either build the journal entry manually or use a connector that does it automatically.
How do you account for Shop Pay Installments and other BNPL?
Shop Pay Installments and other buy-now-pay-later (BNPL) tools are recorded as a normal sale at full price on the date of purchase, with the merchant fee booked as an expense. Affirm funds the merchant upfront, so cash arrives like any other Shopify Payments payout — but the fee structure is different from standard card processing.
Per the Shopify Shop Pay Installments help article, the merchant receives the full purchase amount upfront from Affirm, minus a fee that is higher than standard card processing. The customer's installment risk sits with Affirm, not the merchant.
Why BNPL trips up DIY bookkeepers
Founders often see a Shop Pay Installments deposit and assume it's a separate revenue stream. It isn't. The revenue was already recognized when the order shipped. The deposit just represents Affirm settling the merchant's receivable, minus a fee that runs roughly 5–6% versus 2.9% for standard cards.
- Revenue is recognized at the order date at the full sale price
- The Affirm/Shop Pay Installments fee is a separate expense line, not a discount
- Cash hits the bank when Affirm funds the merchant — usually within a few days
- There is no customer receivable on the merchant's books — that liability sits with Affirm
Actionable takeaway: BNPL fees should sit in a separate sub-account under merchant processing fees so the brand can see the true blended processor cost. Most stores discover their BNPL fee is 2x their card fee only after this is broken out.
How is sales tax handled in Shopify bookkeeping?
Sales tax collected on Shopify is recorded as a liability — Sales Tax Payable — on the balance sheet, not as revenue. The money belongs to the state. When the store remits the tax through TaxJar, Avalara, or a partner like Bookkeep, the liability account is debited and cash is credited. The income statement is never touched.
Since the 2018 South Dakota v. Wayfair Supreme Court decision, states can require out-of-state sellers to collect sales tax once they cross economic nexus thresholds — typically $100,000 in sales or 200 transactions in a state. Most growing Shopify brands trigger nexus in 5–15 states within their first two years.
The sales tax liability cycle
- Customer pays sales tax at checkout — Shopify collects it as part of the payout
- Bookkeeper credits Sales Tax Payable (liability) when the payout journal hits
- On the filing due date, the store remits tax to the state through a filing service
- Bookkeeper debits Sales Tax Payable and credits cash — liability goes to zero
For revenue-recognition mechanics tied to this, FASB ASC 606 (Revenue from Contracts with Customers) confirms that amounts collected on behalf of third parties (including state tax authorities) are excluded from revenue.
Tooling matters here. For Shopify stores using Xero or QuickBooks, we lead with Bookkeep because the same connector that posts the daily payout journal also tracks sales tax liability by state. Avalara is a strong secondary option for brands already on its filing service.
For the full operational walkthrough, see our Shopify Sales Tax Automation: Complete 2026 Guide for Store Owners.
Actionable takeaway: at month-end, the Sales Tax Payable balance should approximately equal the unremitted tax collected across all nexus states. If the number looks wrong, the payout journal is misclassifying tax as revenue.
How do you record inventory and COGS for a Shopify store?
Inventory and COGS for a Shopify store are recorded under accrual accounting by capitalizing inventory purchases to the balance sheet, then expensing the cost of each unit sold in the same period as the revenue. The journal entry hits monthly, not per order, and is driven by an inventory roll-forward: beginning inventory + purchases − ending inventory = COGS.
The monthly COGS journal
Assume a brand starts the month with $180,000 in inventory at a 3PL like ShipBob, purchases $95,000 more from a manufacturer, and ends the month with $202,000 on hand. COGS for the month is $73,000.
The complication is that Shopify itself does not produce an accurate COGS number for accounting purposes. Shopify's reports use the unit cost entered in the product admin at the time of sale, which is often wrong, stale, or missing. Industry practice is to ignore Shopify's COGS number and drive the entry from a physical or 3PL inventory count.
For the deeper mechanics, including FIFO vs. weighted average treatment, see our Shopify COGS Accounting: The Practitioner's Guide and Shopify Inventory Accounting Methods: FIFO, LIFO, and Weighted Average.
Actionable takeaway: pull an ending inventory count from the 3PL every month. Without it, gross margin on the P&L is a guess.
Cash vs. accrual: which method should a Shopify store use?
Most Shopify brands under $1M in revenue start on cash basis because it's simpler. Once a brand passes roughly $1M in annual sales or carries meaningful inventory, the industry standard shifts to accrual. Accrual matches inventory cost to the revenue it generated, producing a gross margin that reflects reality.
| Dimension | Cash basis | Accrual basis |
|---|---|---|
| When revenue is recorded | When cash is received | When the sale occurs |
| When COGS is recorded | When inventory is paid for | When the unit is sold |
| Inventory on balance sheet | Often missing or wrong | Tracked as an asset |
| True gross margin visible | No — distorted by purchase timing | Yes — matched to revenue |
| Typical revenue range | Under $1M | $1M and up |
| Required for outside investors | No | Yes, typically GAAP accrual |
A brand that pays $200K for a container of product in March and sells it down over the next six months will look unprofitable in March and wildly profitable in April–August under cash basis. Accrual smooths that out by capitalizing the $200K as inventory and releasing it as COGS each month against the matching revenue.
Actionable takeaway: if a brand is preparing for outside capital, planning to sell, or has gross margins that swing wildly month to month, accrual is the standard. A CPA can confirm what's appropriate for the specific situation.
What does a typical monthly close look like for a Shopify brand?
A monthly close for a Shopify brand is the sequence of steps that locks the prior month's books and produces financial statements. The standard cadence is to close between the 10th and 20th of the following month — late enough that payouts and processor fees have settled, early enough that the data is still useful for decisions.
The standard close checklist
- Reconcile all bank accounts (operating, savings, Mercury, Brex)
- Reconcile credit card and spend cards (Ramp, Brex)
- Confirm all Shopify payouts posted via Bookkeep or A2X match bank deposits
- Reconcile Sales Tax Payable to the filing service's tax liability report
- Pull ending inventory count from the 3PL and book the COGS journal
- Accrue unpaid bills via Bill.com or Ramp AP
- Record payroll from Gusto, including employer taxes and benefits
- Review marketing spend categorization (Meta, Google, Klaviyo, attribution from Triple Whale)
- Reconcile gift card and store credit liability
- Lock the period and generate P&L, balance sheet, and cash flow statement
Most of this runs through QuickBooks Online or Xero. Banking for the operating account typically sits at Mercury for online-native brands. Payroll runs through Gusto. Bill pay runs through Bill.com.
A clean monthly close on a Shopify brand takes 8–15 hours of bookkeeper time, depending on transaction volume, number of nexus states, and 3PL complexity.
Actionable takeaway: every Shopify brand should have a written close checklist. If the bookkeeper can't produce one, the close is happening informally — which is where errors accumulate.
When should a Shopify brand hire an ecommerce bookkeeper?
Most Shopify brands hire a specialized ecommerce bookkeeper between $50K and $100K in monthly revenue. Below that, founders can usually manage with a connector and a generalist bookkeeper. Above it, multi-state sales tax, payout reconciliation, and inventory accounting consume more time than the founder can sustainably spend.
Signs a brand has outgrown DIY
- The P&L shows revenue equal to Shopify deposits (sales tax and fees are not broken out)
- There is no inventory line on the balance sheet, or it hasn't moved in months
- Sales tax has been collected in 5+ states but only filed in the home state
- Gross margin swings wildly month to month with no operational reason
- Marketing spend exceeds gross profit and no one noticed for 60+ days
- The founder spends more than 5 hours a week in QuickBooks
For the buyer's framework on choosing the right firm, see our How to Vet an Ecommerce Bookkeeper: A Buyer's Framework and Best Shopify Bookkeeping for $1M Brands: Ottit vs Bench vs Pilot.
Per the IRS Small Business and Self-Employed Tax Center, small businesses are responsible for accurate recordkeeping regardless of who performs the bookkeeping work. The IRS expects books to support every line on the tax return.
Actionable takeaway: the right time to hire is before the books become a forensic project. Cleaning up 18 months of bad data costs 3–5x what staying current would have cost.
What tools does the typical Shopify bookkeeping stack include?
A typical Shopify bookkeeping stack in 2026 includes a general ledger (QuickBooks Online or Xero), a payout connector (Bookkeep or A2X), a sales tax filing service, a business bank (Mercury or Brex), a spend management platform (Ramp), a payroll system (Gusto), and a bill pay tool (Bill.com). Each tool handles one part of the data flow into the ledger.
| Function | Common tools | What it does |
|---|---|---|
| General ledger | QuickBooks Online, Xero | The system of record for all financial transactions |
| Shopify payout sync | Bookkeep, A2X | Converts Shopify payouts into journal entries |
| Sales tax filing | Bookkeep, Avalara | Tracks nexus, files returns, remits to states |
| Banking | Mercury, Brex | Operating accounts with clean transaction feeds |
| Spend / cards | Ramp, Brex | Team cards, receipts, and expense categorization |
| Payroll | Gusto | W-2 and contractor payroll, taxes, benefits |
| Bill pay (AP) | Bill.com, Ramp | Vendor bills, approvals, and payments |
| Attribution | Triple Whale, Northbeam | Marketing ROI and contribution margin |
| 3PL | ShipBob and others | Fulfillment and inventory counts feeding COGS |
For a head-to-head on the general ledger choice, see our Ecommerce Accounting Software: QBO vs Xero vs NetSuite.
Actionable takeaway: a stack with overlapping tools (two payout connectors, three banks) creates reconciliation work. The cleanest stacks have one tool per function.
Common bookkeeping mistakes on Shopify stores
The most common bookkeeping mistakes on Shopify stores cluster around four issues: treating payouts as revenue, ignoring sales tax liability, skipping inventory accounting, and miscategorizing refunds and chargebacks. Each of these distorts the P&L in a way that compounds month over month until the books no longer reflect the business.
- Booking Shopify deposits as a single revenue line — hides fees, refunds, and tax, inflating revenue by 5–15%
- Treating sales tax collected as income — overstates revenue and creates a phantom tax liability when filing income tax
- Skipping the inventory roll-forward — gross margin becomes unreliable and the balance sheet drifts from reality
- Recording refunds as expenses instead of contra-revenue — overstates both gross revenue and operating expenses
- Missing chargebacks — they net out of payouts and disappear without a dedicated expense account
- Ignoring gift cards — gift card sales are a liability, not revenue, until they're redeemed
- Categorizing all Shopify app fees as one line — makes it impossible to optimize the app stack
Actionable takeaway: pull last month's P&L and check for a sales tax payable balance, a refunds contra-revenue line, and a chargeback expense line. If any of those are missing, the books are oversimplified.
Sources and references
- the Shopify Help Center guide to payouts
- the Shopify Shop Pay Installments help article
- the 2018 South Dakota v. Wayfair Supreme Court decision
- FASB ASC 606 (Revenue from Contracts with Customers)
- the IRS Small Business and Self-Employed Tax Center
- the QuickBooks Online help center
- the A2X documentation for Shopify accounting