← Blog
Stripe Reconciliation 7 min read

Why Stripe Payouts Don't Match Your Bank Deposits

Your Stripe payout says one number, your bank deposit says another. Here's why they diverge — and what to do about it.

Updated

You check your Stripe dashboard. It says today’s payout is $4,812.37. You check your bank account. The deposit is $4,812.37. Everything matches.

Until it doesn’t.

One morning the payout says $6,200. The bank says $5,950. Or the bank shows a deposit you can’t find in Stripe at all. Or Stripe says it paid out yesterday but the bank shows nothing.

This isn’t a bug. It’s how the system works. Stripe and your bank are two separate institutions with different settlement mechanics, timing rules, and ways of reporting money. Mismatches are the default — matching is the exception that requires work.

If you’re trying to reconcile these mismatches against QuickBooks, read the full Stripe-QBO reconciliation guide first — it covers the end-to-end process. If your dates specifically don’t line up, payout vs. deposit timing explains the ACH settlement mechanics. And if you’re on monthly fee billing, the payout math changes — see Stripe fees billed monthly.

The six reasons payouts don’t match deposits

Here’s every scenario that causes a mismatch, how to identify it, and what to do:

CauseHow to identifyFix
Timing (ACH settlement)Payout date ≠ deposit date by 1-3 daysMatch within a date window, not exact date
Fee nettingDeposit < charges for the periodTrack gross revenue + fees separately
Refund in different payoutRefund reduces a later payout, not the originalReconcile at payout level, not charge level
Dispute/chargebackUnexpected deduction from payoutTrack disputes as separate line items
Currency conversionSmall amount differences on FX chargesAllow tolerance, book FX difference
Connect transfersPayout reduced by transfers to connected accountsInclude transfers in payout decomposition

Reason 1: Timing differences

This is the most common cause of mismatch, and the most benign.

When Stripe initiates a payout, the money doesn’t arrive at your bank instantly. The typical timeline:

  • Day 0: Stripe batches your transactions and creates the payout
  • Day 1: Stripe submits the ACH transfer to the banking network
  • Day 2: Your bank receives and posts the deposit

This 1-2 business day gap means a payout created on Friday might not appear in your bank until Tuesday. A payout on January 31 might not land until February 2.

At month-end, this creates a timing mismatch: Stripe’s January report includes the payout, but your bank’s January statement doesn’t. Both are correct. They just disagree on when the money moved.

What to do: When reconciling, allow a 2-3 business day window for matching. Match on amount first, then confirm the payout date falls within the settlement window of the deposit date.

Reason 2: Fee netting

Stripe deducts processing fees before paying you. Your payout is the net amount — charges minus fees minus refunds.

If you recorded the gross revenue in your books, the bank deposit won’t match your revenue entries. It’ll be lower by exactly the amount of fees deducted.

Example:

Gross charges:       $10,000.00
Stripe fees (2.9%):  −  $320.00
Net payout:          $ 9,680.00  ← this is what your bank sees

Your bank sees $9,680. Your books (should) show $10,000 in revenue and $320 in processing fees. The deposit matches the net, not the gross.

This only gets confusing when you’re not explicitly tracking fees as a separate line item. If your bookkeeper records the bank deposit directly as revenue, you’re understating revenue and hiding the cost of payment processing.

What to do: Always record gross revenue and fees separately. The bank deposit is the net — it should not equal your revenue.

Exception: If you’re on Stripe’s monthly fee billing, fees are not netted from payouts at all. The payout equals the gross minus refunds, and fees come as a separate monthly charge.

Reason 3: Refunds crossing payout boundaries

A refund issued today reduces tomorrow’s payout — not the payout that contained the original charge.

Say a customer paid $200 on Monday (payout on Wednesday). They request a refund on Thursday. That refund reduces Friday’s payout, not Wednesday’s. If you’re trying to match the original charge to the original deposit, the numbers won’t reconcile because the refund happened in a different payout cycle.

What to do: Don’t try to match refunds to the original payout. Instead, reconcile at the payout level: each payout should equal the sum of all charges, refunds, and adjustments assigned to it by Stripe. Use the payout’s balance_transactions to see exactly what’s included.

