A monthly bookkeeping checklist for a Shopify brand is the recurring close process that turns raw store data into accurate financial statements. This tutorial walks through the 10-day close cadence Ottit runs for 100+ Shopify stores, with each task mapped to its source system: Shopify, Stripe, ShipBob, and QuickBooks Online.

1Key Takeaways (TL;DR)

A monthly bookkeeping checklist for Shopify is a gateway-aware close process that reconciles payouts, accrues sales tax by state, posts refunds in the correct period, and books COGS from the 3PL shipment date. The generic CPA checklist breaks on Shopify. In our work with 100+ Shopify brands, the close lands in 6 to 10 business days when tools and source data are aligned.

2What you'll need

Before starting the monthly bookkeeping checklist, gather access to every source system that feeds the close. The list below is what the industry standard Shopify close depends on. Missing any one piece extends the close by 2 to 4 days because reconciliations stall.

  • Admin access to Shopify (Reports and Finances), each payment gateway, and the accounting system (QuickBooks Online or Xero)
  • A revenue posting tool that summarizes Shopify orders into journal entries — we use Bookkeep across the 100+ stores Ottit closes monthly
  • 3PL inventory and shipment report (ShipBob, ShipHero, or in-house warehouse)
  • Sales tax filing data from your service of choice (Bookkeep, Avalara, or platform exports)
  • Bank statements for every operating account (Mercury, Brex, RHO, or traditional bank)
  • AP system export (BILL or Ramp) and payroll register (Gusto or Rippling)
  • Prior month trial balance and reconciliation worksheet

3How do you reconcile Shopify payouts by gateway?

The first task on the monthly bookkeeping checklist is reconciling every Shopify payout to its matching bank deposit. Shopify Payments, PayPal, Shop Pay Installments (Affirm), Amazon Pay, and Shop Cash each settle on their own schedule. Each gets its own clearing account in the general ledger so timing differences don't bury the variance.

Pull the Payouts report from Shopify Finances and export the month's transactions. Each payout line carries gross sales, refunds, adjustments, and Shopify Payments fees. The net payout amount should tie to a single bank deposit 1 to 3 business days later. The lag is the most common reason books look broken — sales recorded on day 30 don't deposit until day 32 or 33.

Shopify Payments daily clearing entry
DRShopify Payments Clearing$48,250
DRRefunds Issued$1,820
DRMerchant Fees$1,520
CRSales Revenue$47,180
CRSales Tax Payable$2,890
CRShipping Income$1,520
Daily summary entry from Bookkeep; clearing balance drains on payout deposit

When the bank deposit lands, debit cash and credit the clearing account. The clearing account should hit zero by the next business day. A non-zero balance at month-end means you have payouts in transit, which is normal — it just needs to be reconciled and reported as a current asset.

For Shopify stores syncing payouts into QuickBooks or Xero, the industry standard is a revenue posting tool that maps each gateway to its own clearing account. We use Bookkeep at Ottit because it accrues sales tax in the same daily summary entry. Stores comparing tools can review the A2X documentation for Shopify accounting or the Synder Shopify integration guide for context.

You'll know this worked when each gateway clearing account reconciles to zero or a known in-transit amount, and gross sales in the GL tie to gross sales in the Shopify Finances summary.

Comparison: Shopify revenue sync tools

The table below compares how the main revenue posting categories handle Shopify payouts. Use it to size the right tool for the store's gateway mix and tax footprint.

Chargeback reserve (dispute opened)
DRChargeback Reserve$285
CRShopify Payments Clearing$285
Customer dispute #CH-4821 opened; reserve held pending resolution
CapabilityBookkeep (Partner)Generic Sync ToolsManual Spreadsheet
Daily summary journal entryYesSometimesNo
Sales tax accrual by stateYesLimitedManual
Multi-gateway clearing accountsYesVariesManual
Refund period mappingAutomaticVariesManual
Typical close-day impact-2 to -3 days-1 dayBaseline

For Shopify stores on QuickBooks or Xero, we use Bookkeep for revenue recognition and sales tax accrual across the 100+ Shopify stores Ottit closes books for. Stores already on other sync tools can keep them — the close still works, it just takes longer.

4How do you accrue sales tax liability by state?

Sales tax accrual is the second task on the monthly bookkeeping checklist. Sales tax collected on Shopify orders is a liability — it belongs to the state, not the store. The monthly close accrues tax collected by jurisdiction, reconciles it to what was filed and paid, and reviews economic nexus thresholds against trailing sales.

