🔒 Converted on your device

Convert Stripe CSV to Xero

Upload your Stripe export and get a Xero bank-statement file (Date, Amount, Payee, Description, Reference). Every sale, fee, refund and payout comes out as its own line, ready to reconcile.

Drop your CSV export here

or click to browse · several files at once are merged (e.g. Stripe activity + payouts)

No file handy?

Options

🔒 Your file never leaves this device. Conversion runs in your browser. There are no uploads, no cookies and no trackers. How we know

Stripe → Xero in three steps

The cleanest way to get Stripe into Xero is to treat Stripe like a bank account. Stripe collects your sales, takes its fees and then pays out the rest. Import that activity into a “Stripe Clearing” account and your books show gross income, real fees and payouts that match your checking deposits.

1. How to export your Stripe balance and payout reports

  1. In the Stripe Dashboard open Reports → Balance summary and set the date range (for example, last month).
  2. In the Balance change from activity section click Export, choose CSV and the Itemized format, keep the default columns, then download.
  3. In the Payouts section click Export → CSV → Itemized for the same period.
  4. Drop both files into the converter together. They are merged into one statement, so charges, fees, refunds and payouts all land in the same clearing account.
The itemized activity report excludes payouts by design, which is why you also add the payouts file. Older Dashboard “Balance → Export” files (columns like Created (UTC), Amount, Fee, Net) are detected too.

2. Convert it here

Drop the file into the converter above. The source is detected from the column headers, and the summary shows money in, money out and the net change so you can sanity-check against Stripe's own totals before downloading.

3. How to import the file into Xero

Add a bank account for Stripe Clearing: Accounting → Bank accounts → Add Bank Account, and if your provider isn't listed, add it as an account you'll import statements into. Name it “Stripe Clearing” and set the right currency.
  1. Go to Accounting → Bank accounts.
  2. On the Stripe Clearing account, open the menu (⋯) and select Import a Statement.
  3. Browse to the converted CSV and select Next.
  4. Assign the columns: Date → Transaction Date, Amount → Transaction Amount, Payee → Payee, Description → Description, Reference → Reference. Xero remembers this mapping next time.
  5. Confirm the date format matches the one you chose here, then Save → Import. The lines appear in the reconcile tab, ready to match or create.

Xero needs a Date and a single signed Amount column (income positive, expenses negative, no thousands separators). Payee, Description and Reference are optional but make reconciliation much faster. Accepted date formats include DD/MM/YYYY, MM/DD/YYYY and YYYY/MM/DD. The converter writes UTF-8, comma-separated files with exactly these columns.

What each Stripe row becomes

Stripe rowIn the Xero fileTypical category
chargeGross amount as money in, plus a separate processing-fee lineSales / Income and Merchant fees
refundMoney outRefunds / contra-income
dispute / dispute_reversalDisputed amount out, dispute fee out; reversals back inChargebacks; Merchant fees
fee (Billing, Radar, Tax, etc.)Money outSoftware / merchant fees
payout (from the Payouts file)Money out of the clearing accountTransfer to your checking account (not an expense!)
other_adjustment, contribution, network_cost…Signed as Stripe reports themReview case by case

The Xero format we produce

ColumnContents
DateDD/MM/YYYY, MM/DD/YYYY or YYYY/MM/DD (pick what matches your org)
AmountSigned, no currency symbols: 1250.00 / -36.55
PayeeCustomer name or the platform (Etsy, Stripe, PayPal)
DescriptionType, item and details. Shows as Particulars in Xero
ReferenceOrder #, Stripe balance transaction ID or PayPal transaction ID

Stripe quirks the converter handles

  • Stripe reports gross, fee and net in major units (dollars), with net = gross − fee. Every row is checked, and you get a warning if a row doesn't add up.
  • Payout sign conventions differ between Stripe exports. Payouts always come out as money leaving the Stripe clearing account.
  • Failed or cancelled payouts are skipped automatically.
  • If you use more than one settlement currency, export one currency at a time. The converter warns you if a file mixes currencies.
Avoid double-counting. When the payout reaches your bank, Xero will also see it in your checking account's feed. Record that as a transfer from Stripe Clearing, not as income. The sales were already recorded from this file.

FAQ

Do my Stripe files get uploaded anywhere?

No. The conversion runs entirely in your browser with JavaScript, and the file is never sent to a server. You can check this by loading the page, switching off your Wi-Fi and converting a file. It still works. We don't use analytics or tracking scripts either.

Why are fees on separate lines instead of netted?

Your Stripe payout is gross sales minus fees. Recording both lets your books show true gross income (which is what a 1099-K reports) and a deductible fee expense. If you prefer net amounts, untick “Split fees into separate lines” in Options.

Won't this double-count income that already shows up in my bank feed?

Not if you use the clearing-account method. The Stripe statement goes into a “Stripe Clearing” account in Xero. When Stripe pays out, the payout line leaving Stripe Clearing is matched as a transfer to the deposit in your checking account, so it isn't booked as new income.

What date format should I choose?

Choose the format your Xero organisation uses: MM/DD/YYYY for US orgs, DD/MM/YYYY for UK/AU/NZ. YYYY/MM/DD can't be misread either way. Confirm the same format on Xero's import screen.

Is it free?

Files that produce up to 20 rows convert and download for free, and you can preview any file. Bigger files need a Pro pass. You can download the first 20 rows to test the import before you buy.

Other converters

Last reviewed October 2026. Platform menus change from time to time. If a step looks different for you, email support@payouttobooks.com and we'll update the guide.

Simple pricing

Try everything free. Pay only when your files are bigger than 20 rows.

Free

$0

  • Files up to 20 rows
  • Preview any file
  • Test-import the first 20 rows
  • All formats
Start converting

30-day pass

$12one-time

  • Unlimited rows & files for 30 days
  • Perfect for year-end catch-up
  • No subscription

Pro annual

$59/year

  • Everything in Pro
  • Save 45% vs monthly
  • Bookkeepers: one license per person