Skip to main content

Xero how to

How to reconcile Stripe payments in Xero

A Stripe payout is one bank line covering a batch of charges, less the processing fees and anything refunded in the same window. Reconcile it as a move out of the online payments clearing account, with the fee coded to merchant fees and a refund posted as a credit note. The batch is done when the clearing account reads nil.

Key facts

What the bank line is
One automatic payout settling a batch of transactions, not one payment per invoice and not a day's takings1
The file that explains it
The itemised payout reconciliation report, one row per transaction carrying the automatic payout id, the gross, the fee and the net1
When the file is ready
A day's activity is normally available in reports by midday the next day1
The payouts the report cannot split
Instant payouts, which Stripe says it cannot identify the transactions for, leaving them to be matched against the account's own transaction history1
Initial settlement timing for Australia
Two business days, then the account's own payout schedule decides the rest2
Where the gross charges sit
107 Online payments clearing in the allied health template, posted BAS excluded6
Where the fee sits
604 Merchant and claiming fees in the same template, posted with GST on expenses6
What a refund becomes
A credit note on the original invoice line's own account and tax type, plus a credit note refund, because Xero has no negative payment6
What breaks the export
A processing fee added to the payment after the invoice was exported and approved, which Xero rejects as more than the amount outstanding3
Where the practice system points
The default Xero account for payments may be a bank feed or a clearing account, and individual payment types can be connected to their own clearing accounts4

What the payout actually is

A Stripe payout is one bank line covering a batch of transactions. It is not one payment per invoice, and it is not a day's takings. Stripe settles a group of charges, takes its processing fee out of each one, subtracts anything refunded in the same window, and sends what is left. So the line in the bank feed will not equal any invoice, any day of invoices, or the sum of the payments the practice system pushed across.

That is the whole difficulty, and it has a shape worth holding. Three things move inside one line, in two directions: the charges, the fee and any refund. Reconciling the payout means naming all three and then letting the clearing account prove that none of them went missing.

Start from the payout report, not the bank line

Stripe publishes a report whose stated purpose is this exact job, and it is the file to work from rather than a bank statement narration.

helps you match the payouts you receive in your bank account with the batches of payments and other transactions that they relate to1

Download the itemised version rather than the summary. The itemised file gives one row per transaction, and a handful of its columns do all the work.

  • The automatic payout id, the field that groups a batch of transactions into the payout that actually reached the bank.
  • The charge id, which ties a row back to the payment the patient made.
  • Gross, fee and net for every transaction, so the fee total is read off the file rather than worked out from a rate.
  • The reporting category, which separates the charges from the refunds and the disputes inside the same batch.
  • The trace id, the reference the bank generates for the payout, which is how a bank line is found again.
  • Withheld tax, which Stripe describes as sales tax, VAT or GST withheld, and says is already included within the fee column.

Two limits are worth knowing before a practice leans on it. The report is available to accounts on automatic payouts, and Stripe says it cannot identify which transactions are inside an instant payout, so a practice that draws money out early matches those against its own transaction history instead.

The payments are already in Xero

The generic answer to this question usually opens by telling you to create a clearing account and receive the payout into it as income. In a clinic that step has already happened, in a different order. The practice system pushed each patient payment to Xero as it was allocated to an invoice, so the revenue is recognised, the invoice is closed, and the money is already sitting in whichever Xero account that payment type points at.

Which account that is decides how much work each payout makes. Cliniko's own setup note says the default Xero account for payments may be a bank feed or a clearing account you have created, and that individual payment types can be connected to specific accounts. Point the online card payment type at the clearing account. Pointed at the bank account instead, every gross payment lands in the bank as its own unmatched line, and then the payout arrives on top of them and doubles the balance. The same choice is set out per system on Cliniko.

  1. Receipt each charge into the clearing account on the day it was taken, which is what the practice system is already doing once the payment type is mapped.
  2. Leave the invoice alone. It is closed at its own total, and that total is what Xero will accept a payment against.
  3. Wait for the payout, then move the batch out of the clearing account in one document set rather than matching invoice by invoice.

One payout, drawn whole

Here is a plain week first: four charges taken across it, the processing fees Stripe withheld, and the single line the bank feed shows.

Stripe payoutOne Stripe payout drawn whole: four patient charges receipted into the online payments clearing account, the processing fees withheld before the payout left Stripe, and the smaller bank line that is left.Settled 27 Aug 2026Stripe payoutPrivate consultation,standard sessionA$180.00107 Online paymentsclearingPrivate consultation,standard sessionA$180.00107 Online paymentsclearingInitial assessment, extendedA$240.00107 Online paymentsclearingTelehealth review, privateA$120.00107 Online paymentsclearingFees withheldA$13.44Bank lineA$706.56The four charges less the fees Stripewithheld equal the payout to the cent, andthe fee came off each charge rather than offthe payout as one deduction.
Plate 1A plain payout. The charges went into the clearing account as they were taken, and the fee was gone before the bank line appeared.

