Back to Insights
SaaS & Tech

Reconciling Stripe in Xero and QuickBooks: Gross vs Net

Stripe is the default payment processor for UK SaaS businesses, and it is also one of the most commonly mis-reconciled. Here is how to handle gross versus net, fees, refunds and chargebacks correctly.

Sarfraz Chandio
8 min read

Stripe has become the default payment processor for UK SaaS companies, online retailers and digital businesses, and we reconcile a lot of Stripe data in client books at PushDigits. The most common error we see, by a wide margin, is reconciling on net payouts rather than gross transactions, with fees buried as a balancing figure. It produces accounts that understate revenue, hide payment processing costs and break VAT reporting. This guide sets out how to do it properly in both Xero and QuickBooks.

The gross versus net problem

When Stripe pays out to your bank, the amount that hits the account is net of fees, refunds, chargebacks and any Stripe Tax collected on its behalf. If you simply book the net payout as revenue, you have understated revenue by the fee amount, omitted the fee expense entirely and produced a top line that does not match what your customers were charged.

The correct approach is to record gross transactions: customers pay the full ticket price (recognised as revenue), Stripe fees are recognised as a separate operating expense, refunds are recognised as a reduction of revenue, and the payout is the resulting net cash flow.

The Stripe clearing account

The mechanic in both Xero and QuickBooks is the Stripe clearing account. This is a current asset account that sits between Stripe and your bank account in the ledger. Customer payments are posted gross to revenue (debiting Stripe clearing). Fees are posted to a fee expense account (crediting Stripe clearing). Refunds and chargebacks are posted as revenue reductions (crediting Stripe clearing). When Stripe pays out to your bank, the bank receives cash and the Stripe clearing account is reduced by the same amount.

A properly maintained Stripe clearing account balance at month end equals the Stripe dashboard "balance" figure, which is funds collected from customers but not yet paid out.

Using A2X, Synder or Stripe's native Xero integration

For low-volume businesses with a handful of transactions a day, manual reconciliation is feasible. For SaaS subscription businesses doing hundreds or thousands of transactions a month, an integration is essential. The three most widely used are:

  • Xero's native Stripe integration: Suitable for very small operations, posts payments individually but with limited handling of fees, refunds and VAT nuance.
  • Synder: Posts transactions individually with detailed metadata, suits high-volume e-commerce and subscription operations.
  • A2X: Aggregates payout-level summaries with full P&L breakdowns, suits high-volume retail.

VAT treatment

For UK VAT-registered businesses, the gross transaction is what flows into the VAT return as the supply value. Stripe fees themselves are typically a supply of payment processing services from an entity (depending on the precise Stripe entity issuing the invoice). For most UK customers, Stripe processes from Stripe Payments Europe Ltd, an Irish entity, and the fees are treated as a reverse-charge service for UK VAT purposes. The recipient business accounts for output VAT and input VAT on the same return, net effect zero for fully taxable businesses but with the value flowing through Box 1, Box 4, Box 6 and Box 7 of the return. Confirm the entity issuing your Stripe invoice for your current periods.

Refunds and chargebacks

Refunds reduce revenue (or are posted to a refunds contra-revenue account) and reduce the Stripe clearing balance. Chargebacks are similar in effect but with an additional dispute fee and a clear separate account makes the cost visible. Both should be tracked separately from gross fees because they are commercially distinct numbers worth monitoring.

Multi-currency Stripe

UK SaaS businesses charging in USD, EUR and other currencies face an additional layer. Stripe processes the transaction in the customer currency, converts at its FX rate to the payout currency and charges a conversion fee. The ledger should capture the original currency invoice (matched to FRS 102 foreign exchange treatment), the Stripe FX conversion as a small loss or gain, and the payout in the payout currency. Xero handles multi-currency natively on Established plans, QuickBooks on Plus and above.

Period-end reconciliation

At month end, the Stripe clearing account in the ledger should be reconciled against the Stripe "balance" in the dashboard. Any difference must be investigated. The most common causes are timing differences (payments processed but not yet posted to ledger), FX conversion adjustments and unrecorded refunds or chargebacks.

How we help

PushDigits sets up and maintains Stripe reconciliation for SaaS and e-commerce clients in both Xero and QuickBooks, including the clearing account structure, VAT treatment and integration tooling. See our bookkeeping and VAT pages, or contact us for a setup review.

Share this article

Ready to take control of your finances?

Join hundreds of UK businesses growing with PushDigits. Book your free discovery call today.

Book a Free Discovery Call
Book a meeting today
Talk to our AI advisor