💳 Accounting for Online Payment Systems
Applies to: SumUp, PayPal, Stripe, Zettle, Square, GoCardless and similar
🎯 The Problem
When you take card or online payments, the money never reaches your bank exactly as it was paid. The provider deducts a fee and pays you the balance — often days later, and usually bundled with other transactions.
A member pays you £10.00. Your bank account receives £9.83.
If you simply record £9.83 of income, two things go wrong. Your income is understated — you really did earn £10.00 — and the £0.17 cost of collecting it vanishes entirely. Across a year of card payments that can be a significant expense you never see.
The answer is always the same: record the full amount as income, and the fee as a separate cost. The two net to whatever actually hit your bank.
📝 Method 1: Record the Payout as it Reaches Your Bank
Best when your provider pays out promptly and you don't need to track a balance they're holding.
Create a single Receipt & Payment batch against your bank account with two lines:
Receipt — £10.00 to your income cost code (Sales, Subscriptions, Bar Takings, whatever fits).
Payment — £0.17 to Bank Charges, or a similar Payments cost code.
The batch nets to £9.83, which is what you'll reconcile against your bank statement. Your income shows the full £10.00 and the fee is properly recorded as a cost.
Pro Tip: If you have more than a handful of transactions, don't type these in. Download the CSV from your provider and use Transaction Import — map your Gross Amount column to "AMOUNT" and your Fee column to "FEE", and both lines are created for you, correctly linked.
🏦 Method 2: Treat the Provider as an Account
Better when you hold a balance with the provider — if you've moved from weekly to monthly payouts, for example, or your provider settles on a delay. Without this, money you've genuinely received sits nowhere in your accounts until the payout lands.
Set up an account of type ONLINE PAYMENT named after the provider — "SumUp", "Stripe" and so on. Then:
1. Record takings into that account as they happen — a Receipt for the gross amount and a Payment for the fee, exactly as in Method 1, but against the SumUp account rather than your bank.
💡 Use the Advanced Transaction import method to process these.
2. Record each payout as a Transfer from the SumUp account to your bank account, for the amount actually paid out.
The balance on the SumUp account is then the money your provider is holding on your behalf, and it clears to zero each time they pay you.
This is the same pattern many organisations already use for a cash float or till: takings go into the cash account, and banking the cash is a transfer.
💡 When importing your bank statements transactions use the "convert to Transfer" feature during the import process.
Pro Tip: Method 2 keeps your year-end position correct even when a payout straddles the year end, and lets you reconcile directly against your provider's own statement rather than working backwards from your bank.
❓ Common Questions
Where should the fees go?
Most organisations post them to Bank Charges or a similar Payments cost code. If card fees are significant, a dedicated code such as "Card Processing Fees" lets you see the cost of taking card payments separately from ordinary bank charges.
My provider pays several transactions in one lump sum. How does that reconcile?
This is the main argument for Method 2. With Method 1 you'd have to work out which individual transactions made up each payout, which gets painful quickly. With an Online Payment account, each payout is simply a transfer for whatever amount arrived.
Do I need to record every individual transaction?
Not necessarily. If you take a lot of small payments, recording a daily or weekly total is usually fine — provided you keep the provider's reports as your supporting records. Record the gross takings and the total fees for the period as two lines. Do record individually where you need to match payments to members, such as subscriptions or event bookings.
What about refunds?
A refund reduces your income, so record it as a negative Receipt (or a Payment) against the same income cost code. Note that most providers do not refund their fee — so the original fee stays as a cost.
Is the fee VAT-able?
That depends on the provider and on your own VAT position, so it's worth checking rather than assuming. If your organisation is VAT registered and the fee carries VAT, set the VAT Type on the fee line accordingly. If in doubt, ask your accountant or check your provider's documentation.
My provider's export has Gross, Fee and Net columns. Which do I use?
Gross and Fee. Net is simply Gross minus Fee — so if you import Net and the Fee, you'll record the fee twice and understate your income.
✅ Which Method Should I Use?
Use Method 1 if your provider pays out quickly and you don't hold a balance with them. It's the simplest approach and suits most organisations.
Use Method 2 if you hold a balance between payouts, or you want to reconcile against your provider's statement. It's a little more work but considerably more accurate.
Still not sure which fits your organisation? Ask in the Clubtreasurer Community — other treasurers have almost certainly solved the same problem.