Reconcile Shopify Payments in Xero — Payout Matching

🥦

Reconcile Complete

Xero Bank Statement Format
valid rows

Reconcile your Shopify Payments in Xero. Match payout transactions to bank deposits, track fees, and close your books accurately.

Free preview — then from $5. Save with bundles.
Free preview before you pay
Files never leave your browser
No account needed to start

Download Sample

Sample payout transactions CSV

Download

Tool Rating

4.8 / 5 (143 votes)

Reconciliation Questions Answered

How do I set up a Shopify clearing account in Xero?

Create a new bank account in Xero (Accounting → Bank Accounts → Add Bank Account). Name it 'Shopify Payments' and select 'Other' as the account type. This acts as a holding account for Shopify transactions.

Why split out fees separately?

Separating fees lets you track your actual processing costs as expenses. Your revenue is recorded at the gross amount (matching your 1099-K), while fees reduce your profit as expenses rather than reducing revenue.

How do I know if reconciliation is correct?

After processing all transactions and matching all payouts, your Shopify Clearing Account balance in Xero should match Shopify's 'Available Balance' in Settings → Payments. Any difference indicates missing transactions.

How Reconciliation Works

1

Export from Shopify

Orders → Export → Export transaction histories

2

Upload and Configure

Upload Payouts/Transactions CSV and choose Bank Statement format

3

Preview and Download

Review converted data, download Xero-ready file

4

Import to Xero

Accounting → Bank Accounts → Select Account → Import Statement

Discrepancies are highlighted with clear match and mismatch indicators — review differences at a glance.

How People Use This

Stripe batches payouts from 3-5 days of transactions into a single bank deposit. Reconciling that against individual QuickBooks entries was impossible without a breakdown tool. Now I match every deposit to its component charges, refunds, and fees in minutes.

Elliott B.
Stripe Revenue Accountant · B2B SaaS, 800 subscriptions

Shopify Payments bundles 3 days of sales into one payout, and by the time fees are stripped out the deposit never matches the sales total. I was spending 45 minutes per client reconciling clearing accounts manually. Now I import the converted statement, match each payout to its component transactions, and my clearing account zeroes out every time. My CPA signed off on Q3 in half the usual time.

Nadia P.
Xero-Certified Bookkeeper · 8 Shopify clients, 2,000+ orders/month combined

Our bank showed a $4,218.50 deposit from Shopify but we had $4,350 in gross sales for that payout window. The $131.50 difference was fees spread across 87 transactions. Without splitting those fees into separate Xero lines, our month-end variance report was always off and our accountant flagged it every single time.

Gavin R.
E-commerce Operations Manager · Shopify Plus, AU region, $180K/month GMV

One of my clients had a $67 discrepancy that took me two hours to find. A refund processed mid-payout reduced the deposit but the original sale was in the prior period. Importing with payout dates instead of transaction dates solved the timing mismatch completely. I now hit a 99.8% match rate on first pass across all my Shopify clients.

Simone K.
Freelance Bookkeeper · Sole practitioner, 15 Shopify stores

We run three Shopify storefronts across GBP and EUR. Each store generates its own payout schedule with different fee structures. Before the tool, reconciling multi-currency clearing accounts in Xero took our team a full day at month-end. Now we process each store's export separately, import to the right clearing account, and reconcile all three in under an hour. Auditors got clean documentation on the first request.

Darren W.
CFO, Multi-Brand Retailer · 3 Shopify stores, UK and EU regions

Why Shopify Reconciliation Is Challenging

The Aggregated Payout Problem

Shopify deposits aggregated amounts to your bank — multiple sales bundled into single payouts. Your bank shows $2,000 deposited, but that's 50 individual orders minus processing fees. Professional bookkeepers solve this with a "Shopify Clearing Account" that receives individual transactions while your bank receives the aggregated payouts.

How This Tool Helps

We convert Shopify Payout Transactions to Xero bank statement format with fee splitting: individual sales as positive amounts, fees as separate negative amounts, refunds as negatives, and payouts for verification. Import to your Shopify Clearing Account in Xero, then reconcile payouts as transfers. When done correctly, the balance should match Shopify's "Available Balance."

Secure, Private Reconciliation

Row-by-Row Matching

Records matched row by row. Mismatches surfaced clearly for review.

Runs in Your Browser