Reason 4: Disputes and chargebacks

When a customer disputes a charge, Stripe reverses the amount immediately — often before the dispute is resolved. This withdrawal reduces your next payout (or creates a negative payout if the dispute amount exceeds your pending balance).

If you win the dispute, Stripe adds the money back in a later payout. Between the debit and the credit, your bank and Stripe will disagree.

What to do: Track disputes as a separate line item. When a dispute is opened, record the debit. When it’s resolved, record the credit or write-off. Don’t adjust your original revenue entry — disputes are a separate event.

Reason 5: Multiple currencies

If you accept payments in EUR but your bank account is in USD, Stripe converts the currency at payout time. The exchange rate Stripe uses is the rate at the moment of conversion, which won’t match:

  • The rate at the time of the original charge
  • The rate your accounting system uses
  • The rate your bank reports on the deposit

These FX differences are usually small (pennies to low dollars) but they accumulate and make exact matching impossible.

What to do: Accept that FX reconciliation will have a tolerance. Match within a small percentage (0.5-1%) and investigate only material differences. Book the remainder to an FX gains/losses account.

Reason 6: Stripe Connect transfers

If you use Stripe Connect (marketplace/platform model), transfers to connected accounts reduce your payouts. The transfer amount is deducted from your balance before payout, but it won’t appear as a charge or refund — it’s a separate transaction type.

What to do: Include Connect transfers in your payout reconciliation. The payout amount equals charges minus fees minus refunds minus transfers.

Why tools fail here

Stripe can tell you exactly what’s in a payout. Your bank can show you exactly what was deposited. But neither can compare the two — and neither can tell you whether the entries in your books match both sides.

Reconciliation breaks because it’s a cross-system problem. No single system has visibility into all three ledgers. That’s why spreadsheet reconciliation is still the default — and why it’s so fragile.

The alternative is a reconciliation control that pulls from all three sources, runs the matching logic, and produces a verifiable proof that the numbers agree (or flags exactly where they don’t).

Generate your Stripe reconciliation pack →

Upload your Stripe payout CSV and bank deposit export. Get back a matched/unmatched list, variance summary, and a signed proof — in 60 seconds.

Troubleshooting

Stripe payout missing in bank

Check the payout status in Stripe Dashboard (Payouts → click the payout). If status is “Paid,” the ACH was submitted — check your bank in 1-2 business days. If status is “Failed,” Stripe will retry automatically. If the payout was sent to the wrong bank account (rare), contact Stripe support.

Stripe deposit not matching QuickBooks

You’re likely comparing the net deposit (bank) to the gross entry (QBO). They should differ by exactly the fee amount. If they don’t, check for refunds, disputes, or Connect transfers included in that payout.

Bank shows deposit Stripe doesn’t recognize

Check if the deposit is from a different Stripe account (test mode vs. live mode), a different payment processor, or a non-Stripe source miscategorized in your bank feed.

Payout amount is negative

A negative payout happens when refunds and disputes exceed new charges for the day. Stripe debits your bank. This is normal during low-volume periods with recent refunds. Record it as a withdrawal, not a reversed deposit.

FAQ

Why is my Stripe deposit different from my Stripe revenue?

Because the deposit is the net payout — revenue minus fees minus refunds. Your books should record gross revenue and fees separately. The deposit equals gross minus fees minus refunds.

How long do Stripe payouts take to reach my bank?

Typically 1-2 business days after Stripe creates the payout. Weekends and bank holidays extend this. See payout vs. deposit timing for the detailed timeline.

Why does my Stripe payout have a different date than my bank deposit?

Stripe reports the date the payout was created. Your bank reports the date it was received. There’s a 1-3 business day gap between them. This is the ACH settlement window, not an error.

How do I reconcile Stripe when I have multiple currencies?

Match within a tolerance (0.5-1% of the charge amount) and book the FX difference to a gains/losses account. Don’t try to match exact amounts — exchange rates differ between Stripe and your bank.