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.
Part of the payment reconciliation and cash application guide.
| Most common cause | Bundled payout not broken into individual invoice payments |
|---|---|
| Standard payout timing | T+2 business days for most US Stripe accounts |
| Where fees usually get lost | Netted into the payout total instead of booked to a separate expense account |
| Where to check first | Stripe'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.
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.
| Line | Amount |
|---|---|
| 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
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 moreIntegration
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 moreHow-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 moreDiagnostic
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