Reconcile Shopify payments in Xero, step by step
Reconciling Shopify Payments in Xero means one journal entry per payout that splits gross sales, fees, refunds and GST. The step-by-step method.
The short answer: You reconcile Shopify Payments in Xero by creating a Shopify clearing account, then posting one journal entry per payout that splits gross sales, fees, refunds, and GST. Match that journal to the bank deposit and your Xero balance agrees with Shopify's reports. The method handles payouts relatively quickly once it's set up, and it handles refunds, chargebacks, and split deposits without guesswork. Skip the clearing account and you'll chase pennies forever, because Shopify reports gross sales while your bank receives a net deposit.
If you've launched a store using our Shopify Australia: set up your store step by step guide, reconciling payments is the next wall you hit. Heads up: this guide uses Shopify affiliate links. Sign up through one and we are paid a commission, and you pay exactly the same as you would otherwise. You can start at https://www.shopify.com/au.
Shopify plans, pricing and features change; always verify the current details on shopify.com before deciding.
The core problem is simple. Shopify's payout report lists every sale at its gross value, including GST. Your bank receives a single net deposit after fees and refunds are deducted. Matching those two numbers line by line is how sellers end up with months of unreconciled transactions.
Why Shopify's numbers never match Xero's
Shopify batches payouts. According to Shopify's Help Center documentation, payouts are deposited on a set schedule, not per order. Your bank sees one lump sum. Shopify's payout report sees dozens of individual transactions at their gross value, plus fee deductions, plus refund reversals.
That gap is the whole problem. Gross sales do not equal net deposits. They never will.
Xero's bank feed brings in the net deposit. If you try to match that deposit against individual Shopify orders, you're reconciling apples against a fruit salad. The deposit is one number. The orders behind it are many numbers, and they add up to something different.
A clearing account fixes this. It's a holding account in your Xero chart of accounts where gross sales land temporarily. Fees, refunds, and GST are posted against it. What's left should equal the bank deposit exactly. When it does, you match the clearing balance to the bank transaction and the reconciliation closes.
This is why reconciliation is a journal entry exercise, not a matching exercise. You're not finding a transaction that matches. You're building the number that matches, from its components, and then matching that. The Shopify Payments in Australia: fees and setup guide covers how fees are calculated on Australian plans. For reconciliation, what matters is that fees appear as a separate line in the payout report.
Set up a Shopify clearing account in Xero
Create the clearing account first. In Xero, go to Accounting, then Chart of accounts, then Add account. Choose a current asset account. Name it something unambiguous: "Shopify Payments clearing" works well.
Set the account type to current asset. A clearing account should never carry a balance for long. Money lands there when sales are recorded and leaves when the payout hits the bank. If it reads zero after each payout, you've done it right.
Next, map your GST. The Australian Taxation Office (ATO) sets out GST as 10% on taxable sales. In Xero, your sales account should use the "GST on Income" tax rate. When you post sales with that code, Xero splits the GST component automatically. Our GST on your Shopify store: an Australian guide walks through how GST flows through your store in more detail.
You need four accounts minimum in your chart of accounts for this to work:
- Sales revenue — income account, GST on Income. Where net sales land.
- GST payable — current liability, GST on Income. Where the 10% sits until you lodge your BAS.
- Merchant fees — expense account, GST-free. Where Shopify Payments fees are recorded.
- Shopify Payments clearing — current asset, GST-free. The holding account that bridges everything.
Refunds need an account too. Create a sales returns account (income, GST on Income) so the GST component reverses correctly. Xero's help centre describes chart of accounts setup in detail if you haven't created accounts before.
Name your accounts clearly. "Shopify fees" beats "Bank charges." "Online sales" beats "Sales." When you're posting journals at speed, unambiguous names save you from posting to the wrong line.
Connect your bank feed and find the payout
If you haven't connected a bank feed yet, go to Banking, then Bank accounts, then Add bank account in Xero and follow the prompts for your Australian bank. Xero's help centre describes bank feed setup for each major institution.
Once the feed is live, Shopify Payments deposits appear automatically. They'll show as a single transaction, typically labelled "SHOPIFY PAYMENTS" or similar. The amount is the net payout, after fees and refunds.
Before reconciling, download the payout report from Shopify. In your Shopify admin, go to Finances, then Payouts. Each payout has a detailed breakdown showing gross sales, refunds, fees, adjustments, and the net amount transferred. This report is your source document.
Match the payout date in Shopify to the transaction date in Xero's bank feed. They won't always be the same day. Shopify initiates the transfer and your bank receives it a day or two later. Use the bank transaction date for the Xero side. The dates don't need to match for reconciliation to work, as long as the amounts do.
Reconcile one payout as a journal entry
This is the core step. Everything else is setup or troubleshooting.
Here's a worked example. Your Shopify payout report shows gross sales including GST. GST), refunds of A$150, and Shopify Payments fees of A$40. The net payout to your bank is A$2,010.
The journal entry that rebuilds that deposit:
| Account | Debit | Credit |
|---|---|---|
| Bank (or clearing) | A$2,010 | |
| Refunds | A$150 | |
| Merchant fees | A$40 | |
| Sales revenue | A$2,000 | |
| GST payable | A$200 |
Debits total A$2,200. Credits total A$2,200. The entry balances. Sales revenue is A$2,000 because that's the GST-exclusive portion: A$2,200 ÷ 11 = A$200 GST, leaving A$2,000 net. Xero calculates this automatically when you apply GST on Income to the sales line.
The steps, in order:
- Download the payout report from Finances, then Payouts in your Shopify admin.
- Create a manual journal in Xero under Accounting, then Manual journals.
- Post the bank line as a debit for the net payout amount.
- Post fees as a debit to merchant fees, GST-free.
- Post refunds as a debit to your refunds account, GST on Income.
- Post sales as a credit to sales revenue, GST on Income. Xero splits the GST.
- Check the journal balances, then match it to the bank transaction in the Reconcile tab.
Suggested journal entry template (copy and adapt):
Description: Shopify Payments payout [date]
Reference: SP-[payout ID]
Dr Bank / Shopify clearing [net payout]
Dr Merchant fees [fees from report]
Dr Refunds [refunds from report]
Cr Sales revenue [gross sales ÷ 1.1, GST on Income]
Cr GST payable [gross sales ÷ 11]
Once the journal is posted and matched, that payout is done. The clearing account should read zero. If it doesn't, something in the report doesn't match what you posted.
Handle refunds, chargebacks, and gift cards
Refunds appear as negative amounts in the payout report. Post them as a debit to your refunds account with GST on Income, so the GST component reverses correctly. The Australian Competition and Consumer Commission (ACCC) sets out consumer guarantee obligations that may apply when customers return goods, but the accounting treatment is the same regardless of the reason.
Chargebacks are messier. A chargeback fee may appear separately from the reversed sale. Post the fee to merchant fees (GST-free) and the reversed amount to refunds (GST on Income). Shopify's Help Center documents how chargebacks appear in payout reports.
Negative payouts happen. If refunds and chargebacks exceed sales in a period, Shopify debits your bank instead of depositing. The journal still works, but the bank line becomes a credit. Match it to the debit transaction in Xero the same way.
Gift cards add another layer. When a customer buys a gift card, it's a liability, not revenue. Post gift card sales as a credit to a gift card liability account (current liability). When the card is redeemed, recognise the revenue then. Shopify's Help Center explains how gift card sales appear in payout reports. You'll need a separate liability account for them in your chart of accounts.
Fix a payout that won't match
The journal doesn't balance. Usually a number in your entry doesn't match the payout report. Re-download and check each line. A common culprit is rounding. Shopify rounds per transaction, and totals may differ by a cent or two from your calculation. Adjust the fees line by the difference.
The payout is split across two deposits. Occasionally Shopify splits a payout into two transfers. Post two journal entries, each matching one deposit, splitting the sales and fee breakdown proportionally. Or post one journal to the clearing account and match each deposit separately.
The transaction is already reconciled. If a payout was matched to the wrong transaction, unreconcile it in Xero first. Xero's help centre describes how to remove a reconciliation from the Reconcile tab. Then redo the journal entry and match it correctly.
The bank feed is missing the deposit. Feeds occasionally drop transactions. If the payout appears on your bank statement but not in Xero, add the transaction manually in Bank transactions and reconcile from there.
The clearing account has a lingering balance. If it doesn't return to zero, you've missed a component. Check for adjustments, currency conversion fees, or other potential deductions from payouts. Each needs its own line in the journal.
When manual reconciliation stops being enough
Manual reconciliation works up to a point. One payout a week, ten minutes each, is manageable. Frequent payouts with hundreds of orders becomes a real time sink, and transcription errors grow with volume.
Xero's native Shopify integration exists but has limitations. It syncs orders without always splitting fees, refunds, and GST in the way this method does. For stores doing meaningful volume, a dedicated reconciliation tool fills the gap.
Here's how the options compare. We don't test products. We cite public documentation and pricing published on each vendor's website, which you should verify directly.
| Method | Monthly cost (AUD) | Setup effort | Automation level | Our verdict |
|---|---|---|---|---|
| Manual journal entries | A$0 | Moderate, learn once then repeat | None, you post every entry | Best under roughly 50 orders a month or A$50k in sales |
| Link My Books | See vendor website | Low, guided wizard | High, splits each payout automatically | Worth it once manual takes over an hour per payout |
| Synder | See vendor website | Low, OAuth connection | High, syncs in near real time | Strong if you use multiple payment gateways |
| Amaka | See vendor website | Low to moderate | Medium, pre-mapped templates | Good middle ground for partial automation |
Our take: Manual reconciliation is free and teaches you the accounting logic, which matters when something breaks. Our call is simple. Once you're spending more than an hour a week on payout journals, a tool like Link My Books or Synder pays for itself. The same goes once you process more than two payouts a week: the time saved and the errors avoided cover the subscription. Smaller stores should learn the manual method first, even if they later automate, because you need to understand the structure to troubleshoot it.
For stores running Shopify POS alongside online sales, the process is identical. POS sales appear in the same payout report, so one journal entry covers both channels.
Frequently asked questions
How do I create a Shopify clearing account in Xero from scratch?
Go to Accounting, then Chart of accounts, then Add account in Xero. Set the type to current asset, name it "Shopify Payments clearing," and leave the tax rate as GST-free. The clearing account is a holding pen, not a revenue account. GST is applied on the individual sales and refund lines in your journal entry, not on the clearing account itself.
How do I fix a Shopify payout that was already reconciled incorrectly?
Find the transaction in Xero's Bank transactions tab and use the Remove reconciliation option. Delete or reverse the incorrect journal, post a corrected one, and match it again. If the error spans a period where you've already lodged a BAS, talk to your accountant before reversing entries that affect GST.
How do I reconcile Shopify Payments if I use Shopify Balance?
Shopify Balance holds payouts within Shopify, so there's no Australian bank transaction to match. Treat the Shopify Balance account as a bank account in Xero, import transactions via CSV, and reconcile transfers out to your bank using the same journal entry method. The structure is identical, only the source of the bank feed changes.
How do I reconcile Shopify POS sales separately from online sales in Xero?
You don't need separate journal entries. POS and online sales appear in the same payout report and the same bank deposit. One journal covers both. If you want to track them separately for reporting, use Xero tracking categories on the sales revenue line, splitting the credit between "Online" and "POS" while keeping a single bank debit.
What should I do if one Shopify payout is split across multiple bank deposits?
Post one journal entry to the clearing account for the full payout, then match each bank deposit against the clearing balance separately. This is cleaner than splitting the calculation, because you only work out the sales and fee breakdown once. The clearing account absorbs the timing difference between the two deposits.
Can you show me the full journal entry for a Shopify payout, including fees, refunds, and tax?
For a payout with A$2,200 gross sales (incl. GST), A$150 refunds, and A$40 fees: debit bank A$2,010, debit refunds A$150, debit merchant fees A$40, credit sales revenue A$2,000 with GST on Income, and credit GST payable A$200. Both sides total A$2,200. The A$2,010 bank debit matches the net deposit in your feed.
Sources
- Australian Taxation Office, "GST for small business". https://www.ato.gov.au/business/gst/gst-for-small-business — checked on 28 August 2026.
- Australian Competition and Consumer Commission, "Consumer guarantees". https://consumer.gov.au/consumer-guarantees — checked on 28 August 2026.