Reconciliation is the job of proving that the money in your bank account is the money on your sales ledger, invoice by invoice. It breaks for one structural reason. Most payment providers send you a batch, net of their own fees, with refunds and failures from other weeks taken off the same credit, so the amount arriving can't equal any invoice you raised.
In this article
The short version
- Reconciliation breaks because of how the payout is built, not because your bookkeeping is untidy.
- GoCardless says it will "bundle up all of the outstanding credits and debits into it and reset the user's balance to zero" (developer guide).
- Stripe says payouts "are recorded as simple transfers between your Stripe account and your bank account, which don't correspond to any specific payments" (docs.stripe.com/reports/select-a-report).
- So one bank credit can carry this week's collections, last week's refund and a fee, and it can even net to zero.
- Both providers deduct fees from the payout by default, and both document arrangements where the fee is invoiced instead.
- Adfin settles gross with the fee invoiced separately, on daily weekday payouts: same day for open banking, T+2 for bank transfer and cards, T+3 for direct debit.
Two records of the same money
You have two records of the same money. Your accounting system holds invoices and the payments you've recorded against them, and your bank holds lines of cash that arrived on particular days. Reconciliation is the act of tying each line of one to the right part of the other, so the closing balance you report is a balance you can defend.
For a business paid by cheque or bank transfer, the job is nearly mechanical. One customer pays one invoice, one line appears, you tick it off.
For a business collecting through a payment provider, the shape is different, because your provider is not passing on payments. It's holding a balance for you and periodically transferring some of it. The bank line was assembled on the day it was sent, out of whatever happened to be on that balance, and nobody wrote it with your sales ledger in mind.
Why the bank line and the invoice disagree
Four things happen between your customer paying and your bank showing a credit, and each one moves the number.
- Batching. Many collections land in one credit, so the amount is a sum of invoices and not a single invoice.
- Fee deduction. The provider's fee is taken out of the same credit, so even a batch of one arrives short.
- Timing. Collections that cleared on different days can share a payout, and a payout can arrive days after the money left your customer.
- Reversals. A refund, a failure or a chargeback belonging to an earlier invoice is taken off the current credit.
Put those together and you get a number with no invoice behind it. GoCardless tells its own integrators that the Payout Items API lets them "'explain' transactions on your user's bank statement" (developer guide). The scare quotes around explain are theirs, and explaining a bank line isn't the same task as matching it.
How a net batch payout is built
Both of the providers with published mechanics describe the same construction, and both do it in their own words.
GoCardless, in its developer guide on reconciling payouts: "Periodically (usually once every working day), we'll pay out payments your user has collected to their nominated bank account." It'll "generally send a single payout each day for each currency", and may split the funds "if there are a very large number of payments to payout". Then the sentence that decides the whole subject:
"You can think of a payout in terms of credits and debits… When we make a payout, we bundle up all of the outstanding credits and debits into it and reset the user's balance to zero."
The same page adds something you'd never guess from a bank statement: a payout "will not necessarily only contain payments collected through your integration", because it can also carry collections made through the API, the dashboard or another integration.
Stripe describes its own payouts on its report selection page:
"Payouts are recorded as simple transfers between your Stripe account and your bank account, which don't correspond to any specific payments."
Stripe's own recommendation follows from that. The payout reconciliation report is "optimized for users on automatic payout plans who model their Stripe balance as a temporary clearing account in their accounting system", and its purpose is to "reconcile each payout against the transactions included in that batch after it settles". The arithmetic is in the API docs: net is amount minus fee, and available_on is when "the transaction's net funds become available in the Stripe balance". Gross never reaches the balance at all.
Neither provider hides any of this. It's just published for the people building integrations, not for the person opening the bank feed on a Tuesday morning.
GoCardless's own worked payout
The clearest demonstration belongs to GoCardless, whose developer guide gives a sample payout in euros, reproduced below in the original currency. The source table describes its second and third rows identically although the item types differ, so the descriptions here are corrected and the types left as published.
| Line | Item type | Amount |
|---|---|---|
| Payment collected from Nick | payment_paid_out |
+€20.00 |
| GoCardless fee on that payment | gocardless_fee |
−€0.20 |
| App fee on that payment | app_fee |
−€1.00 |
| Refund of Andrew's payment, collected last week | payment_refunded |
−€5.00 |
| Bianca's payment from last week, charged back | payment_charged_back |
−€10.00 |
| GoCardless fee returned on the chargeback | gocardless_fee |
+€0.10 |
| App fee returned on the chargeback | app_fee |
+€0.50 |
| Total transferred to the bank | +€4.40 |
Reproduced from GoCardless's developer guide on reconciling payouts, in the currency the page uses.
Twenty units collected, four point four received. Four of the seven lines belong to invoices raised in an earlier week, and one belongs to a customer who isn't in the collection at all. Handed the €4.40 and asked which invoice it paid, you'd have nothing to point at. Why do GoCardless payouts not match your invoices takes that apart item by item.
Two outcomes most people have never met
A payout can be worth nothing. GoCardless's payout deductions article says that where a payment and its later deduction both happen before a payout is generated, "both the paid event and the deduction event will be included in the same payout", so "the net movement of money for a given payout may be zero". A payout record exists, your dashboard shows it, and no money moves.
A payout can take money out of your account. Stripe's payouts documentation works through a balance of minus 100 after refunds exceed collections and says that if nothing arrives to clear it, "Stripe creates a payout that debits your bank account", with your account required to "support both credit and debit transactions". GoCardless publishes no equivalent mechanism, because it "only make a payout when a merchant's balance is positive" and holds the negative balance until collections clear it.
So a process built on finding the invoice that equals the credit is likely to stall sooner or later.
Where the fee goes, and why that matters
A fee taken out of the payout and a fee invoiced to you at the end of the month are the same cost and completely different bookkeeping.
GoCardless's support pricing article states that "Fees are deducted at source", applied once a payment reaches confirmed status, "typically 1 working day after the payment has been collected". Two of its own pages then record an exception: "For Custom Pricing customers, the transaction fee is invoiced", and its handling-tax guide says "Committed revenue merchants (with zero deducted_fees) are invoiced separately". So deduction at source is the standard self-serve behaviour, and a separately invoiced arrangement does exist.
Stripe is in the same position. Its fees report lists "all the fees taken from your Stripe balance" by default, while the itemised export carries a settled_via column whose values include invoice, and the report excludes "any post-paid invoiced fees".
When the fee comes out of the payout, every payout is a mixed transaction: income, a cost of sale, and whatever reversals came along. Your bank feed shows one number and your ledger needs at least two entries, every working day.
The timing gap
Timing you can plan around, once you know each provider counts from a different starting point.
Direct debit settles about three days after the due date through Bacs. That's how the scheme works and it applies to every provider using it, so a collection dated the 1st is money you can spend around the 4th. It isn't lateness, and it belongs in your cash flow forecast as a fact.
On top of the scheme, each provider adds its own timetable.
| Provider | Published timing | Source |
|---|---|---|
| GoCardless, existing mandate | 3 business days to charge the customer, then about 2 more to your bank, so roughly 5 from creation to receipt | GoCardless, Bacs (UK) payment timings |
| GoCardless, new mandate | 4 business days to charge, because the authorisation is set up first | GoCardless, Bacs (UK) payment timings |
| GoCardless, payout arrival | Funds "typically reach merchants' bank accounts between 2-5pm on the payout day"; 4pm GMT creation cut-off | GoCardless, Bacs (UK) payment timings |
| Stripe, UK cards | 7 calendar days initial settlement, 3 business days default | docs.stripe.com/payouts |
| Stripe, Bacs Direct Debit | 4 business days settlement | docs.stripe.com/payouts |
| Stripe, first payout | "typically… 7-14 days after you successfully receive your first payment" | docs.stripe.com/payouts |
| Adfin | Same day for open banking, T+2 for bank transfer and cards, T+3 for direct debit, on daily weekday payouts | Adfin product |
Stripe is unusually careful about what "T" means: "Some payment processors might start 'T' from their internal settlement time… Stripe uses 'T' to refer to the transaction time." Two providers quoting T+2 can mean different things, so check what the clock starts on.
Your provider's clock and the scheme's clock are two different clocks, and the distance between them is where most of the confusion about payout dates lives. How long do GoCardless payouts take lays out one provider's timetable stage by stage, and when do you get your money after a direct debit collection keeps the two clocks apart so you can see which one you're waiting on. If what you want is confirmation that a collection worked rather than a date, how do you know a direct debit has actually cleared starts from an awkward fact: Bacs publishes no success report at all.
Matching a batch by hand
Say you've got a £3,412.18 credit and eleven invoices that might be in it.
- Pull the payout report for that exact payout by its reference, and not the date range around it.
- Split it into collections, fees and reversals. Only the first group has invoices behind it.
- Tick off each collection against its invoice at the gross amount your customer paid.
- Post the fees to an expense account so the payout total reconciles to the penny.
- Chase the leftovers. A reversal for an invoice you closed weeks ago is the usual culprit, and it needs a credit note or a reopened invoice.
How to match a bulk payout to individual invoices sets that out with the accounting entries, including the QuickBooks method Intuit publishes for it, and what do you do when a client pays less than the invoice covers a part payment's ledger and VAT together. Doing this once is fine. Doing it every working day, across a few hundred live customers, is where a finance week disappears.
The clearing account method
The standard answer to a net batch is to stop matching it to invoices at all, and to make the provider's balance visible in your books instead.
You create a clearing account. Every collection is posted into it at gross, against the invoice, on the day the customer paid, and the fee is posted out as an expense. The payout leaves as a transfer to your current account, where it meets the bank line. The two numbers are the same by construction, so they match exactly.
Stripe recommends this in its own words, calling the balance "a temporary clearing account in your accounting system". GoCardless builds it into its Xero integration: the full invoice amount goes into a Direct Debit clearing account, and on payout day two transactions are created, the fees to a nominated fee account defaulting to "404 - Bank Fees" and the net payout as a transfer to the current account (GoCardless support). GoCardless also publishes that the final reconciliation of that transfer out is the one step it can't yet automate.
The method is sound and most accountants will set it up for you, but it relocates the reconciliation into the clearing account instead of removing it. The balance still has to be watched, the fees coded and the leftovers explained. How to reconcile Stripe payments in Xero automatically walks through the setup and names the gaps the integration leaves behind.
"Automatic reconciliation", in the vendors' words
Most providers and accounting platforms advertise automatic reconciliation, and the useful habit is to read the claim and its limit on the same page, because the vendors publish both.
Xero's bank reconciliation page describes JAX as automatically reconciling transactions "when it's highly confident" they match, using rule, match and memory, plus a prediction step that suggests on the basis of how other Xero users reconciled similar transactions. High confidence is doing real work in that sentence.
Stripe is blunter. Its report selection page states: "Stripe doesn't support third-party accounting tools reconciliation for Stripe reports". On instant payouts, on two separate pages: "You control the timing and amount of instant payouts, so Stripe can't identify which transactions are included in each payout." Its payout object carries a reconciliation_status field where not_applicable means "We don't support listing Balance Transactions for this payout". Stripe can't itemise every payout it sends.
Every vendor's claim comes with a published limit sitting next to it, and which payment providers reconcile automatically with Xero and QuickBooks reads the two together, vendor by vendor. There's a second effect on your clients too: two systems that both think they own the receipt will both email about the same payment, and how to stop clients getting duplicate payment emails from Xero is about which of those you can switch off.
What a net payout does to your VAT
A net payout has a tax consequence, and it's the one thing here you can get wrong in a way that costs money.
HMRC's cash accounting guidance, Notice 731, says at paragraph 5.8: "If you receive a net payment you must account for VAT on the full value of taxable supplies made by you before such deductions." Paragraph 5.2 fixes the period on the agent's collection from your customer. VATTOS5115 closes the argument that you hadn't received money a third party was holding.
So the €4.40 in the worked example doesn't reduce anybody's output tax. How to reconcile VAT when you get net payouts takes that through the bookkeeping, including the unresolved question of whether your provider's own fee carries VAT, where HMRC's notices and its internal manuals point in different directions.
Settling gross, and what changes
Adfin settles gross. The amount that arrives is the amount your customer paid, the fee is invoiced to you separately, and payouts run daily on weekdays: same day for open banking, T+2 for bank transfer and cards, T+3 for direct debit. Reconciliation matches payments to invoices automatically, including underpayments and overpayments, and payments that arrive with no reference, and syncs both ways with Xero and QuickBooks, where Adfin is available as a payment method inside Xero, the same slot Stripe and GoCardless occupy.
Read that against the two providers quoted above and the difference is mechanical. A gross settlement has one invoice behind it, so a bank line and a ledger line can be the same number. A net batch has many invoices and several deductions behind it, so they can't, and better matching logic doesn't change the arithmetic of a batch.
What you do with that depends on your book. Collect a handful of large payments a month and a clearing account plus half an hour on a Friday holds it together. Collect from hundreds of customers on several methods and the question is worth asking before you pick a provider.
If you want to see gross settlement against your own ledger, book a demo. The pricing page has the fee that gets invoiced separately.
Common questions
What is payment reconciliation? Matching the money in your bank account to the invoices on your sales ledger, so that every line of cash is explained and your closing balance can be defended. With a payment provider in the middle, it also means explaining the difference between what your customers paid and what arrived. That gap is made up of the provider's fees, its batching and any reversals.
Why doesn't my payout match my invoices? Because your provider assembles the payout from its own balance instead of from your invoices. GoCardless says it will "bundle up all of the outstanding credits and debits into it and reset the user's balance to zero", and Stripe says payouts "don't correspond to any specific payments". Both quoted from their own documentation.
Can a payout ever be zero, or negative? Yes to both, on different providers. GoCardless documents that where a payment and its deduction fall before the same payout, "the net movement of money for a given payout may be zero". Stripe documents that a negative balance can produce a payout that debits your bank account, and requires your account to accept debits.
How do I reconcile a batch payout in Xero or QuickBooks? The standard method is a clearing account. Post each collection into it at gross against the invoice, post the provider's fee out of it as an expense, then post the payout out as a transfer to your current account, where it matches the bank line exactly. Stripe recommends modelling its balance this way, and GoCardless's Xero integration builds it in.
Do I account for VAT on the gross invoice or the net payout? On the gross. HMRC's cash accounting guidance, Notice 731 paragraph 5.8, says: "If you receive a net payment you must account for VAT on the full value of taxable supplies made by you before such deductions." Paragraph 5.2 puts it in the period your agent collected from the customer. Treat this as information rather than advice, so check your own position with your accountant.
Is there a way to avoid batch reconciliation altogether? Gross settlement removes the arithmetic behind it. Each payment arrives as itself, and the provider's fee is invoiced separately instead of being deducted. Adfin works that way, on daily weekday payouts. Both GoCardless and Stripe document invoiced-fee arrangements on some plans as well, so the question to ask any provider is whether the amount landing in your account is one payment or a batch.
Sources
- HMRC — VAT cash accounting scheme, Notice 731 (accurate as of August 2026)
- HMRC — VAT Time of Supply manual, VATTOS5115 (accurate as of August 2026)
- GoCardless — Bacs UK payment timings (accurate as of August 2026)
- GoCardless — handling tax (accurate as of August 2026)
- GoCardless — how reconciliation works in GoCardless for Xero (accurate as of August 2026)
- GoCardless — payout deductions (accurate as of August 2026)
- GoCardless — pricing and fees (accurate as of August 2026)
- GoCardless — reconciling payouts (accurate as of August 2026)
- Stripe — all fees report (accurate as of August 2026)
- Stripe — balance transaction object (accurate as of August 2026)
- Stripe — payout object (accurate as of August 2026)
- Stripe — payout reconciliation report (accurate as of August 2026)
- Stripe — receive payouts (accurate as of August 2026)
- Stripe — select a report (accurate as of August 2026)
- Xero — bank reconciliation (accurate as of August 2026)
This article explains how payment reconciliation works and is information rather than advice, particularly on the VAT sections, where your own position is worth checking with your accountant. All provider and platform facts are quoted from the pages named beside them; none of those pages carries an effective date, so check before relying on a figure. HMRC guidance is quoted from gov.uk. Adfin publishes this article and competes with GoCardless and Stripe. Last updated August 2026.
