Skip to content
itsorted.online
Accounting guide

How to Record Stripe and HitPay Fees in Xero or QuickBooks

Stripe and HitPay pay you the sales total minus their fees, so the amount that lands in your bank never matches your invoices. If you record the bank deposit as sales, you understate both revenue and fees, and your GST return can be wrong. The fix is a clearing account: record each sale at its gross amount, the fees as an expense and the payout as a transfer to the bank. This guide shows the entries, how the Xero integrations help, how GST applies to Stripe fees, how to handle refunds and disputes, and a month-end check.

By IT Sorted teamReviewed 7 min readHow we write guides
in

Key takeaways

  • Stripe and HitPay pay out net of fees, so a payout is not your sales figure.
  • Use a clearing account that behaves like a bank account for each payment provider.
  • Record fees as an expense; never net them off against sales.
  • Stripe says GST applies only to certain fees, such as Connect, Terminal hardware and Radar, with a monthly tax invoice.
  • Stripe keeps its processing fee on refunds, and each dispute costs S$15 (Oct 2026).
In this guide · 8 sections
  1. 01Why your Stripe payouts never match your sales
  2. 02The clearing account method
  3. 03Using the Xero integrations for Stripe and HitPay
  4. 04GST on Stripe and HitPay fees
  5. 05Refunds, disputes and chargebacks
  6. 06Month-end reconciliation checklist
  7. 07Do it yourself or get help?
  8. 08Frequently asked questions

Short answer

Record sales at the gross amount into a Stripe (or HitPay) clearing account, record fees as an expense from that account, and treat each payout as a transfer to your bank. When the clearing account balance matches your Stripe balance at month-end, everything is reconciled.

Why your Stripe payouts never match your sales

Stripe collects the card or PayNow payment, takes its fee, holds the balance for the settlement period and then sends a payout, which often bundles many sales. Stripe's payouts documentation explains that payouts are sent from your available balance on a schedule you choose. HitPay works the same way.

So a single S$2,906.20 deposit might be thirty orders, minus fees, minus a refund. If you record it as one sale of S$2,906.20, your revenue, fees and GST output tax are all wrong.

Provider and methodFee (standard pricing)On a S$100 sale
Stripe, domestic card3.4% + S$0.50S$3.90 fee, S$96.10 paid out
Stripe, PayNow1.3%S$1.30 fee, S$98.70 paid out
HitPay, domestic online card2.8% + S$0.50S$3.30 fee, S$96.70 paid out
HitPay, PayNow (S$100 and above)0.65% + S$0.30S$0.95 fee, S$99.05 paid out
Sources: Stripe Singapore pricing and HitPay Singapore pricing pages, approximate, as of October 2026. International cards and currency conversion cost more.

Sources: Stripe pricing and HitPay pricing. Our Stripe fees guide covers every method in detail.

The clearing account method

A clearing account is a bank-type account in your chart of accounts called, for example, 'Stripe Clearing'. Money goes in when a customer pays and goes out when Stripe pays you or takes a fee. Its balance should always equal your Stripe balance.

  1. Create the clearing account

    In Xero, add it as a bank account (or use the account the Stripe or HitPay feed creates). In QuickBooks, add a bank-type account named after the provider.

  2. Create a fees expense account

    For example 'Payment processing fees' under expenses. Use one per provider if you want to compare costs.

  3. Record sales gross

    Invoices paid online, or daily sales summaries from your shop, go into the clearing account at the full amount the customer paid.

  4. Record fees separately

    Each fee line in the Stripe or HitPay feed is coded to the fees expense account.

  5. Record payouts as transfers

    Match the deposit in your real bank feed to a transfer from the clearing account, not to a sale.

Using the Xero integrations for Stripe and HitPay

You do not have to type these entries. Xero's Stripe integration adds a Stripe bank feed, and Xero says it automatically matches payments as they come through that feed so you are not tracking down payments and fees inside each payout. Xero also lists the standard Stripe payout time as 2 to 3 business days, with the first payout taking 7 to 10 business days.

