Tue Nov 03 2026 00:00:00 GMT+0000 (Coordinated Universal Time)
How to record Stripe fees in Xero
Put Stripe processing fees, dispute fees, and other Stripe fee types on a Xero manual journal that still matches the deposit.
Stripe fees rarely appear as their own bank line. They are already deducted from the payout. In Xero they still need an expense (or a contra) account, or the deposit will not agree with sales.
Fees are not one column
On an itemized Stripe report, a card charge usually has a fee in the fee column. That is the processing fee. Other Stripe charges show up as their own rows, with reporting categories such as fee, stripe_fee, stripe_fx_fee, tax_fee, or network_cost. A dispute can also carry a dispute fee in the fee column while the disputed principal sits on the dispute row.
PayoutPair adds all of those into the fees total. The dispute amount itself stays on disputes, so a won or lost dispute is not buried inside the fee expense.
When Stripe returns a fee on a refund, the fee column is negative. That reduces the fee expense instead of being recorded as income.
Import a manual journal
Xero's manual journal CSV expects an account code, a tax rate that exists in the organisation, and a signed amount. A positive amount is a debit. A negative amount is a credit. The lines of one narration must sum to zero.
- In PayoutPair, open the business mapping and fill the Xero account code for fees, sales, refunds, disputes, adjustments, and the bank account.
- Set the tax rate to the no-tax rate your organisation uses. Many files import with
Tax Exempt. If Xero rejects the rate name, copy the name from Xero exactly. - Set the date format to the one that organisation uses:
YYYY-MM-DD,MM/DD/YYYY, orDD/MM/YYYY. - Download the Xero CSV and import it as a manual journal.
The fee line is a debit when fees reduced the payout, which is the usual case. The bank line is a debit for the amount that arrived. Sales is a credit.
Check the deposit, not the fee in isolation
A fee account that looks right can still come from an incomplete CSV. Compare the bank line to the payout on the bank statement. If they differ, the payout was marked as a mismatch and the gap was parked on adjustments. Fix the export from Stripe and upload it again. Re-importing the same payout updates the saved totals.
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.