How to reconcile PayPal payouts against your ERP
PayPal balances, fees, and transfers rarely line up with ERP entries. How to reconcile PayPal payouts in NetSuite or QuickBooks, step by step.
Part of the payment reconciliation and cash application guide.

To reconcile PayPal payouts against your ERP, treat PayPal as its own bank account. Record every balance-affecting PayPal transaction (payments, fees, refunds, chargebacks, currency conversions, holds) in a PayPal clearing account, and record each withdrawal to your bank as a transfer out of it. At month-end, the clearing account balance in NetSuite or QuickBooks Online should equal the PayPal balance on the same date. When it does, the withdrawals match the bank and every invoice is marked paid at its full amount.
PayPal is harder than it looks because it behaves like a wallet, not a processor that sweeps daily. Money sits in a balance, fees come out per transaction, and transfers to the bank happen when someone or a sweep rule moves them.
Key takeaways
• PayPal is a balance, not a pass-through. Withdrawals to your bank don't correspond to a batch of sales the way processor payouts do, so reconcile the balance, not the transfer.
• PayPal's Settlement Report is the ledger to reconcile against. PayPal describes it as covering each transaction that affects settlement, with total debits, credits, and beginning and ending balances.
• Transaction event codes tell you how to post each line. T0006 is an Express Checkout payment, T0400 to T0403 are withdrawals, T1107 is a payment refund, T1201 is a chargeback, and T0200 is a currency conversion.
• Fees are recorded per transaction, never amortized. PayPal's documentation says so directly, which means every payment line carries its own fee to post.
• QuickBooks Online's Connect to PayPal app doesn't support multi-currency, according to Intuit, so multi-currency PayPal accounts need a different route.
• Loopfour, the deterministic finance workflow automation platform, runs this PayPal-to-ERP reconciliation on your existing accounts and holds any line it can't match for human approval.
Why PayPal is harder to reconcile than a card processor
PayPal is harder because it holds funds in a balance that you withdraw on your own schedule, in one or more currencies. A processor like Stripe settles automatic payouts in batches that map to specific transactions. PayPal withdrawals are often manual or swept by rule, so a $4,000 bank deposit doesn't correspond to any particular set of sales.
| Behaviour | Card processor with automatic payouts | PayPal |
|---|---|---|
| Where funds sit | Processor balance, swept on a schedule | PayPal balance until withdrawn |
| Link between deposit and sales | Each payout lists its transactions | Withdrawal is an amount, not a batch |
| Fees | Deducted before payout | Deducted per transaction as it posts |
| Currencies | Usually converted before payout | Can hold separate currency balances |
| What to reconcile | Each payout to its contents | The PayPal balance to the clearing account |
That difference changes the method. With PayPal, the question isn't "what's in this deposit?" It's "does my clearing account equal my PayPal balance?" If you've already set up Stripe this way, the approach in how to reconcile Stripe with QuickBooks Online carries over, with the balance tie-out doing more of the work.
What PayPal data do you need?
You need a complete list of balance-affecting transactions for the period, with gross, fee, net, currency, and event code for each. PayPal offers two practical sources.
• Settlement Report. PayPal's Settlement Report provides detailed information about each transaction that affects settlement and summarizes total debits, credits, and beginning and ending balances. Each row is a single transaction event. PayPal states that fees are never amortized across multiple transactions, and that net equals gross when no fee applies.
• Transaction Search API. For automated pulls, the Transaction Search API returns transaction history and a balances endpoint for total, available, and withheld balances at a point in time. PayPal documents a maximum date range of 31 days per request, so monthly pulls fit in one call.
The transaction event code (T-code) is the field that makes posting deterministic. PayPal publishes the full T-code list. These are the ones that drive most entries:
| T-code | PayPal name | How to post it |
|---|---|---|
| T0006 | Express Checkout Payment | Customer payment at gross, fee to merchant fees |
| T0007 | Website Payment | Customer payment at gross, fee to merchant fees |
| T0107 | Payment Fee | Merchant fees expense |
| T0200 | General Currency Conversion | Transfer between currency sub-balances; difference to FX gain or loss |
| T0400 to T0403 | Withdrawals (general, auto-sweep, Hyperwallet, manual) | Transfer from PayPal clearing to bank |
| T1107 | Payment Refund | Refund against the customer or credit memo |
| T1201 | Chargeback | Reduce clearing; hold in disputes receivable |
| T1202 | Chargeback Reversal | Reverse the dispute entry |
| T1500 to T1502 | Account holds | Track as restricted cash or a memo item, not revenue |
How to reconcile PayPal payouts in NetSuite
In NetSuite, set PayPal up as a bank-type account, post each PayPal transaction to it, and record withdrawals as transfers to your operating bank account. Then reconcile the PayPal account against the Settlement Report the same way you reconcile a bank statement.
• Create the account. Add a bank-type account named PayPal Clearing, one per PayPal currency balance if you hold more than one currency.
• Apply customer payments. Create customer payments against open invoices at gross, deposited to PayPal Clearing. Match by invoice number when PayPal carries it; otherwise by customer and amount, with ambiguous items held.
• Post fees and refunds. Post the fee column to merchant fees expense. Record T1107 refunds as customer refunds from PayPal Clearing.
• Record withdrawals as transfers. Each T0400-series withdrawal becomes a transfer from PayPal Clearing to the operating bank account for the same amount.
• Reconcile. Import the PayPal activity through NetSuite's bank data import and use Match Bank Data, or reconcile manually against the Settlement Report's ending balance.
Multi-currency adds a step. If PayPal holds EUR and GBP balances alongside USD, each needs its own clearing account in that currency, and T0200 conversions move value between them at PayPal's rate. The same pattern applies to processor payouts, covered in how to reconcile multi-currency Stripe payouts in NetSuite.
How to reconcile PayPal payouts in QuickBooks Online
In QuickBooks Online, you can use one of Intuit's PayPal connections or post from the Settlement Report yourself; either way, the destination is a PayPal account that ties to your PayPal balance. Intuit documents three options, and they behave differently:
| Option | What it imports | Main limitation |
|---|---|---|
| Connect to PayPal app | Balance-impacting transactions only, with sales detail, tax, and fees | Intuit states multi-currency is not currently supported |
| Sync with PayPal app | Most transaction types, with sales detail | Vendor payments and transfers to bank categorized manually |
| PayPal bank feed | All transaction types as bank lines | No detailed sales transactions, summary only |
Intuit also notes that none of these options import authorizations, fee reversals, or holds, as documented in its comparison of PayPal connection options. Those excluded items are exactly the ones that make a PayPal balance drift from the books, so check them against the Settlement Report even when a connector does the rest.
The QuickBooks Online steps mirror NetSuite: receive invoice payments into the PayPal account at gross, post fees to merchant fees, record refunds from the PayPal account, record each withdrawal as a transfer to checking, and match that transfer to the bank feed line instead of adding it as income.
A worked example: one month of PayPal activity
Here is a month reconciled end to end in USD. Amounts and fees are illustrative.
PayPal Clearing opens the month at $500.00, matching the PayPal balance. The Settlement Report shows:
| Date | T-code | Description | Gross | Fee | Net |
|---|---|---|---|---|---|
| Sep 4 | T0006 | INV-2201, Harbor Design | $1,200.00 | -$36.10 | $1,163.90 |
| Sep 9 | T0006 | INV-2202, Tallow & Pine | $850.00 | -$25.66 | $824.34 |
| Sep 15 | T0006 | INV-2205, Redline Studio | $2,400.00 | -$72.10 | $2,327.90 |
| Sep 18 | T1107 | Refund, INV-2188 | -$150.00 | $0.00 | -$150.00 |
| Sep 22 | T0403 | Manual withdrawal to bank | -$4,000.00 | $0.00 | -$4,000.00 |
The entries in your ERP:
| Entry | Account | Debit | Credit |
|---|---|---|---|
| Customer payments (three) | PayPal Clearing | $4,450.00 | |
| Accounts receivable | $4,450.00 | ||
| PayPal fees | Merchant fees expense | $133.86 | |
| PayPal Clearing | $133.86 | ||
| Refund | Sales returns and allowances | $150.00 | |
| PayPal Clearing | $150.00 | ||
| Withdrawal | Operating checking | $4,000.00 | |
| PayPal Clearing | $4,000.00 |
PayPal Clearing closes at $500.00 + $4,450.00 − $133.86 − $150.00 − $4,000.00 = $666.14. The Settlement Report's ending balance should read $666.14. The $4,000.00 on the bank statement matches one transfer. The three invoices are paid in full, and fees sit in expense rather than as short payments.
If the two balances disagree, the difference is almost always one of four things: a hold (T15xx) that reduced available balance, a chargeback not yet posted, a currency conversion, or a fee reversal that the connector skipped.
Where PayPal reconciliation goes wrong
Most PayPal breaks come from posting withdrawals as revenue, ignoring holds and chargebacks, or mixing currencies in one account. Each has a specific fix.
| Symptom | Cause | Fix |
|---|---|---|
| Revenue overstated, invoices still open | Bank deposit from PayPal booked as income | Match the deposit to the withdrawal transfer instead |
| Clearing higher than PayPal balance | Chargeback or hold not recorded | Post T1201 and T15xx lines from the Settlement Report |
| Small unexplained differences | Fee reversals excluded by the connector | Post fee refunds (T1109) manually or by rule |
| Balance off by an FX amount | Currencies mixed in one clearing account | Split clearing by currency; post T0200 conversions |
| Invoices partially open | Payments recorded net of fees | Record gross, fee separately |
Book a workflow review to see your PayPal activity posted to NetSuite or QuickBooks Online, with every unmatched line held for approval.
How to automate PayPal-to-ERP reconciliation
Automate it by encoding the T-code posting table as rules, pulling transactions on a schedule, and routing anything the rules don't cover to a person. Because every PayPal line carries an event code, gross, fee, and currency, the posting logic is fully rule-based.
In Loopfour Studio, the workflow runs like this:
Scheduled pull from the Transaction Search API → classify each line by T-code → match payments to open invoices in NetSuite or QuickBooks Online → post fees, refunds, and chargebacks to mapped accounts → record withdrawals as transfers → tie PayPal Clearing to the PayPal balance → exceptions to Slack for approval.
The rules are fixed in advance, so the same PayPal line always produces the same entry. A payment with no matching invoice, an unknown T-code, or a clearing balance that doesn't tie stops the run for that item and posts a Slack approval with the transaction and the candidate matches. Every run leaves an execution tree: what was pulled, how each line was classified, what posted, and who approved each exception.
The balance tie-out is the control that matters. It's the PayPal version of the check described in how to run a three-way match between Stripe, the general ledger, and the bank: processor, ledger, and bank all have to agree.
How to choose an approach for PayPal reconciliation
Choose by currency count, volume, and how much your close depends on the PayPal line. A connector is enough for a single-currency, low-volume account. A governed workflow is the better fit when PayPal carries real revenue in an audited close.
| Situation | Approach |
|---|---|
| QuickBooks Online, USD only, low volume | Connect to PayPal app plus monthly balance tie-out |
| Multiple currencies, or NetSuite | Settlement Report import to per-currency clearing accounts |
| High volume, chargebacks, audited close | Deterministic reconciliation workflow with exception approvals |
Connectors and horizontal automation tools are flexible and quick to switch on. They move PayPal data into your ledger, and for simple accounts that's enough. They are weaker on the parts auditors care about: excluded transaction types, currency handling, and a record of who approved each unusual item.
A connector imports what PayPal sends. Loopfour reconciles it, holds what doesn't tie, and records who approved it. We build the workflow on your existing PayPal and ERP accounts, run it every period, and maintain it when PayPal or your ERP changes.
Frequently asked questions
How do I reconcile PayPal payouts against my ERP? Set up a PayPal clearing account in your ERP, post every PayPal transaction to it at gross with fees separately, and record each withdrawal to your bank as a transfer. At month-end, the clearing balance should equal the PayPal balance from the Settlement Report on the same date.
How should PayPal fees be recorded in NetSuite or QuickBooks? Record the customer payment at the gross amount and post the PayPal fee to a merchant fees expense account. PayPal's Settlement Report shows gross, fee, and net per transaction, and PayPal states fees are never amortized across transactions.
Why doesn't my PayPal withdrawal match any sales? A PayPal withdrawal moves an amount from your PayPal balance to your bank; it isn't a batch of specific sales. Reconcile the PayPal balance to your clearing account instead of trying to tie each withdrawal to invoices.
Does QuickBooks Online support multi-currency PayPal accounts? Intuit states that its Connect to PayPal app doesn't currently support multi-currency. Multi-currency PayPal accounts need a separate clearing account per currency and a different import route, such as the Settlement Report.
What is a PayPal T-code? A T-code is PayPal's transaction event code, such as T0006 for an Express Checkout payment or T0403 for a manual withdrawal. It tells you what kind of event each line is, which makes it the key field for rule-based posting.
How do I handle PayPal holds in reconciliation? Holds (T1500 to T1502) reduce your available PayPal balance without being revenue or expense. Track them as restricted cash or a reconciling item so your clearing account still ties to the total balance.
Conclusion
To reconcile PayPal payouts against your ERP, stop matching withdrawals to sales and start reconciling the balance. Post every PayPal event by its T-code to a clearing account, record withdrawals as transfers, and tie that account to the Settlement Report each month. The bank matches, the invoices close, and the fees land where they belong.
Tell us the one workflow your team dreads. We will show it running — deterministic, permissioned, and auditable.
Book a demo.
Sources
• PayPal Developer: Settlement Report
• PayPal Developer: Transaction event codes (T-codes)
• PayPal Developer: Transaction Search API
• QuickBooks: Differences between Connect to PayPal, Sync with PayPal, and PayPal bank feeds
• Oracle NetSuite: Bank data import
Related reading
• How to reconcile Stripe with QuickBooks Online
• How to reconcile Stripe with NetSuite: the complete guide
• How to reconcile multi-currency Stripe payouts in NetSuite
• What is payment reconciliation, and why it breaks as you scale
• How to automate payment reconciliation, step by step
Sources
- Oracle NetSuite, Bank Data Import (opens in a new tab).
- Intuit QuickBooks, Differences between Connect to PayPal app, Sync with PayPal app, and PayPal Bank Feeds (opens in a new tab).
