Taking on new clients for the next close. Book a free books review →

How to reconcile Shopify payouts in QuickBooks or Xero

Your bank shows one deposit from Shopify. Your store sold more than that. This is the method we use to turn each payout back into sales, fees, refunds and tax, and prove it every month, with or without a connector app.

The usual way Shopify income gets into the books is the bank feed. A deposit arrives, someone codes it to sales, and the bank reconciles to the penny. It looks finished. It is wrong in several places at once.

That deposit is a net figure. Shopify has already taken its processing fees, deducted any refunds you issued, pulled back chargebacks and dispute fees, and sometimes held money in reserve. Some of what is left is sales tax or VAT you collected for the government, which was never your income. Book the deposit as sales and your revenue is understated, your fees disappear, your refund rate is invisible and your tax liability is buried inside turnover. It is the first mistake on our list of bookkeeping mistakes we find most often, and almost every online store has it.

The fix is not software. It is a clearing account and a monthly check. Here is how it works.

Why a Shopify payout doesn't match your sales

If you have ever compared a month of Shopify sales with the deposits that reached the bank and found they do not agree, that is normal. These are the reasons.

  • Sales tax, VAT or GST. Charged at checkout and paid out to you with the sale. It belongs on the balance sheet until you remit it.
  • Processing fees. Shopify Payments takes its fee from each transaction before the payout is sent, so the fee never appears as a bill.
  • Refunds. Refunds issued since the last payout are deducted from the next one, whatever month the original sale was in.
  • Chargebacks and dispute fees. When a customer disputes a charge, the payment and the dispute fee come out of your balance.
  • Adjustments, reserves and holds. Corrections, a reserve held against possible disputes, and deductions such as Shopify Capital repayments all change what lands in the bank.
  • Discounts. The customer paid the discounted price, so the payout already reflects it. If you want gross sales and discounts shown separately, those figures come from Shopify's sales reports, not the payout.
  • Other payment methods. A payout only covers Shopify Payments (including Shop Pay). Orders paid through PayPal, gift cards or manual methods never appear in it.
  • Timing. Orders on the last days of a month are often paid out in the next. Payout schedules count business days, and your bank can take another day or more to show the money.

Shopify's own guide to lower or missing payouts lists these deductions, and payout timing explains the schedule. Note what is usually not in the payout: your Shopify subscription and app charges. According to Shopify's billing guide, those go on your Shopify bill and are charged to your payment method, so book them from the bill as ordinary expenses.

Where the numbers come from

You need the platform's own record of each payout, not the bank line. In the Shopify admin the Payouts page (under Finance) lists every payout with its status: scheduled, deposited, failed or withdrawn. Open one and you see the transactions it contains. You can also export balance transactions to CSV, which gives you each transaction's type, order, payout date and status, with Amount, Fee and Net columns. Shopify explains both in viewing and exporting payout details.

For month-end, the most useful document is the Shopify Payments activity report under Finance, then Documents. For any date range it gives a starting balance, gross activity, fees, payouts and an ending balance, with activity grouped into charges, refunds, disputes, adjustments, reserves and holds, and more. That ending balance is what your books will be checked against.

The payout data does not tell you how much of each charge was tax. For that, use Shopify's sales or finance reports for the same period, or the order export.

The clearing account method, step by step

A clearing account is a balance sheet account that holds money you have earned but not yet received. Sales go in at their full value, deductions come out, and the bank deposit empties it. Whatever is left at month-end should be money Shopify genuinely still owes you.

  1. Create one account called "Shopify clearing". A current asset. One per processor: Shopify Payments gets its own, and so does PayPal, Stripe or anything else you take money through.
  2. Create the accounts the payout needs. Sales, refunds (a contra-revenue account so they show next to sales), merchant fees, chargebacks, and your sales tax or VAT liability. Most files already have some of these.
  3. Post each payout's parts, not its total. One journal per payout, or a sales receipt with fee and refund lines, taking the figures from the payout detail. Credit sales and tax, debit refunds, fees and chargebacks, and debit the net to Shopify clearing.
  4. Date the parts by when they happened. If a payout that lands on 2 February contains orders from 30 and 31 January, those orders belong in January. Split the payout at the month-end, or post the pending transactions at the month-end date.
  5. Code the bank deposit to Shopify clearing, never to sales. The deposit moves money from one asset (what Shopify owes you) to another (your bank). It is not income. The income was recorded in step 3.
  6. Reconcile the clearing balance at month-end. Covered in the last section below.

This is the same split described on our ecommerce bookkeeping page: one deposit, opened back into the lines your books need, each posted to the account it belongs in.

A worked example

Illustrative figures. A US store charging 8% sales tax receives one Shopify Payments payout. The fee and dispute amounts are example numbers, not the rates Shopify charges you.

Illustrative figures: one Shopify payout broken into its parts
Payout line (illustrative)Amount
Charges: sales of $8,000.00 plus 8% sales tax of $640.00$8,640.00
Refund: one $300.00 order plus its $24.00 tax($324.00)
Processing fees($262.40)
Chargeback on a disputed order($150.00)
Dispute fee($15.00)
Payout reaching the bank$7,888.60

Coded straight to sales, this month shows revenue of $7,888.60. The store's real sales were $8,000.00, less a $300.00 refund. The fees, the chargeback and $616.00 of tax you owe are nowhere in the books.

The payout journal instead looks like this:

