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.
Part of the payment reconciliation and cash application guide.
| Start point | Bank statement deposit line |
|---|---|
| Middle step | Stripe payout report, itemized by charge, fee, and refund |
| End point | GL entries booked for that payout |
| Passes when | Bank amount = GL net amount = Stripe payout total, for every payout |
Why start from the bank, not the GL
Starting from the bank statement guarantees you're reconciling against money that actually moved, rather than assuming every GL entry represents a real cash event. Working backward from a bank deposit to the Stripe payout that produced it, and then to the GL entries booked for that payout, surfaces both missing entries (cash arrived, nothing was booked) and phantom entries (something was booked, but no cash ever arrived) — the two failure modes a GL-first approach can miss.
What each leg of the match actually proves
Bank-to-Stripe proves the deposit amount is explained by a specific payout, not an unidentified transfer. Stripe-to-GL proves every charge, fee, and refund in that payout was booked somewhere, and to the right accounts. Passing all three legs for every payout in a period is what makes a bank reconciliation and a cash application process both defensible in an audit, rather than merely arithmetically balanced.
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.
Checklist
Three-way match checklist, per payout
- Identify the payout ID and amount from the bank statement deposit
- Pull Stripe's itemized payout report for that exact payout ID
- Confirm the report's net total equals the bank deposit amount
- Trace each itemized charge to the invoice it settles in AR
- Confirm fees and refunds in the report match separate GL entries, not a single netted line
- Flag and resolve anything that doesn't tie before moving to the next payout
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
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.
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