Your client's Stripe deposit is $4,237.18. Do you record $4,237.18 in revenue? Or $4,612.00 in revenue with $187.82 in processing fees as a separate expense? These produce different revenue figures, different gross margins, and different P&Ls. One is wrong for most businesses. Half of bookkeepers choose it anyway because it matches the bank feed and requires fewer entries.
This is the gross vs. net debate, and it has a mostly settled answer under GAAP. This article explains both methods with journal entries, covers the ASC 606 standard that governs the decision, shows where net recording creates real problems, and tells you how to switch mid-year without a complicated restatement.
What is the difference between gross and net accounting for payment processors?
Gross accounting records the full charge amount as revenue, with refunds and processor fees as separate line items. A $4,612.00 Stripe settlement period produces $4,612.00 in revenue, $187.00 in contra-revenue for refunds, and $187.82 in processing fee expense — netting to the same $4,237.18 bank deposit. Net accounting records only the bank deposit as revenue: one line, $4,237.18, done. Under GAAP (ASC 606), most businesses using Stripe, PayPal, or Square are principals — they control pricing, fulfillment, and credit risk — so gross recording is the correct treatment. Net recording buries fee costs, distorts margins, and creates a 1099-K reconciliation gap at tax time.
Key Takeaways
- Gross recording is required for most businesses — if you control pricing, fulfillment, and credit risk, you're the principal under ASC 606 and gross is the only treatment that fits.
- Net recording buries fees permanently — thousands in annual processing costs disappear into the deposit amount; invisible for margin analysis and benchmarking.
- Cross-period refunds break net recording — a March refund against a February charge reduces March revenue without a matching entry, distorting period-over-period comparisons.
- 1099-K reconciliation fails with net books — the IRS reports gross on Form 1099-K; net books create a reconciliation gap at tax time.
- Switching mid-year is one afternoon of cleanup — pull payout reports, set up a clearing account, reclassify prior entries, go live.
- Net is only appropriate for agents — marketplace sellers where the platform is merchant of record; almost never correct for a business running Stripe/PayPal/Square directly.
Net Recording: What It Looks Like and Why It's Tempting
Record the bank deposit as revenue. Simple. One line. Works in QBO with minimal effort.
12026-04-15 Bank — Operating 4,237.18
2 Sales Revenue 4,237.18
Done. The bank reconciles, the P&L shows the right cash, the close takes 30 seconds per payout.
The Net Method Workflow
Stripe pushes the daily payout, QBO's bank feed picks it up, the rule fires, the deposit is matched to Sales Revenue, transaction closed. For a side hustle doing 10 transactions a month, fine. For most businesses, it's a problem hiding under the surface, and the next two sections show why.
Gross Recording: What It Looks Like and Why It's Correct
Gross recording books the full economics of the transaction, then nets to the same cash position. Same $4,237.18 deposit, but now we're tracking what actually happened underneath it.
Running example: one weekly Stripe payout where gross sales were $4,612.00, refunds totaled $187.00, fees were $187.82, and the net payout was $4,237.18.
The Four Journal Entries
The pattern is always the same: gross sales debit clearing and credit revenue, refunds debit a contra-revenue account against clearing, fees debit a processing expense against clearing, and the final deposit clears the rest of the clearing balance to the bank. The reconcile lump-sum deposits guide walks the full clearing-account method step by step.
1Date Account Debit Credit
2
32026-04-15 Stripe Clearing 4,612.00
4 Sales Revenue 4,612.00
5 (gross sales for the period)
6
72026-04-15 Sales Returns/Refunds 187.00
8 Stripe Clearing 187.00
9 (customer refunds against this period)
10
112026-04-15 Processing Fees 187.82
12 Stripe Clearing 187.82
13 (Stripe processing fees)
14
152026-04-15 Bank — Operating 4,237.18
16 Stripe Clearing 4,237.18
17 (net payout to bank)
Four entries, every dollar accounted for, and Stripe Clearing zeros out at period end. The P&L shows true revenue of $4,612, processing cost of $187.82 on its own line, and refunds tracked as contra-revenue. Cash is the same $4,237.18 it was under the net method. The books now tell the truth about what the business actually earned and what it paid to collect it.
GAAP's Take: Principal vs. Agent (ASC 606)
ASC 606 is the revenue recognition standard, and the principal-vs-agent rule inside it determines whether a business records revenue gross or net.
Two questions decide it. Who controls the goods or services before they reach the customer? Who has primary responsibility for fulfillment, pricing, and credit risk? If the business answers "we do" to both, it's the principal. Principals record revenue gross.
The payment processor is an agent. Stripe, PayPal, and Square move money from the customer's card to the merchant's bank, but they never take control of the goods or services. They don't pick the price, ship the product, or carry the chargeback risk. They're the rails, not the seller.
The Three Indicators
ASC 606-10-55-39 lists three indicators of principal status: control of the goods before transfer, primary fulfillment responsibility, and discretion in pricing. A typical business running Stripe charges decides what gets sold, ships the product, and sets the price. Three for three. The merchant is the principal, and gross recording is the only treatment that fits.
Three Scenarios Where Net Recording Creates Real Problems
Scenario 1: Fee Analysis Becomes Impossible
Net recording buries processing fees inside the deposit amount. They never appear as an expense line in the GL. At year-end, a client who paid $11,847 in processing fees over 12 months has no record of it in their books. The CPA cannot benchmark effective rate, spot rate creep, or compare processors. The number exists only in Stripe's dashboard.
Scenario 2: Cross-Period Refunds Distort Revenue
A March 14 refund against a March 11 charge reduces the March 17 Stripe payout. Net recording books the reduced deposit as March revenue. But the original March 11 charge was already recorded in last week's deposit as revenue. Now February revenue is overstated and March revenue is understated, with no trail connecting the refund to its source sale.
For any business with regular refunds — SaaS with monthly cancellations, e-commerce with returns, subscriptions with prorations — net recording produces period-over-period revenue figures that are systematically wrong.
Scenario 3: 1099-K Reconciliation Fails at Tax Time
Stripe, PayPal, and Square file Form 1099-K reporting gross transaction volume. A Stripe client who processed $186,000 in gross charges receives a 1099-K for $186,000. If the GL shows $174,000 (net of fees and refunds), the books and the 1099-K do not reconcile. The CPA has to manually reconstruct the difference, which takes time and documentation that net books don't provide.
A Practical Comparison With Real Numbers
Six months of a single Stripe account. Same cash, different picture.
The net method hides $3,747 in processing fees and $6,700 in refund volume. That's invisible revenue-cost data. It also means the gross margin benchmark, the refund rate trend, and the effective processing rate are all untrackable from the books.
When Net Recording Is Actually Appropriate
Two scenarios where net recording is defensible:
Marketplace sellers — If a business sells on Etsy, Amazon FBA, or another platform where the platform is the merchant of record, the business is an agent in that transaction. The platform collects, the platform remits, the business receives its share. Net recording of the share is correct under ASC 606 because the business is not the principal.
True micro-scale — A side project processing 8 to 10 transactions a month where the owner genuinely does not need fee visibility or refund tracking. The simplicity trade-off makes sense at that scale. Once the business has meaningful refund activity or wants fee benchmarking, switch to gross.
Everything else — any business using Stripe, PayPal, or Square directly as its payment layer — is a principal and should record gross.
How to Switch From Net to Gross Mid-Year
Easier than it sounds. One afternoon of cleanup, not a full restatement.
Step 1: Pull Processor Reports for the Period
Pull every Stripe payout, PayPal monthly statement, or Square reconciliation report for the period being restated. Minimum data per payout: gross volume, refunds, fees, net payout. Stripe's "Balance" export has all four columns. PayPal's monthly statement breaks them out. Square exports cleanly to CSV.
Step 2: Set Up the New Accounts
Add to QBO: a clearing account per processor (Stripe Clearing, PayPal Clearing), a Processing Fees expense account, and Sales Returns/Refunds as contra-revenue. Set these up before reclassifying any entries.
Step 3: Reclassify Prior Entries
Reverse the existing net entries. Re-record each payout using the four-line gross method: gross to clearing, refunds out of clearing, fees out of clearing, deposit out of clearing to bank. The clearing account should zero out per payout when the math is right.
Step 4: Go Live With the New Method
After reclassifying, configure bank feed rules in QBO to stop auto-categorizing Stripe deposits as revenue. From now on, deposits that hit the bank should match against the clearing account, not post directly to Sales.
Conclusion
Net recording is simpler to set up and easier to explain. Gross recording takes more entries but produces books that reflect what the business actually earns and what it pays to collect it. Under ASC 606, for any business that controls its own pricing and fulfillment, gross is not a preference — it's the required treatment.
If you're currently using net, the switch mid-year is one afternoon. The fee visibility and refund tracking you gain are worth the cleanup.
Gross recording is the right method. Doing it correctly at volume is where most bookkeepers slow down. Growthy handles the $3,847.92 Stripe deposit the same way this article describes: gross charges to revenue, fees to their sub-accounts, refunds as contra-revenue, net payout to bank. The clearing account zeros per cycle. Entries tie to the payout report. Built by a CPA firm partner. Categorizes automatically. You review and approve.
Get Started with Growthy