Pull the sales tax report from Shopify (Analytics → Reports → Taxes) and group collected tax by state. Compare it to the sales tax payable balance in the GL. The difference between collected, remitted, and accrued is the most common audit finding on Shopify books. For deeper coverage of the rules, see our Shopify sales tax automation guide.

StateCollected (Shopify)Filed/RemittedLiability EOM
California$8,420$8,420$0
Texas$4,180$0 (quarterly)$4,180
Florida$2,950$2,950$0
New York$3,640$0 (quarterly)$3,640
Pennsylvania$1,210$1,210$0

Sales tax is a liability — sales tax payable is the GL account that holds tax collected from customers until it is remitted to the state. According to recent state-level guidance, 43 states plus D.C. and Puerto Rico enforce economic nexus thresholds, with $100,000 in sales or 200 transactions being the most common trigger.

Monthly close is when stores check whether new states crossed the line in the trailing 12 months. Stores filing in 10+ states often layer Avalara on top of a daily summary tool. We lead with Bookkeep for the accrual side because it posts the tax liability in the same journal entry as the revenue.

You'll know this worked when sales tax payable by state ties to the trailing month's collections minus the trailing month's filings, with any variance traced to a specific transaction.

5How should refunds, chargebacks, and disputes be posted?

Refunds and chargebacks are the second-biggest source of close errors on Shopify books. A refund issued on May 2 for an April 28 order belongs in May — under accrual accounting, the original sale stays in April and the refund hits May. Cash-basis stores book them when the money moves.

Shopify Payments chargebacks behave differently. When a chargeback is opened, Shopify reserves the disputed amount immediately. Won disputes restore the funds; lost disputes finalize the loss plus a $15 fee. Bookkeepers post the reserve as a contra-asset until resolution.

Chargeback reserve (dispute opened)
DRChargeback Reserve$285
CRShopify Payments Clearing$285
Customer dispute #CH-4821 opened; reserve held pending resolution

According to recent DTC payments data, the average chargeback rate sits near 0.9% of transactions, up from prior years. For a $2M Shopify brand, that's roughly $18,000 a year in disputed transactions that need correct period posting.

Subscription brands have a second timing layer. Recurring orders generated by tools like Recharge create new transactions on a schedule that may not match the parent order. For setup specifics, see the Recharge subscription platform documentation. The close treats each rebill as its own sale with its own refund and chargeback window.

You'll know this worked when refunds in the GL match the Refunds line on the Shopify payout report for the same period, and the chargeback reserve account ties to open disputes in the Shopify Disputes dashboard.

6How do you cut off inventory and book COGS from the 3PL?

COGS on Shopify books should follow the shipment date, not the order date. An order placed March 31 and shipped April 1 carries revenue and COGS in April under ASC 606. This is where the 3PL data feed matters more than the Shopify order feed.

Pull the shipment report from ShipBob, ShipHero, or your in-house WMS for the close month. Match units shipped to SKUs, multiply by landed cost per unit, and book COGS. Inventory on hand at month-end is the prior balance plus inbound receipts minus units shipped. Our Shopify COGS accounting guide walks through landed cost calculation and the journal entries in depth.

