How to Reconcile Shopify Payouts in Xero: A Guide
Last verified: May 2026
Key takeaways
- Shopify payouts are net deposits — fees, refunds, and chargebacks come out before the money hits your bank, so they'll never match your gross sales figure in Xero without proper reconciliation.
- There are four ways to reconcile: manual export/import, Xero's native Shopify app, a connector tool, or a managed service like Ceendesis Accounting.
- Accurate reconciliation means splitting each payout into sales, fees, refunds, and taxes — and mapping each to the right Xero account.
- Multi-currency stores need a Xero plan that supports multi-currency before any method will work cleanly.
- A clearing account keeps your books tidy and your reconciliation traceable — use one.
Here's the problem most Shopify sellers hit within their first month of using Xero: the payout that lands in your bank account doesn't match anything in your sales reports. That's not a bug. Shopify payouts are net deposits — Shopify deducts transaction fees, processing fees, refunds, and chargebacks before sending the money. A £5,000 sales day might produce a £4,800 payout, and unless Xero knows about the £200 difference, your books are wrong from day one.
Reconciling that gap means breaking each payout down into its components — gross sales, Shopify fees, refunds, taxes — and posting each piece to the correct account in Xero. Add multi-currency orders, partial refunds, and app fees and it gets messy fast. Still solvable, though, and this guide covers every method available in 2026.
Unreconciled payouts compound. Leave one month's mess unresolved and you're cleaning up two months next time. For anyone running a 7-figure DTC operations stack or a lean solo operation, getting this right early is the kind of unsexy decision that saves you a very painful audit conversation later.
Before you start
- Active Shopify store with admin access
- Active Xero organisation with appropriate user permissions
- A Xero subscription plan that supports multi-currency if you sell internationally
- Chart of accounts set up in Xero to handle sales, fees, refunds, and taxes
That last point matters more than it sounds. Your chart of accounts structure directly affects your reporting accuracy. At minimum, you want dedicated accounts for: Shopify Sales, Shopify Fees, Shopify Refunds, and a Shopify Clearing Account. The clearing account is where the work happens — it receives the gross payout breakdown and nets to zero once the bank deposit is matched. It's a standard e-commerce bookkeeping principle, and it keeps everything traceable.
Methods at a glance
| Method | Setup time | Ongoing maintenance | Best for |
|---|---|---|---|
| Manual export/import | 1–2 hours | High — monthly manual work | Very low volume stores, one-off clean-ups |
| Xero native app | 30–60 minutes | Low — runs automatically | Simpler stores, single currency, no heavy fee tracking |
| Connector tool | 1–3 hours | Low — mostly set-and-forget | Stores needing granular fee/COGS/tax breakdown |
| Ceendesis Accounting | Handled for you | None — fully managed | Multi-channel brands (Shopify + Amazon/eBay/Walmart) wanting zero internal overhead |
Method 1: Manual export/import
The brute-force approach. Shopify's payout reports, a spreadsheet, and manual journal entries in Xero — nothing else. The time cost grows with every payout, so if you're processing more than a handful per month this will eat your week. Use it to understand what reconciliation actually involves, or as a stop-gap while you get something better configured. Honestly, doing this manually once is worth it — you'll understand the numbers in a way that makes every automated method easier to trust.
- Export your payout report from Shopify. In Shopify Admin, go to Finances > Payouts. Select a payout and click Export to download the transaction-level CSV. This file lists every order, refund, adjustment, and fee included in that payout. Expected result: a CSV with line-level transaction data.
- Reconcile the CSV totals. Sum the gross sales, subtract all fees (transaction, processing, app), subtract refunds, and verify the net matches the bank deposit figure. If they don't match, look for chargebacks or reserve deductions in the Shopify Payments section of your admin. Expected result: a confirmed net figure that matches the bank deposit.
- Create a manual journal entry in Xero. In Xero, go to Accounting > Journal entries > New journal. Debit your Shopify Clearing account for the gross sales amount. Credit individual accounts for fees, refunds, and taxes. The clearing account balance should then equal the net payout. Expected result: the journal entry posts without errors and the clearing account balance matches the bank deposit.
- Match the bank deposit in Xero. Go to Accounting > Bank accounts, find the Shopify payout deposit, and match it to the clearing account entry. Expected result: the transaction is reconciled and the clearing account nets to zero for that payout period.
- Repeat for each payout. Shopify typically pays out on a rolling schedule — daily if you're on Shopify Payments. That means this process repeats frequently. Consider batching by week or month if volume is low.
You can also sync Shopify orders to Google Sheets first if you want running summaries before touching Xero — useful for brands doing their own month-end checks.
Method 2: Xero's native Shopify app
Xero builds and maintains an official Shopify integration — the Shopify Integration by Xero. It connects the two platforms directly and handles the most common sync scenarios automatically. Think of it as a transaction pipe rather than a full accounting engine — clean, functional, but deliberately simple. For straightforward stores it removes most of the manual work. The Shopify Help documentation and Xero Central setup guide both cover the connection steps in detail.
- Install the Shopify Integration by Xero from the Xero App Store. In Xero, go to App Store and search "Shopify Integration by Xero". Click Get this app. Expected result: you're redirected to an authorisation screen.
- Connect your Shopify store. Enter your Shopify store URL and click Connect. Authenticate with your Shopify admin credentials when prompted. Expected result: the integration dashboard shows your store as connected.
- Map your accounts. The integration will ask you to map Shopify transaction types (sales, fees, refunds, taxes, shipping) to Xero accounts. Match these to the accounts you set up in your chart of accounts. Each transaction type needs its own account — generic mappings produce messy books and harder month-ends. Expected result: each transaction type has a corresponding Xero account, with nothing left unmapped.
- Set your sync start date. Choose the date from which you want transactions to sync. Don't pick a date before your Xero organisation start date. Expected result: only transactions from your chosen date forward will be imported.
- Run the initial sync and review. Let the integration import your first batch of transactions. In Xero, go to Accounting > Bank accounts and review the imported items against your actual bank feed. Expected result: Shopify payouts appear as matched or suggested matches in your bank reconciliation screen.
- Reconcile remaining unmatched items. The native app summarises transactions — it may not split every fee line individually. For any unmatched items, create manual adjustments or journal entries as needed. Expected result: all payout-period items reconcile cleanly.
Method 3: Connector tool
For stores that need granular control — per-fee-type categorisation, COGS tracking, tax jurisdiction splitting, or multi-currency payout handling — a dedicated connector tool does what the native app doesn't. These tools sit between Shopify and Xero, parse the raw transaction data, and post categorised entries to Xero automatically. They're particularly useful if you're running multiple fulfilment and shipping workflows with variable fee structures.