Every amount on that plate comes off the payout report. Nothing is derived from a percentage, which matters because the rate that applies is the one on the practice's own account rather than any published figure.

The payout with a refund in it

Most weeks are not plain. Take the following week at the same practice: a patient is refunded, the refund comes out of the same batch, and the payout is now short by the fee and by the refund together. The tempting answer is a negative payment, and Xero has no such object. The refund becomes a credit note on the original invoice, at that line's own account and tax rate, refunded from the same account the original payment went into.

One payout with a refund inside it, and what each part does to the ledger61
What movedAccount the template posts it toTax rateWhat it does to the balances
The week's card charges, receipted as they were taken107 Online payments clearingBAS excludedA$780.00 in
Refund of an earlier session, as a credit note refunded from the clearing accountThe original invoice line, refunded from 107 Online payments clearingThe original invoice line's own rateA$120.00 out
The clearing line on the payout split, the charges less the refund107 Online payments clearingBAS excludedA$660.00 out
Stripe processing fees, taken off the same bank line604 Merchant and claiming feesGST on expensesNone, it reduces the bank line by A$14.46
Payout rounding, on the same bank line604 Merchant and claiming feesBAS excludedNone, it reduces the bank line by A$0.02
The payout the bank feed showsBusiness bank accountNot applicableA$645.52 into the bank

Read the last column down and the batch closes. What the practice system put into the clearing account is exactly what the refund and the payout's own clearing line took back out of it, which is why the balance for this batch ends at nil rather than at a residue nobody can explain. The fee and the rounding line stay off the clearing account: both come off the bank line on the same split.

The cents that will not tie

Sometimes the parts land a few cents either side of the payout. The canonical template gives that difference a home rather than leaving it as an unexplained variance, and codes payout rounding to the merchant fee account so the line carries a name.

The fee on the invoice, and the export it breaks

There is one fix that looks obvious and costs a morning. Where the payment taken was larger than the invoice, because a card processing fee was added to it, putting that fee on the invoice makes the two totals agree in the practice system and breaks the export to Xero. Zanda's troubleshooting note states the cause plainly.

This happens when the payment you are exporting is worth more than the invoice's total already recorded in Xero.3

The way out has two halves, one for the invoices already stuck and one for the export order that stops it happening again.

  1. For an invoice already approved in Xero, post the payment at the value Xero holds, excluding the fee, and enter the processing fee separately as a bank or processing expense.
  2. Going forward, export invoices as late as possible, after the payment and its processing fee have both been taken, so the invoice and the payment reach Xero at the same total.
  3. Either way, keep the fee out of revenue. Netting it against income understates sales on the activity statement and hides what the rail costs the practice.

GST sits on the revenue leg, not on the move

Two legs, two answers, and they are settled at different moments. The revenue leg was settled when the invoice was raised, and its treatment follows the service rather than the card that paid for it. The ATO sets three conditions before another health service is GST free: it is a listed health service, it is performed by a recognised health professional in that listed service or, in some circumstances, their assistant, and it is generally accepted in that profession as necessary for the appropriate treatment of the recipient of the supply. A report, a group session or a product taken home has its own answer.

The move out of the clearing account is the second leg. It carries BAS excluded in every canonical template, because it moves money that has already been earned and reported once. The fee is the third posting on the same bank line, and the template codes it with GST on expenses, which puts a small input tax credit alongside revenue that may carry none.

The check that closes the job

The work is not finished when the bank line turns green. It is finished when the clearing account for that batch reads nil, because that is the only statement that covers the fee, the refund and the rounding at once. The month end version of this review, across every rail a clinic runs, is set out on reconcile a clearing account.

Before the payout is posted beside After it is postedFour accounts shown before and after one payout is reconciled: the clearing account moves from holding every gross charge to nil, the merchant fee account picks up the fee and the rounding line, the refunded invoice carries a credit note, and the bank line is split into its named parts.Before thepayout ispostedAfter it ispostedOnline paymentsclearingHolds everygross chargethe practicesystem pushedacrossNil for thebatch, oncethe payout,the fee andthe refundare postedMerchant andclaiming feesNothing forthe batchTheprocessingfee at GSTon expenses,and theroundingline at BASexcludedThe refundedpatient invoiceClosed, paidin fullCredit noteallocated,and therefund drawnfrom thesame accountBusiness bankaccountOne payoutline, matchingnothingOnereconciledline, splitinto itsnamed parts
Plate 2The same four accounts, before the payout is posted and after it.