Both files compared in your browser. Nothing uploaded to any server.

GDPR Compliant

No data stored or transmitted. Full EU privacy compliance.

More credits - more savings

Buy bundles and get up to 60% off. Perfect for recurring monthly conversions.

Field Mapping

How Shopify Transactions fields map to Xero Bank Statement

Shopify Transactions Source Value Xero Bank Statement Target Value Note
Type charge Payee charge Transaction type as payee
Order #1001 Description #1001 Order reference

Why Reconcile Your Data First?

Transaction-Level Detail

Every sale, refund, and fee as individual bank statement lines.

Fee Tracking

Shopify payment processing fees extracted as separate expense rows.

Payout Matching

Match individual transactions to aggregated bank deposits.

Month-End Ready

Clearing account should zero out when all payouts are matched.

Audit Trail

Order numbers preserved for tracking back to Shopify.

Browser Processing

Financial data processed locally. Never sent to external servers.

Data Transformation

Payout transactions aggregate by type, then expand to bank statement lines

Input Shopify Payout Transactions

Multiple rows per payout (charges, refunds, fees, adjustments)

Key columns: Type, Amount, Fee, Net, Payout Date
N:M — Complex transformation
Output Xero Bank Statement Lines aggregated rows per input

Aggregated bank transactions by type for reconciliation

Payout Line Net payout amount deposited to bank
Fee Lines Processing fees as negative amounts (money paid)
Net = Amount - Fee; all amounts balance to bank deposit

Common Bank Statement Import Errors

Issues you might encounter when importing Payouts/Transactions data to Bank Statement - and how we solve them

Invalid Date Format

Xero requires regional date format

Select correct region in processing options

Re-export with correct region setting

Incorrect Amount Sign

Fees should be negative in bank statements

We automatically invert fee signs

Verify amounts during reconciliation

Frequently Asked Questions

Your data never leaves your device. All files are processed entirely in your browser using client-side JavaScript - no data is stored on our servers or sent anywhere. There's no account to hack, no database storing your files, and no API connections to your bank or accounting software. You upload, convert, download, and we forget it immediately.
No payment or signup required. You can upload your file, see a free preview of the conversion results, and verify everything looks correct before paying anything. If it doesn't work for your files, you haven't wasted any money. We only charge when you're satisfied and ready to download the final converted file.
You can, but free scripts and AI often miss edge cases that break real-world data: missing SKUs, currency formatting quirks, tax calculation errors, or date format mismatches. We have battle-tested validators specifically designed for accounting software imports that catch these issues before they corrupt your books. Plus, you get instant browser-based conversion without installing Python or managing dependencies.
Create a new bank account in Xero (Accounting → Bank Accounts → Add Bank Account). Name it 'Shopify Payments' and select 'Other' as the account type. This acts as a holding account for Shopify transactions.
Separating fees lets you track your actual processing costs as expenses. Your revenue is recorded at the gross amount (matching your 1099-K), while fees reduce your profit as expenses rather than reducing revenue.
After processing all transactions and matching all payouts, your Shopify Clearing Account balance in Xero should match Shopify's 'Available Balance' in Settings → Payments. Any difference indicates missing transactions.
Pending payouts haven't been deposited yet. Only reconcile transactions from completed payouts that have actually hit your bank account.
Most businesses reconcile monthly at month-end. Import all transactions from the month, match to bank deposits, and verify the clearing account balance.
Order totals differ from payouts due to payment gateway fees (2.9% + $0.30 per transaction) and Shopify transaction fees (0.5%), which are deducted before money reaches your bank account.
A clearing account is a temporary holding account that tracks Shopify transactions before allocating them to final accounts. It simplifies reconciliation by breaking down batch payouts into individual sales, fees, and taxes.
Yes! Our converter handles multiple Shopify stores by processing each store's payout export separately. Export from each store, convert with our tool, and import to Xero. No third-party apps or subscriptions needed.
Our converter preserves foreign currency amounts from Shopify exports. For multi-currency reconciliation, export each currency separately and import to Xero with the appropriate currency settings. This file-based approach gives you full control without third-party integration fees.
Map sales revenue to an Income account, refunds/discounts to a Contra Income account, and fees to an Expense account (e.g., 'Shopify Fees' or 'Merchant Fees').

Shopify → Xero Data Ecosystem

All available data flows from Shopify to Xero