Fixing Stripe, Square, and PayPal deposits and fees in QuickBooks

CleanupOwl Team

When Stripe and Square make your bank balance lie

You open a new QBO file and the client proudly says, "All my Stripe and Square are integrated and automatic." Then you look at the P&L and see Merchant Fees that feel way too high, revenue that looks inflated, and a checking account that never quite reconciles without mysterious adjustments.

This is the quiet mess that payment processors create when their deposits and fees are hitting the wrong accounts, or worse, hitting multiple accounts for the same payout. On the surface, the bank is "reconciled." Underneath, income is overstated, fees are doubled, and clearing accounts are a junk drawer of half-baked integrations.

The pattern is usually the same:

  • The processor posts a payout directly to Checking.
  • Some other sync or manual workflow posts the same payout to a clearing account or Undeposited Funds.
  • Fees are sometimes netted against the payout, sometimes posted separately, and sometimes both.

If you don't deliberately hunt this down during cleanup, you can spend hours reconciling around the problem instead of fixing it.

Where this problem hides inside QuickBooks Online

You won't see this from the dashboard. You see it when you start pulling transaction detail and realize the same Stripe payout is showing up in two places.

The core reports:

  • Transaction Detail by Account
  • Filtered for the last 12–24 months
  • With memo/description filters like "Stripe", "Square", "PayPal", "Shopify"

From there, you start mapping:

  • Which asset accounts are getting processor deposits? (Checking, clearing, Undeposited Funds, random Other Current Asset accounts.)
  • Which expense accounts are getting processor fees? (Bank Service Charges, Merchant Fees, Payment Processing, random Office Expense.)

A concrete example

Say you see this in the Transaction Detail by Account report for March 15, 2025:

  • Deposit: 3/15/25, $1,000 to Undeposited Funds, memo "Stripe Payout 0315"
  • Deposit: 3/15/25, $1,000 to Checking, memo "Stripe Payout 0315"
  • Expense: 3/15/25, $30 to Bank Service Charges, memo "Stripe fee 0315"
  • Expense: 3/15/25, $30 to Merchant Fees, memo "Stripe fee 0315"

Same date, same memo pattern, same amounts. That's not four different events. That's one Stripe payout and one Stripe fee, recorded twice on both the deposit and fee side.

Over a year, that pattern can quietly overstate revenue and expenses by tens of thousands.

Red flags to watch for

  • Same processor name and amount showing as deposits in more than one asset account on the same or next day.
  • Stripe/Square/PayPal memos in Undeposited Funds that never clear out.
  • Fees for the same date and amount split between Bank Service Charges and Merchant Fees.
  • Processor fees coded to random expense categories that don't match your firm's standard chart.
  • Clearing accounts that never hit zero and are full of deposits with processor memos.

Run Transaction Detail by Account for the last 12 months, filter the Memo/Description for "Stripe" (or your processor), then sort by Amount. Duplicate payouts and fees with identical amounts will jump out immediately.

What happens if you just live with it

Most firms first feel this as a reconciliation annoyance. But the real damage is in the financials and in how much rework you create for yourself later.

The damage inside your numbers

When the same payout is recorded into two asset accounts, you can end up with:

  • Revenue recognized twice: once through a clearing flow, once straight to Checking.
  • Fees recorded twice: netted against deposits and also as separate expenses.
  • Clearing accounts that never zero out, making it impossible to tell what’s truly outstanding.

That leads to:

  • Overstated income (sometimes by the full amount of duplicated payouts).
  • Overstated expenses (duplicated fees), which might partially offset but still distort margins.
  • Bank balances that only reconcile because someone forced it with adjustments.

From a tax and advisory standpoint, this is ugly. You might be filing returns on inflated gross receipts. Or you’re trying to advise on pricing and margins using fee percentages that are completely wrong because the fee expense is doubled.

The damage in client conversations

This is also a trust issue.

You tell the client their Stripe fees are 6% of revenue, and they push back: "Stripe only charges me around 3%." They’re right—your numbers are wrong because fees are duplicated or misposted.

Or you clean the file but don’t address the integration patterns. Six months later, the same issues are back, and now you’re explaining why the books drifted off again even though "everything is automated."

Once you’ve been burned by this a couple of times, you stop trusting any payment-processor-heavy file until you’ve run a proper diagnostic.

How to clean this up without losing a weekend

The goal is simple: for each processor, every payout should have one clear path from sale to bank, and every fee should land in one consistent expense account.

