Xero integrations: Stripe, GoCardless, Shopify—reconciliation and fees handling
If you take card payments, collect Direct Debits, or sell through an online store, Xero integrations can save you a lot of time. But they can also create that classic headache where your sales look right, your bank looks right, and yet nothing ties up.
Most of the confusion comes down to 3 things:
- Sales don’t equal cash (because payouts are delayed)
- Fees are taken “in the middle” (so the bank deposit is usually net)
- Refunds and chargebacks land later (and can hit a different payout)
Once you build a simple structure in Xero, Stripe, GoCardless, and Shopify become predictable — and your reconciliations stop being a monthly guessing game.
If you want help setting this up cleanly (or fixing a messy file), this is exactly what Xero Bookkeeping is for.
The golden rule: use a clearing account for each provider
The cleanest way to handle payment platforms is to treat each one like a “mini bank” inside Xero:
- Stripe clearing account
- GoCardless clearing account
- Shopify Payments clearing account (or another gateway clearing account if you use PayPal/Klarna etc.)
Your workflow becomes:
- Record gross sales (what the customer paid)
- Record provider fees (what the platform charged you)
- Reconcile payouts (the net cash that hits your bank)
- Track refunds/chargebacks (often days/weeks later)
This approach makes your bank rec straightforward because your bank deposit matches the payout, and your clearing account shows exactly where any “in transit” money is sitting.
If you want a practical walkthrough of rules, matching, and common errors, the process in Xero bank reconciliation like a pro is a good reference point.
Stripe + Xero: payouts, fees, and why the bank never matches your daily sales
Stripe is usually simple operationally, but it confuses people because Stripe settles net of fees (and sometimes net of refunds).
A tidy Stripe setup in Xero
1) Create a dedicated Stripe “bank account” (clearing account) in Xero
Many businesses do this through the Stripe/Xero connection, or by importing Stripe transactions. The goal is the same: Stripe activity flows into Stripe clearing, not directly into your main bank.
2) Reconcile customer payments and Stripe fees inside the Stripe clearing account
If you’re taking payment for Xero invoices, you want the Stripe transactions to pay the invoice, then post the Stripe fee as a separate cost.
3) Reconcile the payout as a transfer to your real bank account
When Stripe pays out, you match the Stripe payout to the bank deposit. That’s the moment your clearing account “empties” into your bank.
Stripe mistakes that create messy reconciliations
- Posting Stripe payouts straight to “Sales” (you’ll understate sales and hide fees)
- Reconciling fees as random “adjustments” (you lose visibility on payment costs)
- Not capturing refunds/chargebacks consistently (your revenue and VAT reporting can drift)
If you’re trying to standardise the process across a growing team, it helps to use repeatable rules and automation. This is what Automations in Xero is aimed at — fewer manual decisions, fewer errors.
GoCardless + Xero: Direct Debits, timing differences, and fee posting
GoCardless is brilliant for predictable collections (memberships, retainers, monthly invoices), but the timing can catch you out because “paid” and “received” don’t always happen on the same day.
A clean GoCardless workflow
1) Raise invoices in Xero as normal
Keep debtor control in Xero so your reporting stays reliable.
2) Treat GoCardless as a clearing account in Xero
When a customer pays via GoCardless, Xero can record the invoice payment and the GoCardless fee into the GoCardless clearing account.
3) Reconcile payouts to your bank
GoCardless then pays out to your bank. You match that deposit to the payout/transfer.
Don’t ignore failed payments
The biggest hidden issue with Direct Debits is failed collections that quietly build up. If you’re not reviewing exceptions, you can think cash flow is “sorted” when it’s not.
A good rhythm is weekly reconciliation plus a structured close each month. The month-end checks in Month-end in Xero are ideal for this because they push you to clear suspense and reconcile control accounts.
Shopify + Xero: orders, VAT, refunds, and multiple payment methods
Shopify adds complexity because it’s not just payments. You’ve got:
- Orders and payments
- Discounts and gift cards
- Shipping income
- Refunds and returns
- Potentially multiple gateways (Shopify Payments, PayPal, Klarna, etc.)
The key decision is how detailed you want Xero to be:
- Per-order posting (more detail, higher volume)
- Daily/weekly summary posting (cleaner file, still accurate)
For many UK businesses, summary posting is the sweet spot: you get reliable numbers without cluttering your Xero file.
What to get right with Shopify
1) Separate sales from payouts
Your Shopify sales report won’t match your bank deposits because deposits are net of fees and timing differences.
2) Build refunds into the process
Refunds can land days later. If you don’t post them properly, you’ll overstate revenue and you can create VAT issues.
3) Keep VAT settings correct in Xero
Shopify can calculate VAT at checkout, but your VAT reporting needs to be right in Xero, with a clean digital audit trail. If you’re VAT registered, it’s worth reviewing your setup using VAT in Xero and getting support where needed via VAT Return Services.
Fees handling: how to record Stripe, GoCardless, and Shopify costs (including VAT treatment)
Most businesses want fees to be:
- visible (so you can see what payments really cost)
- consistent (so reports compare month to month)
- easy to reconcile (so you’re not “plugging” differences)
A practical setup is:
- Create an expense account like Merchant fees
- Post each provider’s fees there (Stripe fees, GoCardless fees, Shopify/Shopify Payments fees)
- Consider tracking by channel so you can see which platform is costing you most
If you want cleaner reporting across channels, Xero’s tracking can help. FHP’s guide on Xero Projects and tracking categories is useful if you want to split fees by “Stripe vs GoCardless vs Shopify” or by sales channel.
VAT on fees (what usually applies in the UK)
This is one area where “don’t assume” matters, because different providers handle VAT differently.
- GoCardless fees: GoCardless charges UK VAT at the standard rate (currently 20%) on its fees for UK merchants, so you’ll usually see VAT on GoCardless fee invoices/charges.
- Stripe fees: Stripe often bills UK businesses from its Irish establishment and shows £0 VAT on invoices with a note that reverse charge VAT may apply (commonly relevant if you’re VAT registered).
- Shopify fees: Shopify’s subscription/transaction fees are often billed from Ireland, so for VAT-registered businesses the reverse charge is commonly the correct treatment. For Shopify Payments processing fees specifically, Shopify indicates VAT isn’t charged on those fees for UK businesses, so you may not see VAT applied on the fee itself.
If you’re unsure, the safest approach is: check the provider invoice and match your Xero VAT treatment to what the invoice and your VAT status require.
Why getting this right pays off (beyond “tidy bookkeeping”)
When your integrations are set up properly, you can:
- see your true margin after payment fees
- forecast cash flow with confidence (because you understand payout timing)
- reduce VAT reporting risk
- make your year-end smoother (and usually cheaper)
- produce cleaner numbers for lenders and investors (see Xero reporting packs for lenders and investors)
And when you’ve got more volume and more moving parts, this is exactly the point where an external team can keep it stable. That’s what an Outsourced Finance Department is designed to cover.
FAQs
Should you connect Stripe/GoCardless directly to your main bank feed in Xero?
In most cases, you’ll get a cleaner result using a clearing account for each provider. It separates gross sales, fees, and payouts, and makes reconciliation faster.
Why doesn’t your Stripe/Shopify sales total match your bank deposits?
Because deposits are usually net of fees, and they often arrive on a different day from the sale. Refunds can also be netted off later, depending on the provider and payout schedule.
What’s the quickest way to stay on top of this each month?
Reconcile weekly and run a proper month-end close. If you leave it for 2–3 months, you’ll spend more time fixing errors than you saved by delaying it.
What if your clearing account doesn’t go back to zero?
Usually it’s one of these:
- a payout is still in transit
- a fee hasn’t been posted correctly
- a refund/chargeback is missing
- something has been duplicated
Work through it line by line — and if you want a process you can repeat, follow 5 quick Xero tips for efficient bookkeeping.
Do you need a separate clearing account for each Shopify payment method?
If you use multiple gateways (e.g., Shopify Payments and PayPal), separating them can make reconciliation much clearer — especially when payout schedules and fee structures differ.
Want Stripe, GoCardless, and Shopify to “just work” in Xero?
If you want your integrations set up so reconciliation is quick, fees are handled properly, and your VAT reporting stays clean, FHP can help you get it right and keep it tidy as you grow.
Start with Bookkeeping or Xero Bookkeeping, and if you want to talk it through, get in touch via Contact Us.

I lead FHP Accounting, an accountancy practice specialising in Commercial and Residential Property Accounting. Our goal is to make the administration of running property portfolios easier for landlords, managers, and investors — allowing you to focus on what you do best, while we take care of everything behind the scenes.