What Ledger Map does with a payout

Ledger Map holds one standing map for the practice, approved before anything syncs. A payout is posted as one balanced document set: the receipts against the online payments clearing account on the day each charge was taken, the fee against the merchant fee expense, a credit note where the batch carried a refund, and the move out for the payout total. That leaves one exact match waiting in the bank feed rather than a page of small payments to sift through.

None of the accounts or tax rates on this page are choices Ledger Map made. They come from the canonical template the practice starts from, and the practice approves the map before an invoice moves. Anything the map cannot resolve becomes a question with the options laid out. See how it works, and the rail comparison on private card and Stripe.

Questions

  • How do I reconcile a Stripe payout in Xero?

    Work from the itemised payout reconciliation report, not the bank line. Open the payout in the bank feed and code it in parts: the batch's charges out of the online payments clearing account at BAS excluded, the processing fee to the merchant fee account with GST on expenses, and any rounding to the same fee account. The batch is right when the clearing account returns to nil.

  • Where do Stripe fees go in Xero?

    On the payout, not on the invoice. The allied health canonical template posts a processing fee to 604 Merchant and claiming fees with GST on expenses, while the patient charges sit in 107 Online payments clearing. Take the fee amount from the fee column of the payout report rather than working it out from a published rate.

  • What do I do with a refund inside a payout?

    Post it as a credit note on the original invoice, at that line's own account and tax rate, then refund the credit note from the account the original payment went into. Xero has no negative payment, so a refund entered as one either fails or leaves the invoice looking unpaid. Done this way, the payout still ties to the batch.

  • Should online card payments go straight to the bank account in Xero?

    They can, and then every gross payment sits in the bank as an unmatched line and the payout arrives on top of it. Pointing the online card payment type at a clearing account instead means one line to reconcile per payout, and a balance a practice owner can read against the processor's own dashboard.

  • What if the batch and the payout differ by a few cents?

    Give the difference a name. The canonical template codes payout rounding to the merchant fee account so the line is explained rather than left as a variance. The template records that as a convention rather than a sourced rule, so it is worth confirming with the practice's BAS agent before it becomes the standing treatment.

Sources

Open questions

  • The two articles this page would otherwise cite for the reconcile screen were not read, so that screen is described from the ledger rather than from Xero's own instructions and its exact button labels are left out of the steps. The report and credit note paths on the steps are the ones Xero Central sets out.
  • The payout rounding line and the dispute and chargeback posting are conventions the canonical templates flag for a BAS agent rather than sourced rules, so both sit here rather than in a key fact.
  • Stripe publishes an initial settlement timing of two business days for Australia and no separate default, and the payout schedule is an account setting, so no lag figure fits every practice.
  • The processing fee rate is not printed on this page. Stripe's pricing page carries a note that lower pricing applies from a date later this year without publishing the new rates, so the fee to work from is the one in the payout report.
  • The bank narration a payout carries is not stated here. It varies by bank and by account, so a descriptor is learned from the practice's own feed rather than written into a map.
  • The ranking order of the current top results for this query is unverified, and so is the sentence about what the generic answer opens with. The search budget for the session was exhausted before this page was researched, so the answer landscape in the brief rests on reading the ranking pages rather than on a fresh results page.
  1. Payout reconciliation report

    Stripe. Retrieved 3 Sep 2026.

    primary

  2. Payouts

    Stripe. Retrieved 3 Sep 2026.

    primary

  3. Troubleshooting Xero exports

    Zanda. Retrieved 3 Sep 2026.

    primary

  4. Integrate Cliniko with your Xero account

    Cliniko. Retrieved 3 Sep 2026. Source updated 28 Jul 2026.

    primary

  5. GST and health, other health services

    Australian Taxation Office. Retrieved 3 Sep 2026. Source updated 12 Jun 2024.

    primary

  6. Allied health by funding source, the canonical template

    Ledger Map. Retrieved 3 Sep 2026.

    primary

  7. Reconcile payments received from online sales

    Xero Central. Retrieved 3 Sep 2026.

    unverified

  8. Account Transactions report

    Xero Central. Retrieved 4 Sep 2026.

    primary

  9. Add a credit note to a customer's invoice

    Xero Central. Retrieved 4 Sep 2026.

    primary

Review

Last reviewed 3 Sep 2026 by Shane

General information for Australian allied health practices, not tax advice. Confirm a treatment with your BAS agent or accountant before you post it.

Guided onboarding

Run one real month before you go live.

Sign up, connect Zanda and Xero, and replay a month you already closed. The map is reviewed with whoever owns the books, and nothing posts until you approve it.

Every practice starts from a template. Nothing posts until the map is approved.