Stripe

Stripe reconciliation for B2B SaaS: payouts vs revenue

By Tim Salikhov, CFA · October 15, 2026 · 6 min read

Why your Stripe payout doesn't match your revenue

Your processing volume looks steady, but the Stripe deposit is lower than expected and your bookkeeper cannot explain why. A payout groups payments, arrives net of fees and refunds, and records cash moving to your bank rather than revenue.

  • Fees and refunds can reduce the amount deposited.
  • A payout can land in a different month than the payments it includes.
  • Deposits alone cannot show which charges explain the cash received.

Could this be theft or fraud? A gap alone does not mean money is missing. Stripe payout reconciliation identifies what explains the difference and what still needs investigation.

What a Stripe payout actually contains

Stripe payouts reflect cash movement, not the total you charged customers. Stripe deposits arrive net of fees and refunds and on different timing than sales. A payout can therefore contain activity from a different period than the sales you are reviewing.

For Stripe payout reconciliation, start with the charges behind a payout. Identify the related fees and refunds, and check any disputes against their records rather than assuming every dispute reduced that payout. Then match the payout to the bank deposit. Bank deposits alone do not explain all the activity behind reported numbers, so a deposit cannot tell you what your business earned during the period.

Illustrative payout: Ten charges of $100 each total $1,000 billed. Assume card fees of $3.20 per charge, or $32, and one $100 refund for which the original $3.20 fee remains in the assumed $32. The payout is $1,000 − $32 − $100 = $868. The $132 gap is explained by the example’s fees and refund; it does not, by itself, mean money is missing. These are illustrative assumptions, not a statement of Stripe’s current fees or refund policy.

Fees, refunds, and disputes: what to investigate, not assume

Start with the records behind the payout rather than estimating deductions. For fees, compare Stripe’s recorded fees with the charges in that payout. For refunds, identify the original charges and check whether the refunds appear in the payout you are reviewing.

Investigate disputes case by case. Check the dispute records before assuming a dispute changed a particular payout. A dispute may need attention even when it does not explain the deposit in front of you.

Match each payout to its charges, refunds, and fees, then match the payout to the bank deposit. If a difference remains, investigate that specific amount rather than treating the whole gap as missing money.

Payout timing and why month-end rarely lines up

A payout received after month-end can include charges made before month-end. Stripe groups charges into payouts, and the deposit can reach your bank after the charges occur. A deposit recorded in the new month may therefore reflect activity from the previous month.

If you treat each deposit as revenue on the day it arrives, your books assign some activity to the wrong month. The month-end check should separate charges made during the month from cash received during the month, then identify which charges remain in payouts that have not yet reached the bank. Bank deposits alone do not explain all the activity behind the reported numbers.

A Stripe cash tie-out does not give you ASC 606 revenue

A Stripe cash tie-out and ASC 606 revenue recognition answer different questions. For the tie-out, match each payout to its charges, refunds, and fees, then match the payout to your bank deposit. That work explains the cash movement. It does not determine how much revenue you earned in the period.

Bridges’ documentation makes the accounting distinction clear. “Cash books show when money comes in and goes out. Accrual books show business performance through recognized revenue, expenses, and supporting schedules.” Under ASC 606 (Revenue from Contracts with Customers (ASU 2014-09)), you record revenue when you deliver what the customer paid for, not when cash arrives. An upfront subscription payment can therefore reach your bank before you recognize all its revenue.

Take rate is a third number. It measures the share of processed payment volume your company earns under its pricing model. If you run a B2B SaaS company processing payments with license and transaction-based charges, keep that measure separate from both bank deposits and the revenue you recognize for each stream.

When is the cash in a payout actually revenue?

A Stripe payout can combine cash for services delivered now, services delivered later, and prepaid balances that remain liabilities until used. For a Stripe Connect business, identify whose cash each charge represents before treating any amount as company revenue. Then apply the revenue policy to each company-owned charge, not to the deposit total.

Illustrative mixed-charge payout: Assume an annual subscription invoice paid by ACH brings in $5,000 less a $5 fee, or $4,995. If the service begins this month and runs evenly over 12 months, $416.67 is recognized this month. Assume a $250 one-off card charge incurs $7.55 in fees and the service is delivered this month, producing $242.45 cash and $250 revenue. Assume a $2,000 prepaid-balance replenishment incurs $68.30 in fees, producing $1,931.70 cash; the $2,000 remains a liability until credits are consumed. Gross charges are $7,250, assumed fees are $80.85, and the deposit is $7,169.15. Under those assumptions, current-month recognized revenue is $666.67, not the deposit. The fee amounts are hypothetical, not Stripe rate claims; actual recognition depends on the contracts and delivery.

Why books built from deposits go wrong — and what to reconcile instead

Books built from deposits treat net cash as sales, even though Stripe deposits arrive after fees and refunds and may land in a different period than the charges behind them. Bank deposits alone cannot explain the activity behind reported revenue.

Start Stripe payout reconciliation with your internal billed amounts and Stripe charge detail. Compare bills with charges, then trace the charges, fees, and refunds to the relevant payout. Match that payout to the bank deposit and check how your ledger records each item. Review disputes against their source records rather than assuming every dispute reduced a payout. Keep the revenue schedule separate. It records revenue when you deliver what the customer paid for, not when Stripe sends cash.

Stripe Connect models may collect mixed charge types; apply the recognition mapping in “When is the cash in a payout actually revenue?” to company-owned amounts. When manual matching repeatedly takes too long or leaves unexplained differences, consider automating the comparison.

When should a B2B SaaS company bring in a controller?

If you repeatedly cannot explain the difference between Stripe activity and your bank deposits, get dedicated reconciliation support. Bridges’ fractional controller service includes Stripe reconciliation that matches payouts to the charges, refunds, and fees behind them. A controller can then check those payouts against your bank deposits and ledger to find any remaining gap. You need visibility into each difference, not a presumption that money is missing.

See how a B2B marketplace used a fractional controller to close this gap.

FREQUENTLY ASKED QUESTIONS
Why is revenue down when processing volume is steady?
Processing volume measures payments processed, not revenue earned. Check your share of those payments and when you delivered the service. Under ASC 606, revenue follows delivery, not the payout date.
Why doesn’t my Stripe payout match what I billed?
A Stripe payout differs from billed amounts because deposits arrive net of fees and refunds, sometimes in a different period than the sale. Bridges’ controller services match each payout to its charges, refunds, and fees before comparing it with billing.
How do I recognize revenue from Stripe payouts?
You do not recognize the payout itself as revenue. Split the underlying company-owned charges by type: recognize an invoice as its service is delivered, a one-off charge when its service is delivered, and a prepaid balance as credits are consumed. Check contracts before setting the schedule.
Why doesn’t month-end tie?
A payout can arrive after the period when the related sales occurred. Check charge and payout dates, and keep cash receipt separate from recognized revenue.
Can my bookkeeper reconcile Stripe from deposits alone?
A bookkeeper cannot reconcile Stripe from deposits alone. A deposit does not show all the charges, fees, and refunds behind it, and the bookkeeper needs that detail to explain the bank entry.
How can I tell whether cash is unaccounted for?
To tell whether cash is unaccounted for, match each payout to its charges, refunds, and fees, then to the bank deposit. A mismatch alone does not establish theft. Bridges’ controller services run this tie-out and check remaining differences against the ledger.
Tim Salikhov
Tim Salikhov, CFA
CEO @ Bridges | Strategic Finance for B2B Payments
← Back to Insights