TL;DR: PayPal is not a passthrough to your bank — it is its own account that holds money, takes a fee per sale, and converts currencies. Reconcile it by treating PayPal as a separate bank/clearing account in Xero. The 4-step process: (1) connect or import the PayPal feed, (2) record each sale gross with the fee as an expense, (3) reconcile PayPal-to-bank transfers as transfers, not income, (4) handle currency conversion and flag what is left. Your bank balance and your PayPal balance are supposed to differ.
PayPal trips people up because it behaves like a bank account, not a payment rail. Money lands in PayPal and stays there until you move it. Fees come out of every sale. If you accept payments in other currencies, PayPal converts them at its own rate. So your Xero bank feed and your PayPal balance will never line up on their own — and that is correct, not a bug.
The fix is to stop thinking of PayPal as a pipe to your bank and start treating it as its own account. Here is how.
Why PayPal reconciliation is messy
Three things make PayPal harder to reconcile than a normal merchant deposit:
- PayPal holds a balance. A $500 sale can sit in your PayPal balance for weeks. It is your money, but it is not in your bank, so it has to live somewhere in your books. That somewhere is a PayPal account in Xero.
- Fees come out per transaction. PayPal deducts a fee on each sale — commonly around 3.49% + a fixed fee for standard payments, depending on the transaction type. A $100 sale nets roughly $96. Both numbers belong in your books: $100 revenue, ~$4 expense.
- Transfers are separate from sales. When you move money from PayPal to your bank, that is not income — it is a transfer between two accounts you already own. The revenue was earned when the sale happened, inside PayPal.
- Multi-currency conversion. A sale in euros that converts to dollars creates a conversion spread and sometimes a small gain or loss that needs to be recorded.
The mental model that fixes all of this: PayPal is a bank account. Sales increase its balance, fees decrease it, and transfers move money from it to your real bank.
The 4-Step Reconciliation Process
Step 1: Connect or import the PayPal feed into Xero
Set PayPal up as its own bank account in Xero, then connect the PayPal feed or import the activity export (Activity → Statements → download CSV). Every sale, fee, refund, and transfer now flows into a dedicated account instead of getting tangled up with your checking account.
If you reconcile manually, the PayPal activity report is your source of truth — it lists the gross amount, the fee, and the net for each transaction.
Step 2: Record each sale gross, with the PayPal fee as an expense
For every sale, post two lines, not one:
- Gross sale amount → Revenue
- PayPal fee → Merchant Fees / Payment Processing Expense
The net is what stays in your PayPal balance, but the net is not your revenue figure. Recording only the net is the single most common PayPal mistake — it quietly understates both your income and a deductible expense.
Step 3: Reconcile PayPal-to-bank transfers as transfers
When PayPal sends money to your bank, you will see it twice: leaving the PayPal account and arriving in your checking account. In Xero, code this as a transfer between accounts, not as income. The money was already recorded as revenue when the sale happened. Treating the transfer as a new sale double-counts your revenue and inflates the tax you owe.
Step 4: Handle currency conversion and flag what is left
For multi-currency sales, record the transaction in your home currency at the converted amount PayPal actually credited. Any difference between the original rate and the settled rate is a foreign exchange gain or loss — book it to a realized FX account so it does not distort revenue.
Then flag whatever still does not tie out:
- Money sitting in PayPal — correct; it is your PayPal balance, not a mismatch
- Pending or on-hold funds — recorded but not yet available
- Refunds and disputes — contra-revenue, reducing the original sale
- Timing differences — a transfer initiated but not yet cleared at month end
Common mistakes freelancers make
- Recording only the net PayPal received — understates revenue and skips the fee deduction worth roughly 3% of sales
- Counting transfers to your bank as income — double-counts revenue and overstates profit
- Ignoring the PayPal balance entirely — leaves real money off your books and makes the account impossible to reconcile
- Treating a foreign-currency sale at face value — ignores the conversion and creates a permanent unexplained difference
How to automate this
Splitting every PayPal sale into gross-plus-fee, then sorting transfers from income by hand, is tedious and easy to get wrong. Prosper imports your history automatically and auto-categorizes roughly 80–90% of transactions from merchant patterns and prior categorizations — including separating PayPal fees from revenue and recognizing transfers as transfers. You only review the exceptions: the held funds, refunds, and currency conversions that need a human decision. Most people clear the queue in a single sitting. See how it works.
For a deeper look at why reviewing only the exceptions beats checking every line, read exception-based accounting explained.
FAQ
Why doesn't my PayPal balance match my bank account? Because money can sit inside PayPal without ever reaching your bank. PayPal is its own account that holds a balance, deducts a fee on every transaction, and only moves funds to your bank when you transfer them. Your bank only ever sees the transfers, not the underlying sales, so the two balances are supposed to be different.
Should I treat PayPal as a bank account in Xero? Yes. Set PayPal up as its own bank or clearing account in Xero. Sales and fees post inside the PayPal account, and the transfer to your real bank is recorded as a transfer between two accounts — not as new income. This keeps you from double-counting revenue.
How do I handle PayPal fees in Xero? Record each sale at its gross amount and book the PayPal fee as a separate expense on the same transaction. If you only record the net amount that PayPal kept, you understate both your revenue and your deductible processing fees. Prosper splits the fee out automatically and only asks you about the transactions that do not fit the pattern.