Stripe, PayPal and Square in One QuickBooks File

One clearing account and one fee account per payment processor. Why the multi-processor chart of accounts is structural, not cosmetic.

Acodei Content Team · 9/15/2026 · 14 min read

Your profit and loss looks fine. Revenue is up, fees are in there somewhere, and every bank line has been matched. Then someone asks how much you actually paid to take card payments last quarter, and the honest answer is that you cannot tell, because Stripe fees, PayPal fees, and Square fees all went into one expense account called Merchant Fees.

That is the visible half. The invisible half is worse: if all three processors deposit into the same clearing account, that account no longer corresponds to anything you can check it against. It holds a number that is the sum of three balances at three companies, and there is no report anywhere that produces that number for comparison.

This post is about the chart of accounts that fixes both, and about why the fix is structural rather than cosmetic. The rule is one clearing account and one fee account per processor. That sounds like tidiness. It is not. It is the difference between having a reconciliation and having a feeling.

Running Stripe next to another processor? Acodei posts Stripe charges, fees, refunds, and payouts into QuickBooks Online with the accounts and the direction already right, so the Stripe side stops being the part you dread. Start a free trial.

A clearing account has to stand for exactly one balance

A clearing account for a payment processor is doing one job. It represents money that belongs to you but is still sitting at the processor. Sales go into it when they happen. Deposits come out of it when the processor pays you. Whatever is left is what the processor is holding.

The whole value of that account is that its balance is checkable. You can open Stripe, read the balance, open QuickBooks, read the clearing account, and see whether they agree. When they do not, the difference is a real finding: a sale that did not sync, a fee that posted to the wrong place, a deposit recorded twice.

Now put two processors in it. The QuickBooks balance is now Stripe plus PayPal. There is no screen at Stripe that shows that number and no screen at PayPal either. To check the account you would have to add two balances by hand, at the same instant, on a Tuesday, and then explain any difference without knowing which of the two it came from. Nobody does this. What happens instead is that the account stops being reconciled at all, drifts for months, and surfaces at year end as an unexplainable balance that gets journaled to an expense account so the file can be closed.

The rule follows from the job, not from preference. One clearing account per processor, because the account's only purpose is to be compared against exactly one external number.

Three processors, three different shapes of money

The second reason to separate them is that the three do not even move money the same way. A single account would be trying to hold three different mechanics at once.

Stripe: a balance that persists, swept on a schedule

Stripe records every event as a balance transaction, and the object carries the numbers separately. Stripe defines amount as the "gross amount of this transaction", fee as "fees paid for this transaction", and net as the "net impact to a Stripe balance", noting that you calculate the net as amount minus fee. The balance transaction reference is explicit about the arithmetic.

That matters for bookkeeping because the gross figure is available to you. A $100 sale with a $3.20 fee is not a $96.80 sale. It is $100 of revenue and $3.20 of expense, and Stripe hands you both numbers rather than a single net.

Money then accumulates in the Stripe balance and leaves on a schedule you choose. Stripe documents four options: manual payouts, daily payouts, and weekly or monthly payouts on days you specify. Stripe's wording is that it "sends funds from your available balance to your bank account as payouts", and when funds become available depends on settlement timing, expressed per country as T plus some number of business days.

So Stripe is a real, persistent balance with a batched sweep. The clearing account model fits it exactly.

Square: a sweep with a cutoff

Square's standard behavior is a daily transfer rather than an accumulating balance. Square's transfer documentation states that "payments taken before 5 PM PT/8 PM ET will be available in your bank account the next business day", that payments after the cutoff arrive by the second business day, and that transfers do not go out on Saturdays. Faster options exist and are priced: instant and same-day transfers each carry a 1.95% fee per transfer, on top of standard card processing fees.

One detail in Square's own documentation tells you where the fees sit. The minimum balance for a faster transfer is measured "after Square's processing and transfer fees", so the fees come out before the amount that reaches your bank is determined. Square does not state a gross-versus-net accounting position anywhere in that article, so do not assume one. Read your own settlement report and see which figure it gives you.

The practical consequence is that a Square clearing account should be close to empty most of the time, with a predictable weekend bulge. That is a different normal from Stripe, and if the two share an account you cannot tell a weekend bulge from a sync failure.

PayPal: a balance you draw down

PayPal behaves less like a processor with a payout schedule and more like an account you hold money in and move money out of when you decide to. PayPal's business fee page prices the withdrawal itself: a standard transfer to a bank account is "No Fee (when no currency conversion is involved)", while an instant transfer costs "1.50% of amount transferred" with a minimum fee.