- Choose and install a connector app. Search the Xero App Store or Shopify App Store for apps that specifically handle Shopify-to-Xero payout reconciliation. Look for ones that explicitly support payout-level (not just order-level) syncing, and that handle fees, refunds, and chargebacks as separate line items. Expected result: the app is installed in both your Shopify admin and your Xero organisation.
- Authorise both platform connections. The connector will ask you to authenticate with both Shopify and Xero. Grant the required permissions — typically read access to Shopify Payments data and write access to Xero bank transactions and journal entries. Expected result: both connections show as active in the connector dashboard.
- Configure your account mapping. Map each transaction category the connector identifies (gross sales, transaction fees, processing fees, refunds, partial refunds, chargebacks, adjustments, gift cards) to your corresponding Xero accounts. Specific mappings matter here — every category needs a dedicated Xero account target, not a catch-all. Expected result: every category has a dedicated Xero account target.
- Set up your clearing account workflow. Configure the connector to post gross transaction amounts to your Shopify Clearing account and the net deposit to your bank account. The clearing account should zero out with each payout cycle. Expected result: the clearing account balance matches the outstanding payout at any point in the cycle, and zeros on deposit.
- Enable multi-currency settings if applicable. If you process orders in multiple currencies, configure the connector to use Xero's exchange rate or a fixed rate per payout. Make sure your Xero plan supports multi-currency before enabling this. Expected result: foreign-currency transactions post with the correct exchange rate and conversion fees are captured separately.
- Review the first automated sync. After the connector processes its first payout, cross-reference the Xero entries against your Shopify Payments payout report. Expected result: every line in the payout report maps to a corresponding Xero entry, and the totals match to the penny.
Method 4: Ceendesis Accounting
Ceendesis Accounting is a fully managed reconciliation service built for multi-channel e-commerce brands. Rather than giving you another tool to configure and maintain, it handles the entire reconciliation process — parsing settlement flat files from Shopify (and Amazon, eBay, and Walmart if you sell there too), splitting payouts into their components, and posting clean, categorised entries into Xero or QuickBooks. If you're running Shopify alongside Amazon, the per-channel COGS tracking and tax engine are particularly useful — you get one consolidated view without manually aggregating two separate workflows. Worth noting: Ceendesis Accounting is built around Xero and QuickBooks. There's no Sage support yet, so if your organisation runs on Sage, this isn't your method.
- Contact the Ceendesis team. Visit ceendesis.com/accounting and submit an onboarding enquiry. A team member will confirm scope (which channels, which accounting platform, historical data requirements). Expected result: a confirmed onboarding scope and start date.
- Grant read access to your Shopify Payments data. You'll be asked to provide API credentials or grant a staff account with the necessary permissions. Ceendesis uses Shopify's SP-API for full settlement flat-file parsing. Expected result: the team confirms data access is working and can pull historical payout data.
- Review and approve your account mapping. Ceendesis will propose a chart of accounts mapping based on your existing Xero setup — or help you build one if it's not yet structured for e-commerce. You review and approve before anything posts to Xero. Expected result: a signed-off mapping document covering sales, fees, refunds, taxes, and any channel-specific adjustments.
- Validate the first reconciliation run. Ceendesis processes an initial batch and shares a reconciliation summary for your review. Cross-check against one or two Shopify payout reports manually to confirm accuracy. Expected result: every payout in the test batch matches the bank deposit, with all components categorised correctly.
- Hand off ongoing reconciliation. Once the initial run is validated, Ceendesis handles the process on your agreed cadence (weekly or monthly). Expected result: Xero is updated without you touching it, and your books are reconciliation-ready at month end.
Common errors and how to fix them
Timing mismatches between payout dates and bank deposit dates
Shopify processes payouts on a rolling schedule, but the deposit may take one to three business days to clear in your bank. This creates a gap: the payout is "sent" on Monday but appears in your bank on Wednesday. If you're matching on date in Xero, the entries won't align. Fix: use the actual bank deposit date (not the Shopify payout date) as your Xero transaction date, or use a clearing account that absorbs the timing difference. Don't force a date match — let the clearing account do the work.
Shopify fees not categorised correctly
Transaction fees, payment processing fees, and app subscription fees are all different things — but they're often lumped together or missed entirely. Each type should map to a distinct Xero account so you can see what you're actually paying Shopify. If you're using the native app and fees aren't splitting correctly, check your account mapping configuration. If you're doing this manually, cross-reference the payout CSV's "fee type" column against your journal entries.
Refunds and chargebacks netted from payouts cause reconciliation gaps
A chargeback or refund in the same payout period reduces the net deposit — but if your Xero entries only record gross sales and fees, the bank deposit won't match. Fix: post refunds and chargebacks as separate negative entries (or credits) to your sales account, not absorbed silently into the net figure. If you're using a connector tool, verify it handles partial refunds as well as full refunds — partial refunds are a common gap. For managing the upstream returns process, the best Shopify returns apps can help reduce the volume of manual refund adjustments you're dealing with in the first place.
Multi-currency exchange rate discrepancies
If you accept orders in USD, EUR, or other currencies but your Xero organisation's base currency is GBP, the exchange rate Shopify uses at time of sale may differ from the rate Xero applies when you import transactions. That difference creates small variances that won't reconcile cleanly. Fix: decide on a consistent exchange rate source — either Xero's daily rate or a fixed monthly rate — and apply it uniformly across all entries for the period. Document your policy so your accountant knows what to expect. This is one area where a connector tool or managed service earns its keep, since they handle rate normalisation automatically.
Frequently asked questions
How do I account for Shopify fees in Xero?
Create dedicated Xero accounts for each fee type — transaction fees, payment processing fees, and subscription/app fees — then map them separately during reconciliation. Whether you're doing this manually via journal entry or using a connector tool, each fee type should post to its own account so your P&L reflects actual Shopify costs accurately, not a single blended "Shopify expense" line.
Why are my Shopify payouts not matching my sales?
Because Shopify payouts are net deposits — Shopify deducts fees, refunds, chargebacks, and any reserve amounts before the money reaches your bank. A day's gross sales and the resulting payout will almost never be the same figure. Reconciliation means accounting for all those deductions explicitly, not finding a way to make the two numbers match directly.
Does Xero integrate directly with Shopify?
Yes — Xero maintains an official native integration called "Shopify Integration by Xero", available from both the Xero App Store and the Shopify App Store. It handles basic transaction syncing but isn't designed for granular fee-level reconciliation — for that, a connector tool or managed service gives you more control.
How do I automate Shopify reconciliation in Xero?
Three routes: use the native Xero-Shopify app for a basic set-and-forget sync, use a dedicated connector tool for granular automated categorisation, or use a managed service like Ceendesis Accounting if you want zero internal overhead. The right choice depends on how complex your fee structure is and whether you're reconciling Shopify alone or alongside other channels like Amazon.
Which method should you use?
Start manual. Once. It's tedious — genuinely — but you'll finish knowing exactly what the numbers mean, what the fees represent, and where reconciliation gaps actually come from. That knowledge is worth far more than the two hours it takes. After that, setting up automation stops being an act of faith.
For most single-channel Shopify stores with straightforward fee structures, Xero's native integration is probably enough — quick to set up, low maintenance, covers the common cases. But if you're seeing persistent reconciliation gaps, dealing with heavy refund volumes, or selling in multiple currencies, a connector tool will save you hours of monthly debugging.
And if you're running Shopify alongside Amazon, eBay, or Walmart — or you simply don't want to own the reconciliation process at all — the managed approach makes more sense. Particularly for brands building out a broader EU expansion operations stack, where channel complexity and tax obligations stack up quickly, having clean per-channel financials in Xero from day one is worth more than the cost of maintaining it yourself. If you're also syncing data across other systems, our guides on connecting Amazon Seller Central to Google Sheets and connecting Amazon to QuickBooks cover the adjacent workflows.