Skip to main content

Why don't my Stripe payouts tie to the NetSuite bank deposit?

A Stripe payout rarely equals one NetSuite deposit line: Stripe nets many charges, fees, and refunds into one transfer settled days later. Check, in order: the payout isn't unbundled into individual charges, the deposit date doesn't match the transaction date, fees are netted not booked separately, a partial capture created a variance, or the payout is still in Undeposited Funds.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Last reviewed Editorial policy

Part of the payment reconciliation and cash application guide.

Most common causeBundled payout not broken into individual invoice payments
Standard payout timingT+2 business days for most US Stripe accounts
Where fees usually get lostNetted into the payout total instead of booked to a separate expense account
Where to check firstStripe's payout reconciliation report vs. the NetSuite Undeposited Funds account

The five causes, in the order you'll actually hit them

Almost every Stripe-to-NetSuite mismatch traces to one of these five. Check them in this order — it matches how often each one actually turns out to be the answer.

1. The payout is still bundled

A single Stripe payout can represent dozens of individual customer charges. If NetSuite only has the one net deposit line and nothing has broken it back out into the charges, fees, and refunds that made it up, there's nothing to match against the open invoices those charges were meant to settle. This is the default state unless a connector (Stripe's own NetSuite integration, or an equivalent) or a manual export process has explicitly unbundled the payout.

2. The deposit date doesn't match the transaction date

Stripe's standard payout schedule settles funds roughly two business days after the transaction, and that schedule can be longer depending on the account and country. A charge dated the 28th of the month can land in the bank account, and the NetSuite bank feed, on the 2nd of the following month — which is enough by itself to make a same-period reconciliation look broken even when nothing is actually wrong.

3. Fees are netted instead of booked separately

Stripe deducts its processing fee before the payout ever reaches the bank. If NetSuite books the gross invoice amount as the expected deposit, the actual bank deposit will be short by the fee amount every time, unless the fee is recorded as its own line item against a processing-fee expense account.

4. A partial capture, refund, or dispute created a variance

A charge that was partially refunded, disputed, or captured for less than the original authorization won't match the full invoice amount. These need to be identified and posted as their own adjusting entries rather than assumed to be a data error in the bank feed.

5. The payout hasn't moved out of Undeposited Funds

Stripe transactions typically post to NetSuite's Undeposited Funds account first, and only move to the actual bank account when the corresponding bank deposit record is created and matched. If that step hasn't happened, the transaction is sitting in the books but won't appear where you're looking for it — the bank account itself.

Next step

Map the finance workflow with the most exposure and prove the automation path.

Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.

Book a workflow review

Worked example

A $958 payout that looks wrong but isn't

Three customer invoices are charged on Stripe on March 30th: $500, $300, and $200, for a gross total of $1,000. Stripe's fee (2.9% + $0.30 per transaction, three transactions) totals $41.20. The net payout is $958.80, and it settles into the bank account on April 1st — a different month than the invoice dates.

LineAmount
Invoice A charge$500.00
Invoice B charge$300.00
Invoice C charge$200.00
Stripe processing fees (3 transactions)-$41.20
Net payout, deposited April 1$958.80

A reconciliation that only compares 'invoices charged in March' ($1,000) to 'bank deposits in March' ($0 — the deposit landed in April) will show a $1,000 unexplained gap. The correct reconciliation ties each individual charge to its invoice, books $41.20 to a processing-fee account, and recognizes the $958.80 deposit against April's bank statement, not March's. Nothing is missing; the mismatch is entirely explained by unbundling and timing.

Frequently Asked Questions

It's the most common explanation for a same-period mismatch, but check it alongside fees and bundling — a payout can have a timing gap and a fee-netting issue at the same time.

Most companies book payment processing fees as an operating expense (often under 'bank fees' or 'merchant fees'), not COGS, but this is a chart-of-accounts decision your controller should make consistently rather than one this page can answer for every company.

Yes — any processor that batches multiple charges into a single net payout (PayPal, Braintree, Square) creates the same unbundling and timing questions, just with different fee schedules and payout cadences.

Pull Stripe's own payout reconciliation report for the specific payout in question — it itemizes every charge, fee, and adjustment that made up that net amount, which usually points directly at the mismatch.

Sources

Related

Topic

Payment Reconciliation & Cash Application

Payment reconciliation is the process of proving that every dollar that hit your bank account is accounted for somewhere in your books — matched to a deposit, a payout, an invoice, or an explained var…

Read more

Integration

How do I reconcile Stripe payouts across multiple currencies in NetSuite?

Reconcile each currency's payouts separately, against a bank account held in that currency, rather than converting to base currency up front. Stripe settles each currency independently, and NetSuite needs the transaction-currency amount preserved so its own revaluation, not a manual conversion, produces the base-currency gain or loss.

Read more

How-to

How do I do a three-way match between Stripe, the GL, and the bank statement?

A three-way match ties three sources together for every payout: Stripe's own payout report (the individual charges, fees, and refunds), the general ledger entries booked for that payout, and the bank statement line showing the cash actually landing. Start from the bank statement, trace each deposit to a Stripe payout ID, then trace that payout's itemized report to the GL entries booked against it.

Read more

Diagnostic

What causes a bank reconciliation to not balance?

In order of likelihood: a transaction was entered twice or not at all, an amount was transposed or mistyped, a bank fee or interest payment was never booked, a deposit in transit or outstanding check wasn't accounted for, or the beginning balance itself was wrong because a prior period's reconciliation was never actually correct.

Read more