Here’s a practical cleanup flow:

  1. Identify all processors and their accounts.

    • From Apps or by scanning memos, list Stripe, Square, PayPal, Shopify, etc.
    • For each, list all asset accounts with their deposits and all expense accounts with their fees.
  2. Define the "intended" mapping per processor.

    • Pick one clearing/bank account path per processor (e.g., Stripe Clearing → Checking).
    • Pick one primary fee expense account (e.g., Merchant Fees – Stripe).
    • Document this in your workpapers.
  3. Find duplicate or split deposits.

    • For each processor, pull Transaction Detail by Account for asset accounts, last 12–24 months, filtered by memo.
    • Sort by Amount, then by Date.
    • Look for the same gross amount on the same/adjacent date in more than one asset account with similar memos.
    • Decide which posting is correct based on your intended mapping; reclass or delete the duplicate.
  4. Find duplicate or inconsistent fees.

    • Same report, but for expense accounts.
    • Sort by Amount and Date; look for identical or near-identical fee amounts on the same/adjacent date across multiple accounts.
    • Consolidate to your chosen Merchant Fees account; remove true duplicates.
  5. Align deposits and fees by batch.

    • For larger clients, group by memo/batch ID (e.g., "Stripe Payout 0315").
    • Make sure each batch has:
      • One deposit path (clearing → bank or direct to bank).
      • One fee posting to the correct expense account.
    • Fix cases where income is recognized twice (e.g., sales receipt to Undeposited Funds plus a separate deposit directly to Checking for the same batch).
  6. Lock in the integration behavior.

    • Adjust app settings so the processor posts only to your intended clearing and fee accounts.
    • Turn off any duplicate syncs (e.g., both Stripe and Shopify sending the same payout).

Be strategic with your lookback. For high-volume processors, 12 months is usually enough for cleanup unless you’re restating or there’s a known prior-year issue. For closed tax years, document any remaining anomalies, quantify the impact, and avoid heavy rework unless it’s clearly material.

Building this into your standard workflow

This shouldn’t be a heroic one-off. It should be a line item in your cleanup checklist: "Payment processor deposit/fee mapping and duplicate check."

A simple pattern that works well:

  • Run a processor diagnostic early in scoping. Tools like CleanupOwl can scan the last 12–24 months and hand you a list of suspected duplicate payout clusters and fee clusters, grouped by processor and account.
  • Use that list to estimate effort and decide how deep you need to go (e.g., full rework vs. sampling and materiality-based adjustments).
  • After cleanup, rerun the same diagnostic to confirm that:
    • Each batch only hits one asset path.
    • Fees only hit your intended expense accounts.

If you’re a business owner reading this, this is exactly the kind of question to ask your accountant: "Are you checking whether Stripe and Square are double-posting deposits or fees, either manually or with a diagnostic tool like CleanupOwl?"

The patterns you'll keep seeing in client files

Here’s how this tends to show up in the wild:

SituationWhat you see in QBORisk if you shrug it off
Duplicate Stripe payoutsSame $1,000 "Stripe Payout" on the same date in Undeposited Funds and CheckingIncome overstated, bank balance off unless someone forces reconciling entries
Duplicate Stripe fees$30 Stripe fee on same date in both Bank Service Charges and Merchant FeesFee expense doubled, margins look worse than reality
Split fees across random accountsOne payout’s fees scattered across Bank Service Charges, Office Expense, and MiscellaneousHard to analyze true processing cost; messy P&L categories
Mixed processor mappingsStripe deposits to a clearing account, but fees coded to a generic bank fee account used for other banksConfusing audit trail; easy to miss duplicates and misclassifications
Clean Square setupEach daily batch: one net deposit from Square Clearing to Checking, one fee to Merchant Fees – SquareClean reconciliation, accurate revenue and fee percentages

Your reaction shouldn’t be the same for all of these.

When you see occasional small duplicates for immaterial amounts, you might document, adjust once, and move on. When you see systematic patterns—every Stripe payout hitting two asset accounts, or every fee batch doubled—you’re looking at a structural issue that can materially distort revenue and expenses.

That’s where a structured diagnostic helps. A tool like CleanupOwl can cluster payouts and fees by date, amount, and memo, and flag the clusters where the same batch is clearly hitting multiple accounts. You still make the judgment calls, but you’re not hunting through thousands of lines by hand.

Before making large-scale changes, check for prior tax filings, compiled/reviewed financials, or lender packages that relied on the old numbers. For significant corrections, document your approach, get client sign-off, and coordinate with their tax preparer if you’re not in that role.

Making this part of your cleanup playbook

Payment processor integrations are one of those areas where "automated" does not mean "correct." If your firm does any serious QBO cleanup, this deserves its own checklist line: map processors, define intended accounts, and scan for duplicate deposits and fees.

Once you’ve done this a few times, you’ll start to recognize the patterns in minutes. The real leverage is turning that pattern recognition into a repeatable diagnostic—whether you run it manually with reports or let something like CleanupOwl pre-flag the suspicious clusters before you even quote the job.

For business owners, this is a good litmus test for your accounting support: ask whether your accountant has ever checked if Stripe, Square, or PayPal are double-posting your payouts or fees. If the answer is no, there’s probably hidden noise in your numbers.

Handled well, this isn’t just cleanup—it’s risk reduction. You protect revenue accuracy, fee analysis, and bank reconciliations all at once, and you stop fighting the same integration fires every year.

Ready to run deeper QuickBooks diagnostics?

Use CleanupOwl to automatically flag issues like this before you quote or start your next cleanup project.

Start Free Trial