Skip to content

Stripe bank feed for Xero: reconcile payouts against gross sales

Stripe connects to Xero as a payment service rather than a bank feed, which works when payouts are automatic and there is one Stripe account per org. Manual payouts, a second account and historical periods fall outside it. StatementClear lets you review the statement, then send eligible lines to Xero or download a Xero-ready CSV. Direct delivery supports dates within the last year; older history uses CSV.

Stripe's problem in Xero is not the absence of a feed - it is that the money arrives twice. Sales happen gross in Stripe, then land in the bank days later as one net lump with the fees already gone, and someone has to make those two stories agree. If the native Stripe feed covers your setup, good; if you are on manual payouts, running a second Stripe account, or facing a year of unimported history, that someone is you, every month.

Upload a statement

1 complete statement free per account. No card required.

Where the native Stripe option falls short

Stripe connects to Xero as a payment service, and the resulting feed brings daily gross sales and fee lines into Xero. It works best with an automatic payout schedule and one Stripe account per org; manual payouts, second accounts, refunds, chargebacks and historical periods are where it frays.

A single Stripe payout can bundle hundreds of charges, minus fees, refunds and disputes, into one bank line. Stripe's own payout reconciliation export unpacks it: a CSV with gross, fee and net columns for every balance transaction, plus the charge IDs (ch_...) that tie lines back to individual payments. Signs need care - charges are positive, refunds and disputes negative, and the payout itself appears as a negative balance movement, so a careless import double-counts the payout against your bank feed. Each settlement currency runs its own balance and payout schedule, which means one clearing account per currency in Xero. Posting only the net lump hides your true processing cost and understates gross revenue.

The manual way, every month

  • Download the statement for the missing period
  • Check the file format, dates and signed amounts
  • Import into the correct Xero account and review overlaps
  • Compare the closing balance and reconcile the lines

A usable CSV or OFX from the provider may be enough. Native PDF import is also available for eligible US and Canadian Xero organisations.

Review the statement, then choose how to import it

Preview the extraction, check the transactions, then send eligible lines through Xero's Bank Feeds API or download a Xero-ready CSV. Direct delivery supports dates within the last year and can be blocked by another provider's feed connection. Use CSV for older history. Overlap checks cover previous uploads to the same StatementClear feed, so also check any period already imported from other sources.

  1. Step 1

    Start with your statement

    Preview a file before choosing how to get it into Xero.

  2. Step 2

    Upload your Stripe statement

    PDF, CSV or Excel - whatever you can export. Map the columns once and we remember the mapping.

  3. Step 3

    We check it first

    Review dates, amounts and signs. Balance checks use the source data, and overlap checks use prior StatementClear uploads.

  4. Step 4

    Send to Xero or download CSV

    Send eligible lines directly to Xero or download a Xero-ready CSV. You complete reconciliation in Xero.

See the PDF-to-Xero workflow · Check PDF import in your region

Questions about Stripe and Xero

The native option leans on an automatic payout schedule and a single Stripe account per org, runs a few days behind, and tends to leave refunds, chargebacks and payments taken outside Xero invoices as partial matches you finish by hand. StatementClear lets you review the statement, then send eligible lines to Xero or download a Xero-ready CSV. Direct delivery supports dates within the last year; older history uses CSV.

Most bookkeepers keep a Stripe clearing account in Xero: gross charges and fee lines go in there, and the payout line then matches the transfer arriving in the bank feed. That keeps fees visible as a real cost and your revenue figures gross, not net. StatementClear posts whatever your Stripe export contains into the feed you set up for that clearing account.

You can choose direct delivery through Xero's Bank Feeds API for eligible accounts and dates, or download a Xero-ready CSV. Direct delivery only supports dates within the last year, and another provider's existing feed can prevent connection. Both routes deliver lines you still reconcile in Xero.

Yes. The payment service marks invoices as paid, which is a different job. StatementClear feeds the Stripe balance account, so the gross activity, fees and payouts have somewhere to reconcile against, and the two never post the same line twice.

Where this comes from

Everything above about what Xero's native feed covers, what its manual import accepts and how feed lines reach a bank account comes from Xero's own documentation. The relevant pages are below, so you can check the claim rather than take it.

Guides for Stripe in Xero

Related accounts

Get your Stripe statement into Xero.

Upload a Stripe statement and review the preview. Your first complete statement is free.

Upload a statement

1 complete statement free per account. No card required.

Browse every bank and platform or read the Xero bank feed guides.