Home » Ecommerce Accounting » Shopify Accounting

Accounting for Shopify Stores

Shopify accounting requires recording gross sales, payment processing fees, refunds, shipping charges, sales tax collected, and Shopify subscription costs as separate line items rather than simply recording the net payout that hits your bank account. The most efficient setup connects Shopify to QuickBooks or Xero through an integration app like A2X, which automatically creates proper accounting entries for each payout with all components broken out correctly.

Before You Start

You need a cloud accounting platform (QuickBooks Online Plus recommended, Xero Standard as alternative) with a customized chart of accounts that includes Shopify-specific income and expense categories. You also need your Shopify admin access to connect integration apps, and your business bank account already linked to your accounting software so bank deposits can be matched against Shopify payout entries.

If you are starting fresh, read the bookkeeping basics guide first to set up your chart of accounts and accounting software correctly. If you already have accounting software running with bank feeds active, you can add the Shopify integration on top of your existing setup.

Step-by-Step Setup

Step 1: Install an integration app.
A2X is the most recommended Shopify-to-accounting integration. Install it from the Shopify App Store or the A2X website, then connect it to both your Shopify store and your accounting software. A2X costs $19 per month for stores with up to 200 orders per month, $49 for up to 2,000 orders, and $99 for higher volumes. Synder is an alternative at $15 to $100 per month that posts individual transactions rather than daily summaries. Both produce accurate books, but A2X's summary approach keeps your accounting software faster and reconciliation simpler at higher volumes.
Step 2: Map Shopify data to your chart of accounts.
The integration app needs to know which accounts to post to. Map these Shopify components to the corresponding accounts: Sales Revenue maps to your Shopify Sales income account. Payment Processing Fees maps to your Payment Processing Fees expense account (or a Shopify Payments Fees sub-account). Refunds map to a Refunds contra-revenue account or reduce Sales Revenue directly. Shipping Collected maps to Shipping Revenue (if you charge for shipping) or to Sales Revenue (if shipping is bundled). Sales Tax Collected maps to a Sales Tax Payable liability account. Gift Card Sales map to a Gift Card Liability account (gift cards are a liability until redeemed, not immediate revenue).
Step 3: Configure payout matching.
A2X creates a journal entry for each Shopify Payments payout that matches the net deposit arriving in your bank account. When the bank feed imports the deposit, you match it against the A2X journal entry rather than categorizing it manually. This matching process ensures every component of the payout (sales, fees, refunds, tax) is recorded in the correct account while confirming that the deposit amount agrees with the detailed breakdown. Set A2X to post entries automatically or review them before posting, depending on your comfort level.
Step 4: Record Shopify subscription and app costs.
Your monthly Shopify plan charge ($39 for Basic, $105 for Shopify, $399 for Advanced) is billed to your credit card or deducted from your Shopify balance. Record it as a Software Subscriptions expense. Shopify app charges (usually billed through Shopify on the same invoice) should be recorded as Software Subscriptions or broken into specific categories if individual apps are significant expenses. If Shopify deducts these charges from your payout, the integration app handles the recording. If billed to a credit card, categorize the credit card charge when it appears in your bank feed.
Step 5: Reconcile monthly.
At month end, pull the Finances Summary report from Shopify (Settings, then Billing, or Analytics, then Reports). Compare total gross sales, total fees, total refunds, total tax collected, and total net payouts against the corresponding totals in your accounting software. All figures should match within a few cents. Investigate any discrepancy greater than $1. Common causes include timing differences (a sale recorded in Shopify on the last day of the month with the payout hitting your bank on the first day of the next month), unrecorded manual transactions, or integration posting errors.

Understanding Shopify Payouts

Shopify Payments deposits your sales proceeds to your bank account on a regular schedule, typically every business day or every two to three business days depending on your account history and location. Each payout bundles together the gross sales from multiple orders, deducts processing fees, subtracts refunds issued during the payout period, and deducts any Shopify charges billed against your balance.

A typical Shopify payout breakdown looks like this:

  • Gross sales: $3,247.50 (the total charged to customers)
  • Payment processing fees: -$104.18 (2.9% + $0.30 per transaction on Basic plan)
  • Refunds issued: -$89.99 (one full order refund)
  • Shopify subscription charge: -$39.00 (monthly plan, if billed from balance)
  • Net payout: $3,014.33 (the amount deposited to your bank)