April COGS calculation (1,840 units shipped)
Beginning inventory (April 1)$182,400
Inbound receipts (April)$94,200
Ending inventory (April 30)$201,100
COGS (calc'd)$75,500
Monthly COGS entry
DRCost of Goods Sold$75,500
CRInventory - Finished Goods$75,500
April shipments per ShipBob units-out report

Brands running Cin7 or NetSuite as an ERP get this entry from the system automatically. Stores on QBO with a 3PL build it manually each month from the shipment export. For deferred revenue on unshipped orders, see our revenue recognition guide for Shopify DTC brands.

You'll know this worked when COGS as a percentage of net revenue lands within 1 to 2 points of the prior three-month average, and ending inventory ties to the 3PL on-hand report.

7How do you reconcile gateway fees vs. Shopify Payments fees?

Shopify Payments charges processing fees at the gateway level (2.9% + 30¢ for online sales on the Basic plan). Third-party gateways like Stripe or Authorize.net add Shopify's transaction fee on top — 2.0%, 1.0%, or 0.5% depending on plan. These get posted to two different expense accounts so margin analysis stays clean.

Fee TypeSourceGL Account
Shopify Payments processingShopify payout reportMerchant Processing Fees
Third-party gateway feeShopify (per order)Shopify Transaction Fees
PayPal processingPayPal monthly statementPayPal Fees
Shop Pay Installments feeShopify payout reportAffirm/BNPL Fees
Shopify subscriptionShopify billSoftware - Shopify

A processing fee is the percentage and fixed charge the payment gateway takes from each transaction before paying out the merchant. A Shopify transaction fee is the additional cut Shopify takes when the store uses a third-party gateway instead of Shopify Payments. Both belong in the GL, but in separate expense accounts.

You'll know this worked when total processing fees in the GL match the fees line on the Shopify Finances summary for the period, and the trailing fee rate matches your effective blended rate (typically 2.9% to 3.4% for DTC).

8Close out AP, payroll, and subscription expenses

With revenue, COGS, and sales tax in, the rest of the monthly bookkeeping checklist is operating expenses. AP comes from BILL or Ramp, payroll from Gusto or Rippling, and subscriptions from the bank and card feeds. This is the part of the close where the generic CPA checklist works fine — it's the Shopify-specific revenue side that breaks.

  • Match AP bills to vendor invoices and code to the correct expense or inventory account in BILL or Ramp
  • Post the payroll register from Gusto, including employer taxes and benefit contributions
  • Accrue unpaid bills and unbilled vendor activity (especially 3PL invoices that lag by 2 to 4 weeks)
  • Reconcile every operating bank and credit card account to month-end statements
  • Code Klaviyo, Gorgias, Recharge, Triple Whale, and other SaaS subscriptions to a Software expense account

Many Shopify brands run team spend through Ramp with auto-categorization rules that push transactions into QuickBooks already coded. That cuts coding time in half during close. Brands with overseas contractors typically run Deel for payments and pull the Deel register into AP at month-end.

You'll know this worked when every bank and credit card account reconciles to zero variance against the statement, and accrued expenses include all known unbilled vendor activity.

9Review the trial balance and produce financial statements

The final close step is reviewing the trial balance for anomalies and producing the P&L, balance sheet, and cash flow statement. The flux review compares each line to the trailing three months. Anything that moved more than 10% gets investigated.

  1. Run the trial balance and confirm debits equal credits
  2. Review the P&L month-over-month and trailing-3-month for unexpected swings in revenue, COGS, or marketing spend
  3. Review the balance sheet for stale items: old uncleared payouts, prior-period sales tax, AR over 90 days
  4. Generate the P&L, balance sheet, and statement of cash flows for management review
  5. Lock the period in QuickBooks or Xero to prevent retroactive edits

According to recent midmarket finance benchmarking, 41% of finance teams close their books within 6 business days, while the median is 8 days. Shopify brands working with a dedicated ecommerce bookkeeper typically land in the 6 to 10 day range when tools and processes are dialed in.

You'll know this worked when the financial statements pass the flux review, the period is locked, and management gets the package within 10 business days of month-end.

10Common mistakes in a Shopify monthly close

  • Booking Shopify deposits as revenue. The deposit is net of fees, refunds, and reserves. Booking it as revenue understates both sales and expenses and breaks every margin calculation downstream.
  • Ignoring the payout-to-deposit lag. Sales on the last 1 to 3 days of the month deposit in the next month. Without a clearing account, books look short on revenue every month-end.
  • Posting sales tax as revenue. Sales tax collected is a liability owed to the state, not income. Mixing it into revenue inflates the top line and creates a tax filing nightmare.
  • Booking COGS on order date instead of ship date. Under accrual accounting, COGS matches revenue, and revenue follows shipment under ASC 606. Order-date COGS distorts margin in any month with large ship-lag.
  • Skipping the chargeback reserve. Open disputes pull cash from the clearing account before resolution. Without a reserve account, cash and revenue look mismatched until the dispute closes.

11Troubleshooting common close failures

Shopify gross sales don't match the GL

The most common cause is timezone mismatch. Shopify reports default to the store's timezone, while QuickBooks posts in the company timezone set in settings. A store on Pacific time with QBO set to Eastern will see a 3-hour shift in daily totals. Pull both reports in UTC, or align timezones in both systems.

Clearing account won't drain to zero

If the Shopify Payments clearing account holds a balance after all deposits post, the cause is usually a chargeback adjustment, a payout reserve, or a refund that crossed periods. Pull the Shopify Balance Transactions report and filter for adjustments. Each unexplained line maps to one of these three categories.

COGS percentage is off by 5+ points

Either inventory cost is stale (landed cost not updated for the latest PO) or the 3PL shipment report missed units. Reconcile units shipped per the 3PL to units in shipped orders on Shopify. The variance usually points to a B2B order shipped from a different warehouse or a sample/influencer shipment that didn't carry COGS.

12Frequently Asked Questions

See the FAQ section below for answers to the most common questions Shopify founders ask about the monthly close cadence, payout reconciliation, and sales tax accrual.

13Sources