HitPay's Xero app lets you take PayNow on Xero invoices and turn on a HitPay bank feed to reconcile payments from your online store or point of sale. For Shopify stores, our guide to connecting Shopify, Stripe or HitPay to Xero explains which integration to use so sales are not recorded twice.

GST on Stripe and HitPay fees

If you are GST-registered, charge GST on your sales at the gross price as normal. The fees are a separate question. Stripe's support article on taxes on Stripe fees for Singapore-based businesses says GST applies to certain Stripe fees, such as Connect, Terminal hardware and Radar, at the standard rate, on top of the fee, and that Stripe provides a monthly tax invoice for the GST charged.

  • Fees with no GST charged: code them with a no-GST tax rate so they do not create input tax.
  • Fees with GST charged: claim input tax only from the amounts on Stripe's monthly tax invoice, and keep the invoice with your records.
  • HitPay and other providers: check their invoices or statements to see whether GST is charged on fees, and code accordingly.

Our Xero GST F5 return checklist covers how tax rates on each line flow into the F5 boxes. This is general guidance; confirm treatment with your accountant.

Refunds, disputes and chargebacks

Refunds and disputes are where clearing accounts drift out of balance, because the money leaves Stripe rather than your bank.

EventEntryWatch out for
Full refundCredit note or refund against the sale, paid from the clearing accountStripe keeps the original processing fee
Partial refundCredit note for the refunded part onlyGST adjusts on the refunded portion
Dispute openedMove the disputed amount out of clearing to a 'Disputes' holding accountStripe charges S$15 per dispute, plus S$15 if you respond manually
Dispute wonMove the amount back to clearingThe second S$15 response fee is returned if you win
Dispute lostWrite off as a bad debt or credit noteKeep evidence for your records
Stripe dispute fees from Stripe Singapore pricing, as of October 2026.

Month-end reconciliation checklist

A short monthly routine keeps the clearing accounts honest and makes GST quarters painless.

Month-end checks for payment providers

Stripe's payout reconciliation report matches each payout to the batch of transactions it settles, which helps when one payout does not tie up.

Do it yourself or get help?

If you have a handful of online sales a month, you can follow the clearing account method by hand. Once you have daily orders, multiple providers or a shop integration, a wrong set-up creates double-counted sales and GST errors that are slow to unpick.

Our Xero / QuickBooks Integration (S$390) connects Stripe, HitPay or your shop to Xero or QuickBooks with clearing accounts, fee coding and tax rates set up, and checks the first month's reconciliation with you.

Frequently asked questions

Set up a Stripe clearing account, which the Stripe bank feed can provide. Record each sale at its gross amount into that account, code each Stripe fee line to a payment processing fees expense account, and match each payout in your real bank account as a transfer from the clearing account. Never record the net payout as sales.

Gross. Your revenue is what the customer paid, and GST output tax is calculated on that. The fee is a separate business expense. Recording the net payout as sales understates revenue and expenses and can make your GST return wrong.

Stripe says GST applies to certain of its fees for Singapore account holders, such as Connect, Terminal hardware and Radar, at the prevailing standard rate, added on top of the fee. It issues a monthly tax invoice for the GST charged. Use that tax invoice to support any input tax claim, and check with your accountant.

Common causes are sales recorded twice by a shop integration and the Stripe feed, refunds or disputes not entered, fees coded directly against sales, payouts matched as income instead of transfers, or timing differences at month-end. Compare the clearing balance with the Stripe balance on the same date and use Stripe's payout reconciliation report to find the gap.

Yes. HitPay also pays out net of its fees. Its Xero app can add a HitPay bank feed, which works as the clearing account. Record sales gross, code HitPay's fees to an expense account, and match each payout to your bank as a transfer. Check HitPay's statements for any GST on fees.

Rather have it done for you?

Fixed price, set up in your own accounts.

Order online, get a written scope, and keep full ownership of everything we set up. Questions first? Ask us in writing.