The fact that the withdrawal is a priced, discretionary action is the tell. Stripe pushes money to you on a schedule. PayPal waits for you to ask.

PayPal's US commercial rates also sit differently: the fee page lists 3.49% plus a fixed fee of 0.49 USD for PayPal Checkout and Guest Checkout, and 2.99% for standard credit and debit card payments. Whether those land on your books as one blended number or as itemized fees depends on which PayPal report you export, which is a good reason to decide once and write it down.

Why pooling them removes the only check you have

Put the three side by side and the pooling problem stops being abstract.

StripeSquarePayPal
Does a balance accumulate?Yes, until a payoutBarely, one business dayYes, until you withdraw
Who decides when money leaves?Your payout scheduleSquare's transfer scheduleYou, per withdrawal
Normal clearing balanceA few days of salesClose to zeroWhatever you have not withdrawn
What you compare it toStripe balanceSquare balancePayPal balance

The last row is the one that matters. Each of those three comparisons is a valid monthly control. Pooled into one account, all three disappear and nothing replaces them. You have not simplified the chart of accounts. You have deleted three reconciliations and kept the work.

There is a second cost that shows up later. When a discrepancy does appear in a pooled account, you cannot scope it. A $412 difference in a Stripe-only account is a Stripe question, and there are maybe five things it can be. The same $412 in a pooled account is a question about three systems, three fee structures, and three deposit cadences, and the investigation is roughly three times the work for the same answer.

Fees: one expense account per processor

The same argument applies to the expense side, for a different reason.

A single Merchant Fees account answers the question "what did payment processing cost me" and no other question. Split by processor, the same data answers the question you actually act on: what is each processor costing me per dollar processed.

That number is the only honest way to compare them. Headline rates are not comparable across processors because they apply to different mixes: card present versus online, domestic versus international, invoiced versus checkout, with different surcharges attached. The effective rate, which is fee expense divided by gross revenue through that processor over the same period, cuts through all of it. You can only compute it if both the revenue and the fees are separable by processor, which means one clearing account and one fee account each.

It costs you two extra accounts in the chart of accounts. In exchange, a quarterly question that used to require exporting three CSVs becomes two numbers off the profit and loss.

If you want the Stripe side of this done properly, including which fee types exist and where each one should land, the guide to reconciling Stripe fees in QuickBooks is the full method and this post does not restate it.

The close-timing problem nobody budgets for

Multi-processor books have a cutoff problem that single-processor books do not, and it comes straight from the cadence differences above.

A sale on the last day of the month is revenue in that month for all three processors. The deposit is not. On Stripe it lands whenever your payout schedule and settlement timing put it. On Square it lands the next business day, or the one after if the sale was late in the evening, or after the weekend if it was a Friday night. On PayPal it lands when somebody remembers to withdraw, which may be never in a month where nobody was watching.

So at every month end you have three different quantities of in-transit money, each with its own reason, and all three are correct. The clearing accounts are where that correctness lives: a nonzero clearing balance at month end is not an error, it is the sales that have not been deposited yet.

This is exactly why the accounts need to be separate. A month-end balance of $6,200 in a Stripe clearing account is checkable against the Stripe balance in about thirty seconds. A month-end balance of $6,200 across three pooled processors is a number you either trust or do not, and there is no way to find out which.

Two habits make the close short. Do the comparison per processor on the same day each month, before anything else. And write down what each processor's normal in-transit range looks like, so that next month you can tell an unusual number from an ordinary one without recomputing anything.

What the chart of accounts actually looks like

Concretely, for a business on Stripe and Square:

Assets

  • Stripe Clearing (bank or other current asset)
  • Square Clearing (bank or other current asset)
  • Business Checking

Expenses

  • Stripe Fees
  • Square Fees

Sales post gross into the matching clearing account. Fees post to the matching fee account. Deposits move money from the clearing account to Business Checking and match the bank line there. Each clearing account gets compared to its own processor's balance on a schedule. Two accounts per processor, and every one of them has a single, checkable meaning.

The chart of accounts guide covers naming and numbering conventions if you are building this from scratch rather than repairing it.

What Acodei does here, and what it does not

Acodei syncs Stripe into QuickBooks Online, and its product documentation covers exactly one processor. The point of this section is to be precise about which half of the work that removes.

On the Stripe side, the holding account is the QuickBooks account that stands in for your Stripe balance. Every synced sale is deposited into it, and every payout moves money out of it into the real bank account. That is the clearing account this post has been describing, and choosing it is the setup decision that shapes nearly every record that follows.

