Most bookkeepers have a single "Merchant Fees" line on the P&L. Everything goes in: Stripe processing charges, PayPal dispute fees, Square subscription costs, international conversion surcharges. The books balance. The fees are deductible. Nothing is technically wrong.
What it hides is that three different cost categories are sharing one bucket. Volume cost, risk cost, and fixed overhead behave differently, scale differently, and signal different things when they move. When all three live in one line, a 15% year-over-year increase in merchant fees tells you nothing useful. It could be revenue growth, a chargeback problem, or a platform subscription renewal. You cannot tell.
Where do payment processor fees go on the P&L?
Payment processor fees are deductible business expenses under IRC §162 regardless of which P&L account they sit in. For most businesses, transaction processing fees (2.9%+$0.30 on Stripe) belong in operating expenses in a "Merchant Fees" parent account with sub-accounts by processor and fee type. Dispute and chargeback fees ($15–$25 each) belong in a separate sub-account to surface risk patterns. Platform subscription fees go in their own line as fixed overhead. Contra-revenue treatment is defensible for marketplaces; COGS applies only if the business already classifies shipping as COGS. Tax outcome is identical across all three classifications — placement affects margin analysis, not deductibility.
Key Takeaways
- Single "Merchant Fees" line items hide three different cost categories — volume, risk, and overhead.
- Four fee types — transaction processing, dispute/chargeback, platform/subscription, international conversion.
- Default classification is operating expense — below the gross profit line, with sub-accounts per processor and per fee type.
- Contra-revenue is defensible for marketplaces and platforms — where net revenue is the operative metric; get CPA buy-in before switching.
- COGS treatment fits only if the business already classifies shipping as COGS.
- Tax deductibility is identical across all three classifications — placement affects margin analysis, not tax outcome.
"Just Put It in Credit Card Fees" Isn't Good Enough
A single "Merchant Fees" GL account is functional. The books balance. The fees are deductible. Nothing is technically wrong.
What it hides is that you're commingling three different cost categories. Volume cost: every dollar processed costs you something proportional. Risk cost: every disputed charge costs a flat fee whether you win or lose. Fixed overhead: monthly platform subscriptions don't scale with anything. When all three live in one bucket, the year-over-year delta tells you nothing. A 15% increase could be more revenue, more disputes, or a Stripe Atlas renewal. You can't tell.
Take a real example: $800 of the monthly fee was processing on $27,000 in revenue (3.0%, totally normal). The other $200 was disputes (way out of band). One conversation. One refund-policy change. The disputes dropped 70%. None of that was visible in the original P&L because the line item read "Merchant Fees: $1,000."
What Gets Lumped Together
Four distinct fee types end up in that one account: transaction processing, dispute and chargeback, platform and subscription, and international or currency conversion. Each behaves differently. Each deserves its own bucket.
The Four Types of Payment Processor Fees
Before you can classify fees correctly, you need to know what you're looking at. Set up your credit card processing fees chart of accounts around these four categories.
Transaction Processing Fees
Volume-based, charged as a percentage plus a per-transaction flat. A $100 charge generates $3.20 on Stripe, $3.98 on PayPal, $2.70 in person on Square. This is unavoidable cost of revenue and the bulk of what most clients pay. For Stripe-specific deposit timing and fee netting, see how Stripe deposits work.
Dispute / Chargeback Fees
Flat $15 to $25 per dispute. Non-refundable, even on wins. This is the fee category that signals a business problem rather than a cost-of-doing-business problem. A spike in dispute fees usually means a refund policy needs work, fulfillment is slipping, or there's an emerging fraud pattern. None of that surfaces if dispute fees are buried inside "Merchant Fees."
Platform / Subscription Fees
Fixed-cost overhead. Stripe Atlas at $500 a year, PayPal monthly tiers, Square subscription add-ons. These behave like SaaS overhead, not transaction cost. Classify them separately so they don't distort your effective processing rate.
International / Currency Conversion Fees
1% to 2% on cross-border charges, often layered on top of the base processing fee. Buried inside statement totals. Most bookkeepers miss these on month-end reconciliation because they show up as part of a single processor deduction. If a client sells internationally, this category needs visibility.
The Case for Operating Expense (Most Common, Usually Right)
For service businesses, SaaS, professional firms, agencies, and B2B vendors, operating expense is the correct classification. Processing fees are a cost of collecting revenue, not a cost of producing goods. They sit below the gross profit line, where they belong.
When to Use It
Default to operating expense for service businesses, professional firms (legal, accounting, consulting), SaaS, B2B vendors, agencies, coaches and creators. Standard GL account name is "Payment Processing Fees" sitting under Operating Expenses, with the four sub-accounts described in the next section.
What the P&L Looks Like
A clean P&L for a SaaS company processing $100K in revenue might read: Revenue $100,000 / COGS $20,000 / Gross Profit $80,000 / Operating Expenses including Payment Processing Fees $2,900. The $2,900 sits well below the gross profit line. The 80% gross margin reflects product economics. Processing fees are visible but don't muddy product-margin analysis.
The Case for Contra-Revenue (When It Makes Sense)
Contra-revenue treatment reduces gross revenue at the top of the P&L instead of showing fees as a below-the-line expense. Net revenue becomes the operative metric. This approach is defensible for specific business models, but requires CPA buy-in and a clear documented rationale.
When It's Defensible
Marketplace operators, two-sided platforms, and businesses where investor reporting focuses on net revenue benchmarks. Stripe Connect platforms passing through payments to third parties have a strong case. So do businesses where gross-method recording produces a misleadingly inflated revenue figure that obscures unit economics.
Talk to the CPA before adopting this treatment. If your client reports to investors, board, or lenders on revenue benchmarks, the classification choice affects every comparable metric. Once you pick a method, switching is a mess. Document the rationale at the COA level.
The Case for COGS (Narrow but Real)
The COGS argument applies in a narrow window: when payment processing is as inseparable from product delivery as shipping. E-commerce companies that already classify shipping under COGS have an internally consistent argument for putting processing fees there too. Most CPAs will push back on this unless the business model explicitly justifies it.
Bobby's Recommended Chart of Accounts Setup
For nearly every client, the right answer is separate operating-expense sub-accounts by processor and by fee type. One parent account for the P&L rollup, four sub-accounts for the signal.
QBO Account Structure
1Operating Expenses
2 Merchant Fees [parent]
3 Processing Fees - Stripe
4 Processing Fees - PayPal
5 Processing Fees - Square
6 Dispute Fees
7 Platform Subscriptions
8 International Conversion Fees
Set up "Merchant Fees" as a parent account so the QBO P&L can roll up the total when you want a single line, while keeping detail available when you don't. Sub-account naming should mirror the processor name so monthly reconciliation is mechanical.
How Fee Classification Affects Tax Prep and Client Reporting
All three classifications produce deductible business expenses, so the tax-prep answer is the same regardless of where the fee sits on the P&L. But placement materially affects margin analysis, benchmarking, and the conversations you have with the client.
Deductibility
Payment processing fees are ordinary and necessary business expenses under IRC §162. Whether they sit in COGS, contra-revenue, or operating expense, the federal deduction is identical. State nexus and apportionment can vary, but the core deductibility question is settled. If you're worried about picking the wrong bucket from a tax standpoint, stop. Pick the bucket that makes your reporting useful.
Margin Analysis and Benchmarking
This is where classification matters. A restaurant running 3.2% in transaction processing on card volume is normal. That's what the industry pays. A SaaS company running 3.2% in processing on subscription revenue should raise a question. Maybe the payment mix has shifted toward lower-margin channels. Maybe the pricing assumed a lower processing rate.
Proper sub-accounts surface the data. One bookkeeper-to-client conversation later, that's a meaningful insight worth real money.
Conclusion
For nearly every client, the right answer is separate operating-expense sub-accounts, by processor and by fee type. That single structure surfaces patterns you can act on, makes reconciliation mechanical, and keeps gross margin clean for product-level analysis.
If your client is a marketplace, two-sided platform, or e-commerce shop classifying shipping as COGS, revisit the question with their CPA before defaulting. The classification decision compounds: every report, every benchmark, every investor conversation runs through it.
Set up the QBO accounts today. If you're mid-year, tag back-date entries and let next month's reconciliation reflect the new structure. Ten minutes of setup, year-round signal.
If you want a faster path to the bookkeeping patterns that scale, including the AI-assisted reconciliation workflow we use for our own clients, start a free Growthy account and we'll walk you through the rest.