Illustrative figures: journal lines for the payout
Account (illustrative)DebitCredit
Sales$8,000.00
Sales tax payable$640.00
Refunds (contra-revenue)$300.00
Sales tax payable (tax refunded)$24.00
Merchant fees$262.40
Chargebacks$150.00
Merchant fees (dispute fee)$15.00
Shopify clearing$7,888.60
Totals$8,640.00$8,640.00

When the $7,888.60 lands, the bank line is coded to Shopify clearing: debit bank, credit Shopify clearing, and the clearing account for this payout returns to zero. Revenue is $8,000.00 with $300.00 of refunds beside it, $277.40 of fees and a $150.00 chargeback are visible as costs, and the $616.00 of net tax sits in the liability account where your tax return will look for it.

If you win the dispute later, the returned $150.00 arrives in a future payout. Post it back against the chargebacks account, through clearing, in the month it comes back.

QuickBooks Online specifics

Set up Shopify clearing as an Other Current Assets account. Post each payout either as a journal entry or as a sales receipt deposited to Shopify clearing, with negative lines for fees, refunds and chargebacks. When the deposit appears in your bank feed, categorise it to Shopify clearing (or record it as a transfer from Shopify clearing) rather than to an income account.

If you use QuickBooks' sales tax feature, post the taxable sales on a sales receipt with the right tax rate rather than journaling directly to the sales tax liability, so the tax return in QuickBooks picks it up. Check how your file is set up before choosing; your CPA may have a preference.

Xero specifics

Set up Shopify clearing as a Current Asset account. Some bookkeepers set it up as a bank account instead, so Xero gives it its own reconciliation screen; either works if you are consistent. Post each payout as a manual journal or as a receive money transaction into the clearing account, and when the deposit comes through the bank feed, code it to Shopify clearing or reconcile it as a transfer.

If you are VAT or GST registered and file from Xero, put the tax rate on the sales and refund lines so the return includes them. A journal straight to the VAT account will not appear on the return.

PayPal, Stripe and Shop Pay Installments

The method is the same for every processor: its own clearing account, its own payout report as the source, and its own month-end check. PayPal and Stripe each pay out on their own schedule and hold their own balances, so they must not share Shopify's clearing account, even when the orders come from the same store.

Shop Pay Installments is simpler than it looks. Shopify says you are paid the full order amount, less a higher transaction fee, in your normal Shopify Payments payout, and Affirm carries the risk if the customer stops paying (see getting paid for Shop Pay Installments). So it goes through Shopify clearing like any other charge, with a larger fee line.

Connector apps: when they are worth it

A2X, Link My Books, Synder and similar apps read Shopify's payout data and post a summarised entry for each payout into QuickBooks or Xero, usually through a clearing account. They do automatically what the steps above do by hand.

For a store with a handful of payouts a month and simple tax, the manual method takes minutes and costs nothing. Once you have daily payouts, several currencies, tax in many jurisdictions or more than one sales channel, an app usually pays for itself in time saved.

What an app does not do is check itself. It posts whatever its mapping tells it to, and a mapping set up wrongly on day one will be wrong every month after. Someone still needs to agree the clearing balance to Shopify, look at fee and refund levels against last month, and catch the payout the app missed. An app changes who does the data entry. It does not remove the review.

The month-end check

This is the part that turns bookkeeping into a reconciliation. On the last day of the month, the balance on Shopify clearing should equal the money Shopify owed you at that date: the Shopify Payments balance (the ending balance on the activity report), plus any payout that had been sent but had not yet reached your bank. Call it payouts in transit.

A residual that does not match is telling you something specific:

  • A clearing balance that grows every month usually means deposits are being coded somewhere other than clearing, or a payout was posted twice.
  • A negative balance usually means a deposit was coded to clearing but its payout journal was never posted.
  • A difference equal to one payout points to a missing or duplicated payout. Match the list of payouts to the journals one by one.
  • A small, odd difference is often a reserve, an adjustment or a currency conversion that was not posted.

Do not write the difference off to sundry income or expense to make it go away. A clearing account that is forced to zero proves nothing. This check sits in step 3 of our month-end close checklist, and it is the step that lets you say your revenue figure is right rather than hope it is.

Common questions

Why doesn't my Shopify payout match my sales?

Because the payout is net. Shopify deducts processing fees, refunds, chargebacks, dispute fees and any reserve before sending it, and the amount includes sales tax you collected. Orders paid by PayPal or gift card are not in it at all, and orders at the end of a month are often paid out in the next. Each of those needs its own line in the books.

Should I record the Shopify deposit as sales?

No. Record the full sales, tax, fees, refunds and chargebacks from the payout detail against a Shopify clearing account, then code the bank deposit to that clearing account. Recording the deposit as sales understates revenue, hides your fees and mixes tax you owe into income.

Do I need A2X or another app to reconcile Shopify payouts?

Not always. A store with a few payouts a month can post each one by hand in minutes. An app earns its fee when you have daily payouts, several channels or currencies, or complex tax. Either way, the clearing account still needs checking against Shopify every month.

What should the Shopify clearing account balance be at month-end?

The money Shopify owed you at that date: the Shopify Payments balance on the activity report, plus any payout sent but not yet in your bank. If it is higher, lower or growing month on month, a payout or deposit has been missed, duplicated or coded to the wrong account.


Written by Pro Bookkeepers and reviewed by an ACCA-qualified accountant. General guidance only, not tax or accounting advice for your specific circumstances. Shopify features and menus change; the links above go to Shopify's current help pages.