Which shape you get depends on the mode. On a regular asset clearing account a payout becomes a single Transfer for the net amount. On Undeposited Funds a payout becomes an itemized Deposit that sweeps the individual payments into the bank, which also means every underlying transaction has to exist in QuickBooks before the deposit can be built. The holding account entry covers the trade-off in full.

The reconciliation method is part of that choice rather than a separate decision. With an asset clearing account the correct method is balance reconciliation: the QuickBooks clearing balance should equal the Stripe balance, daily as the gold standard and monthly at minimum. Acodei has automated tracking built for exactly this mode and only for this mode, a daily tracker that fetches the Stripe balance and the QuickBooks holding balance into per-day rows and records whether they matched. Under Undeposited Funds the method is narrower, matching each payout deposit against the bank feed and then reconciling the bank account, and balance-reconciling the Undeposited Funds account itself is not supported, because sales sit there until a payout sweeps them and some items are only added at deposit time.

Notice what that daily tracker is doing, because it is the argument of this post implemented in code: it compares one QuickBooks account against one processor's balance. Pool a second processor into that account and the comparison stops meaning anything.

Two more details that matter for a multi-processor setup. If you run several Stripe accounts, each connected Stripe account can map to its own holding account rather than sharing one, which is the same separation principle one level down. And on fees, Acodei creates a Stripe fee product in QuickBooks during onboarding and maps fees to the account you choose, with fees appearing as a line item on the sales receipt, as a line item on the bank deposit under Undeposited Funds, or as an expense, which is the default on a regular clearing account. Changing the fee method later does not rewrite history: existing transactions keep the treatment they were written with until they are resynced.

PayPal and Square stay manual, or go through whatever tool you use for them. What Acodei removes is the Stripe half, which for most businesses running this setup is the half with the most line items in it.

Frequently asked questions

Do I really need a separate clearing account for each payment processor?

Yes, if you want the clearing account to be worth anything. The account exists so its balance can be compared against the processor's balance. That comparison only exists when the account maps to exactly one processor. Pooling two is not a smaller version of the same control, it is the absence of the control.

Can I use one fee expense account for all processors?

You can, and your profit and loss will still be correct. What you lose is the ability to compute an effective rate per processor, which is the only comparable measure of what each one costs you. Since headline rates apply to different transaction mixes, they are not comparable directly. Two accounts instead of one is a small price for a number you can act on.

Which processor should be my primary in QuickBooks?

The question usually means "which one do I set up properly first", and the answer is whichever has the most transactions, since that is where manual entry hurts most and where an error is hardest to find. The structure is the same for all of them either way.

Why do my processors show different amounts in transit at month end?

Because they pay out on different cadences. Stripe leaves money in your balance until your payout schedule moves it and settlement timing allows it. Square transfers on a next-business-day basis with an evening cutoff and no weekend transfers. PayPal holds the balance until you withdraw. Different in-transit amounts at month end are expected, and each clearing account is where that difference is supposed to show up.

Should the clearing accounts be bank accounts or other current assets in QuickBooks?

Either works as long as you are consistent. A bank-type account gives you the reconcile screen and the account register, which most bookkeepers find easier for this. An other-current-asset account keeps it out of the cash section of the balance sheet, which some accountants prefer. Pick one, use it for every processor, and do not mix types across processors, because that makes the accounts harder to compare to each other.

Does a nonzero clearing account balance mean something is wrong?

No. A nonzero balance at any moment is just sales that have not been deposited yet, and every processor has some. What matters is whether the balance equals the processor's own balance. A balance that does not match, or one that grows month over month without a reason, is the finding.

What if I move a processor's sales into QuickBooks with a summary journal entry instead?

The structure does not change. Whether the entries arrive per transaction or as a daily or monthly summary, they still need to hit one clearing account per processor and one fee account per processor, or the same comparison disappears. Summary entries make the clearing account easier to reconcile, not less necessary.

The takeaway

The multi-processor chart of accounts is not a style question. Each clearing account exists to be compared against exactly one external balance, and each fee account exists so you can tell what each processor actually costs. Pool either one and the reconciliation you thought you had stops existing, quietly, months before anyone notices.

Two accounts per processor. Sales in gross, fees separate, deposits out to the bank. Compare each clearing account to its own processor's balance on a fixed day. That is the whole system, and it survives adding a fourth processor without any redesign.

Stop hand-keying the Stripe half. Acodei syncs Stripe charges, refunds, fees, and payouts into QuickBooks Online, posts them against the holding account you choose, and, on a clearing account, tracks whether your Stripe balance and your QuickBooks balance still agree. Start a free trial.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

How Acodei handles this in your stack

Stripe QuickBooks Integration

See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.

Or go straight to a capability

Get more operational finance guides like this one

We will only send high-value product and finance content.