If you only record $3,014.33 as revenue, your books understate gross sales by $233.17 and fail to capture the individual fee and refund components. The integration app breaks this into proper journal entries: $3,247.50 credit to Sales Revenue, $104.18 debit to Processing Fees, $89.99 debit to Refunds (or credit to Sales Revenue as a reduction), $39.00 debit to Software Subscriptions, and $3,014.33 debit to your bank account.

Handling Sales Tax in Shopify Accounting

Shopify collects sales tax from customers in jurisdictions where you have configured tax collection. The tax collected is not your revenue. It is a liability because you hold it temporarily and must remit it to the appropriate state or local tax authority on the required schedule. In your accounting records, tax collected should flow to a Sales Tax Payable liability account, not to your revenue accounts.

When you remit sales tax payments to states, record the payment as a reduction in your Sales Tax Payable liability. If the liability balance grows over time, it means you are collecting more tax than you are remitting, which usually indicates you need to file and pay in an additional jurisdiction. If the balance goes negative, you have remitted more than collected, which could indicate an overpayment or a timing difference.

For automated sales tax compliance, tools like TaxJar and Avalara integrate with both Shopify and your accounting software to automate rate calculation, filing, and payment. These tools cost $19 to $99 per month depending on transaction volume and the number of states where you file. For sellers with nexus in more than three or four states, automated filing saves significant time and reduces the risk of missed filings or incorrect rate calculations. Learn more about setting up sales tax on Shopify.

Recording Third-Party Payment Processors

If you accept payments through processors other than Shopify Payments (PayPal, Amazon Pay, manual payments), those transactions appear in Shopify's order records but are not included in Shopify Payments payouts. You need to record these separately by matching the deposits from each processor against the corresponding orders in your accounting software.

PayPal deposits, for example, arrive in your bank account separately from Shopify payouts. The integration app typically handles PayPal orders by including them in the Shopify sales summary but not in the Shopify Payments payout journal entry. Instead, the PayPal deposit gets matched through your bank feed. Ensure that sales recorded through the integration and sales recorded through the PayPal deposit do not create duplicates. Most integration apps handle this correctly, but verify during your first month of use.

Shopify charges a third-party transaction fee (2% on Basic, 1% on Shopify, 0.5% on Advanced) on all orders processed through non-Shopify payment providers. This fee appears on your Shopify bill, not in the third-party processor's statement. Record it as an additional processing fee expense. If you use a third-party processor frequently, this extra fee adds up and is one of the reasons many sellers switch to Shopify Payments.

Gift Card Accounting

Gift card sales are not recognized as revenue when sold. When a customer buys a $50 gift card, you record $50 as a Gift Card Liability because you owe $50 in future products or services. Revenue is recognized when the gift card is redeemed against an order. At that point, the liability decreases and revenue increases by the redeemed amount.

This distinction matters for tax purposes because recognizing gift card sales as immediate revenue overstates your income in the period of sale and understates it in the period of redemption. The integration app should handle gift card accounting correctly if configured properly. Verify that new gift card sales go to a liability account and that gift card redemptions reduce the liability while increasing sales revenue.

Common Shopify Accounting Mistakes

Recording net payouts as revenue. This is the most common mistake and causes 1099-K discrepancies. Your Shopify 1099-K reports gross payment volume processed through Shopify Payments, not net payouts. Always record gross sales and fees separately.

Double-counting sales. If both your bank feed and your integration app record the same sales, you get duplicate revenue. When using A2X or Synder, match (do not add) bank feed deposits against the integration's journal entries.

Ignoring the Shopify Billing charge. Your monthly Shopify plan, app charges, and any overages appear on a single Shopify bill. If it is deducted from payouts, the integration should record it. If billed to a credit card, categorize it manually when the charge appears. Missing this recurring expense understates your operating costs.

Recording sales tax collected as revenue. Tax collected belongs in a liability account, not revenue. Recording it as revenue inflates your income and creates problems when you file sales tax returns because the numbers will not reconcile.

Not reconciling monthly. Shopify data and accounting data can drift apart due to timing differences, missed transactions, or integration errors. Monthly reconciliation catches these issues before they compound.