Why You’re Seeing Duplicate Stripe Transactions in Xero (USA)
When Stripe sends money to your bank, two separate feeds may report the same transaction:
| Source | What It Shows | Typical Label |
|---|---|---|
| Stripe feed | Transfer from Stripe balance → your bank account | Stripe Payout or Transfer to Bank |
| Bank feed | Incoming deposit from Stripe | Stripe Transfer or Stripe Payout |
Xero sees both:
- The transfer leaving Stripe (from the Stripe account).
- The deposit arriving in your bank account.
If both are reconciled to the same payment, Xero treats them as separate transactions, causing duplicates.
The Correct Treatment
1. Keep Both Accounts
- Stripe Account (asset) — acts like a clearing account.
- Bank Account — your actual business bank feed.
- Stripe transactions first hit the Stripe account in Xero.
- Only the payout (transfer) should move from Stripe → Bank.
2. Match, Don’t Duplicate
- In the Stripe account reconciliation, match the “Transfer to Bank” payout.
- In the Bank account reconciliation, match the incoming Stripe deposit to that same transfer (Xero creates this automatically).
- If both feeds imported separate transactions for the same payout, one is redundant.
3. Which Entry to Delete
Rule of thumb:
- Keep the one that Xero automatically created to link Stripe → Bank.
- Delete the duplicate from the other feed.
Steps in Xero:
- Go to Bank Accounts → Manage Account → Bank Statements → Reconcile.
- Identify duplicate payout lines (same date and amount).
- Click the down arrow → Remove & Redo or Delete the duplicate.
4. Avoid It Happening Again
- Check your Stripe integration:
- Accounting → Bank Accounts → Stripe.
- Use either the Stripe feed or a third-party connector (A2X, Synder, etc.), not both.
- Stop manual CSV imports once the feed is live.
- Ensure Xero automatically creates a “Transfer” between Stripe and Bank when payouts occur.
Quick Summary Table
| Situation | Correct Action |
|---|---|
| Two identical “Stripe Payout” lines | Delete the duplicate (usually from Stripe feed) |
| Stripe → Bank payout exists twice | Keep one transfer between Stripe & Bank; remove extra |
| Ongoing duplicates | Disconnect one of the overlapping feeds (keep only one integration) |
Pro Tip
If using a connector app (A2X, Synder, Bookkeep), configure it to post only journal summaries to Xero — not direct payouts — to avoid double-counting deposits.