PayoutPair, home

How to Import Stripe Payouts into Xero as a Manual Journal

Turn a Stripe payout into one Xero manual journal: account codes, tax rates, negative credits and the import template explained, with a worked example.

Xero's bank feed shows each Stripe payout as one deposit. The deposit is net of fees, refunds and disputes, so if you code it straight to Sales, your profit and loss is wrong. The cleanest manual approach is to post each payout as a manual journal that splits out every component, then reconcile the bank line against it.

This guide covers getting the numbers from Stripe, building Xero's manual journal import file (AccountCode, TaxRate, signed amounts), and reconciling.

Before you start: set up a Stripe clearing account

Many bookkeepers don't post the journal straight to the bank account. They use a Stripe clearing account, a Current Asset or Bank account in Xero named "Stripe Clearing". The journal debits clearing for the net payout, and the bank-feed deposit gets coded as a transfer from clearing. This avoids awkward matching, because Xero bank reconciliation matches bank lines to transactions and payments, not directly to manual journal lines. Clearing should net to zero after each payout.

You'll also need account codes for:

Account codes differ between organisations. Check Accounting → Chart of accounts for yours.

Step 1: Export the itemized payout reconciliation report from Stripe

In the Stripe Dashboard, open Reports → Payout reconciliation, set the date range, click Download, and choose Itemized. Each row is a balance transaction, with automatic_payout_id, reporting_category, gross, fee and net.

Filter to a single automatic_payout_id, then total gross and fee by reporting_category.

Step 2: Summarize the payout

Worked example (illustrative numbers only)

A UK-based business, GBP payout:

reporting_categorygrossfee
charge2,400.0052.80
refund-120.000.00
dispute-60.0020.00
other_adjustment-5.000.00

Net payout = 2,400.00 − 120.00 − 60.00 − 5.00 − 52.80 − 20.00 = 2,142.20. That should equal the deposit in your bank feed.

Step 3: Build the manual journal

LineAccountDebitCredit
Net payoutStripe Clearing2,142.20
Stripe feesBank Fees72.80
RefundsSales Refunds120.00
DisputesChargebacks60.00
AdjustmentsBank Fees (or Suspense)5.00
Gross salesSales2,400.00

Debits: 2,142.20 + 72.80 + 120.00 + 60.00 + 5.00 = 2,400.00. Credits: 2,400.00. The journal balances.

Tax rates: the part that trips people up

Every line in a Xero manual journal carries a tax rate. Pick these carefully:

Step 4: Create the import file

In Xero, go to Accounting → Manual journals, click Import, and download the template. Don't rename or delete the column headings. The key columns are:

Example rows:

*Narration,*Date,Description,*AccountCode,*TaxRate,*Amount
Stripe payout po_XXXX,12/04/2026,Net payout,610,No VAT,2142.20
Stripe payout po_XXXX,12/04/2026,Stripe fees,404,No VAT,72.80
Stripe payout po_XXXX,12/04/2026,Refunds,201,No VAT,120.00
Stripe payout po_XXXX,12/04/2026,Disputes,405,No VAT,60.00
Stripe payout po_XXXX,12/04/2026,Adjustments,404,No VAT,5.00
Stripe payout po_XXXX,12/04/2026,Gross sales,200,No VAT,-2400.00

(Template headers can differ slightly by region and version. Use whatever the template you downloaded shows, and swap in your own codes and tax rate names.)

Upload the file. Xero imports manual journals as drafts, so review each one and Post it.

Step 5: Reconcile the bank line

In Bank accounts → Reconcile on your main bank account, find the 2,142.20 deposit. Use Transfer and choose Stripe Clearing as the account. Your clearing account now nets to zero: the journal debited it 2,142.20 and the transfer credits it 2,142.20.

Check it every so often. Run an Account Transactions report for Stripe Clearing. If the balance isn't zero, a payout is missing either its journal or its transfer.

Common mistakes

  1. Wrong sign convention. In the import file, credits must be negative. If they're positive, the journal won't balance and the import errors.
  2. Tax rate names that don't match. "No VAT" is not the same as "No Vat".
  3. Account names in AccountCode. Xero wants the code.
  4. Coding the bank line to Sales. This skips the split and understates revenue and fees.
  5. Multi-currency. If Stripe pays out in a currency different from your base currency, handle the FX in Xero. This guide assumes the payout and the organisation share a currency.

Where PayoutPair saves time

Doing this weekly means repeating the filter, pivot, sign-flip and tax-rate entry every time. PayoutPair takes the Stripe payout reconciliation CSV and produces one balanced journal with gross sales, Stripe fees, refunds, disputes, adjustments and net to bank, ready for Xero's manual journal import. On the mapping screen you set the account code and tax rate for each line once. After that, the export follows the template layout, with signed amounts that sum to zero.

It's CSV-only. There's no Stripe connection and no access to your Xero file, so you still upload, review and post the draft yourself. You can try one CSV without an account or check a payout in the free calculator. The free plan covers 5 payouts a month. Solo is $9 a month for one business. Bookkeeper is $29 a month for up to 10 businesses, and Bookkeeper Plus is $79 a month for up to 40.

FAQ

How do I record Stripe payouts in Xero without an integration?

Export the itemized Stripe payout reconciliation report, summarize it by reporting category, and import a manual journal (Accounting → Manual journals → Import) that splits gross sales, fees, refunds and disputes. Then reconcile the bank deposit against a Stripe clearing account.

Are credits negative in Xero's manual journal import?

Yes. Debits are positive and credits are negative, and each journal's lines must sum to zero.

What goes in the TaxRate column?

The tax rate's name exactly as it appears in your Xero tax rates, for example "No VAT" or "BAS Excluded", depending on region.

Why use a Stripe clearing account?

Bank reconciliation in Xero matches bank lines to transactions and transfers. Posting the journal to a clearing account and then transferring from clearing to the bank keeps reconciliation one-to-one.

Do imported manual journals post automatically?

No. They import as drafts. Review them and post.

Can I include multiple payouts in one import?

Yes. Give each payout its own Narration and Date so Xero creates a separate journal for each.

Stripe is a trademark of Stripe, Inc. QuickBooks is a trademark of Intuit Inc. Xero is a trademark of Xero Limited. PayoutPair is not affiliated with, endorsed by, or sponsored by Stripe, Intuit, or Xero.