
Guides
How Do You Reconcile Stripe and PayPal for US Bookkeeping Clients?
To reconcile Stripe and PayPal for bookkeeping clients, match gross sales, fees, refunds and payouts to the bank feed, then book each fee line.
What to take away
- Reconciling Stripe and PayPal for US bookkeeping clients runs through the Payment Processor Clearing account. Gross sales, fees and refunds post there, and the net deposit clears it.
- Form 1099-K reports gross payment card and third party network payments without a federal threshold reduction, so the processor figure will not match net deposits.
- Run the reconciliation monthly. A mismatch caught in one month is a journal entry. A mismatch caught in six months is a cleanup project.
- Keep the processor's monthly statement, the payout report and the bank statement together as the audit trail.
What has to be true before the first step
The client's Stripe and PayPal accounts must be connected to the bookkeeping file, either through a bank feed or a direct processor sync. The chart of accounts needs four dedicated accounts: Payment Processor Clearing, Merchant Fees, Refunds and Chargebacks. Without those, every payout gets coded to income and the fee expense disappears.
Setup Before Reconciling
- Connect Stripe and PayPal to bookkeeping file
- Create Payment Processor Clearing account
- Create Merchant Fees account
- Create Refunds and Chargebacks accounts
- Get login showing gross volume
- Pull monthly processor statement
You also need the login that can see gross volume, not just payouts. Stripe shows gross volume, fees and net on the dashboard summary. PayPal shows it under Reports, then Transactions. Pull the monthly statement for the period before you touch the bank feed.
The IRS recordkeeping guidance is the standard for what you keep: records that support the income and deductions on the return. See IRS recordkeeping guidance for retention periods and supporting documents.
The sequence
Reconciliation Sequence
- Pull processor statement and record gross, fees, refunds
- Match each bank deposit to a payout batch
- Post gross to income, fees to Merchant Fees
- Post refunds against original sale, not fees
- Clear clearing account to zero
- Confirm clearing ending balance is zero
- File statement, payout report, bank statement
- Pull the processor monthly statement for the period and export gross volume, fees, refunds and net payout. Fix those figures before you open the bank feed.
- Post gross sales to income and the fee total to Merchant Fees. Send the net payout to Payment Processor Clearing.
- Post refunds and chargebacks to their own accounts against the clearing account. A refund processed after the batch closes hits the next payout.
- Match the payout batch to the bank deposit by amount and date. If no batch matches, run a payout trace before you adjust an entry.
- Check the clearing account balance for the period. Zero means every gross transaction has a matching cash movement.
- Clear the clearing account once the deposit posts. The period is tied out when the balance returns to zero.
The step that decides the result
Step 5 decides everything. The clearing account is the bridge between gross activity and the cash that actually hit the bank. If it clears to zero, the period is tied out. If it does not, some transaction is missing from one side.
Payout Spanning Two Months
- January 31: batch initiated, gross sale recorded
- January statement shows gross sale
- February 2: cash lands in bank feed
- Clearing account carries the difference
- Match batch to deposit date, not sale date
A common failure is a payout that spans two months. Stripe pays out on a rolling schedule, so a batch initiated January 31 can land February 2. The January statement shows the gross sale, the February bank feed shows the cash.
The clearing account carries the difference until you match the batch to the deposit date, not the sale date.
A January batch makes the arithmetic concrete. Gross sales $12,400, processor fees $360, refunds $250, net deposit $11,790. Debit Payment Processor Clearing $11,790, debit Merchant Fees $360 and debit Refunds $250, then credit sales income $12,400. The clearing account sits at zero once the deposit posts.
How to check each step came out right
| Check | What you look at | Passing result |
|---|---|---|
| Gross sales | Processor statement vs. income account | Figures match to the dollar |
| Fees | Fee total vs. Merchant Fees account | Within one cent of statement |
| Clearing account | Ending balance after posting | Zero |
| Bank match | Deposit vs. payout batch | Same amount, same date |
The clearing account is the single most useful check. A zero balance means every gross transaction has a matching cash movement. A balance that grows month over month means transactions are being posted without a payout, or payouts without transactions.
Reconciliation Checks
Check
- Gross sales
- Matches to the dollar
- Fees
- Within one cent
- Clearing account
- Ending balance zero
- Bank match
- Same amount, same date
Passing result
- Gross sales
- Fees
- Clearing account
- Bank match
What to do when a step goes wrong
When the bank deposit does not match any payout batch, the named recovery is a payout trace. Open the processor's payout detail, list every transaction in the batch, and sum them. Then compare that sum to the deposit.
Deposit Does Not Match
Does the deposit match any payout batch?
No -> run a payout trace on the batch
Short deposit -> look for a reserve hold
If the deposit is short, look for a reserve hold. Stripe and PayPal both hold a rolling reserve on some accounts, especially new ones or those with chargebacks. The reserve is not a fee. It sits as an asset until released.
A released reserve hold is posted as a debit to the bank account and a credit to the reserve asset. It does not touch income.
If the deposit is long, look for a refund that was processed after the payout batch closed. That refund reduces the next payout, not this one. Post it to the clearing account and let the next batch absorb it.
A processor fee is not a bank fee. Booking Stripe fees to Bank Charges hides them from the profit and loss statement and from any fee analysis the client wants.
The 1099-K point most files get wrong
Form 1099-K reports gross payment card and third party network payments. It does not net out fees, refunds or shipping. A client who sees a 1099-K for $180,000 and bank deposits of $172,000 will ask why the numbers differ. The answer is fees and refunds.
Reconcile the 1099-K to gross sales in the bookkeeping file, not to net deposits. If the two gross figures differ, the client is missing a processor account or a sales channel. That gap is worth flagging before the return is filed.
When to stop and hand it to a professional
Hand the file to a CPA or an enrolled agent when the clearing account has carried a balance for more than one tax year, or when the processor statements are missing for a period that overlaps a filed return. Both conditions mean the income figure on a filed return may be wrong.
A bookkeeper can reconstruct a year of processor activity from dashboard exports. Reconstructing three years across multiple accounts, with amended returns in play, is tax work. The line is the filed return.
If the client runs payroll through the same accounts, the payroll liability reconciliation belongs with the same professional. See IRS Publication 15 for the withholding and deposit rules that apply once wages are in the mix.







