How to Categorize Stripe Fees in QuickBooks Online
If you sell through Stripe, you've probably noticed your bank deposit is never the same number as what your customer was charged. A $500 charge doesn't show up as a $500 deposit — it shows up as something a little less. That gap is Stripe's processing fee, and how you record it matters more than it looks.
The mistake: recording the deposit as revenue
The easiest thing to do is let QuickBooks' bank feed categorize each Stripe deposit directly as income. It's fast, and the books "balance" — but it's wrong. That deposit is already net of Stripe's fees, so your revenue ends up understated by whatever Stripe took, and there's no expense line showing what you actually paid in processing costs.
Over a year, that can hide a meaningful chunk of spend, and it makes your gross margin look better than it actually is — right until you need real numbers for a decision, an investor, or a tax filing.
The correct method
The gross amount your customer was charged is your revenue. Stripe's fee is a separate operating expense. Two entries, not one:
- Record the gross sale as income — the full amount the customer paid, before any fee is deducted.
- Record the Stripe fee as a separate expense — usually under a "Merchant Fees" or "Payment Processing Fees" account.
Stripe's payout reports (available in the Stripe dashboard) break this down for you: gross charges, fees, refunds, and the net payout that actually lands in your bank account. Matching your QuickBooks entries to that report, rather than just the bank deposit, is what keeps the numbers accurate.
Why this matters more than it seems
Getting this right affects three things directly: your actual gross margin, your true cost of doing business (processing fees add up faster than most founders expect), and the accuracy of what you hand your tax preparer at year-end. None of it is difficult once it's set up — it's just easy to get wrong by default, because the bank feed alone doesn't tell you the difference between revenue and a net deposit.
If this already sounds like a mess in your books
If you've been letting the bank feed auto-categorize Stripe deposits for a while, it's usually fixable with a cleanup pass rather than starting over — but the longer it runs, the more months there are to correct.
Want someone else to handle this every month?
Verdant reconciles Stripe payouts correctly, every month, as part of the standard service.