Reconcile Stripe Payouts With Your Bank Account
40% of Stripe users report payout discrepancies monthly. Reconcile Stripe payouts to your bank in 5 steps with worked examples, timing rules, and automation tips.
40% of businesses using Stripe report at least one payout discrepancy per month. The median discrepancy is $127, but for high-volume merchants processing $100K+/month, unreconciled differences can reach $2,000-$5,000 monthly. Stripe payout reconciliation is the process of matching every dollar Stripe deposits into your bank account against the underlying charges, refunds, and fees -- and it is not optional if you want accurate books.
Most founders ignore reconciliation until tax season or a fundraise due diligence request forces them to explain why their Stripe dashboard and bank statements show different numbers. By then, months of discrepancies have compounded into a forensic accounting project. This guide walks through the reconciliation process step-by-step with real numbers so you can close your books confidently each month.
Why Stripe Payouts Don't Match Your Revenue
Before diving into the how, you need to understand why the numbers diverge. There are five structural reasons Stripe deposits rarely match your gross revenue for any given period.
1. Stripe Fees Are Deducted Before Payout
Stripe charges 2.9% + $0.30 per successful card charge (standard US pricing). On a $100 charge, you receive $96.80 after the $3.20 fee. But your revenue is $100, not $96.80. This means your bank deposits will always be lower than your gross revenue.
For a business processing $50,000/month in charges:
| Metric | Amount |
|---|---|
| Gross charges | $50,000 |
| Stripe processing fees (2.9% + $0.30) | ~$1,600 |
| Net payout amount | ~$48,400 |
| Difference to reconcile | $1,600 |
Use the Stripe fee calculator to model your exact fee burden at different processing volumes.
2. Payout Timing Creates Period Mismatches
Stripe's default payout schedule is T+2 (two business days after charge). This means charges processed on Thursday and Friday may not hit your bank until the following Monday or Tuesday. At month-end, this creates a timing gap where charges booked in March arrive in your bank in April.
Example: March month-end cutoff
| Date | Charges Processed | Payout Date | Falls In |
|---|---|---|---|
| March 28 (Fri) | $3,200 | April 1 (Tue) | April bank statement |
| March 29 (Sat) | $1,800 | April 2 (Wed) | April bank statement |
| March 30 (Sun) | $900 | April 2 (Wed) | April bank statement |
| March 31 (Mon) | $4,100 | April 2 (Wed) | April bank statement |
That is $10,000 in March revenue that shows up in April's bank deposits. If you reconcile on a calendar-month basis without accounting for this, March will appear $10,000 short and April will appear $10,000 over.
3. Refunds Are Deducted From Future Payouts
When you issue a refund, Stripe deducts it from the next available payout rather than creating a separate outgoing transfer. A $200 refund issued on March 15 might reduce the March 17 payout by $200. If you are tracking refunds separately from payouts, the deduction creates a discrepancy.
4. Disputes and Chargebacks
When a customer files a chargeback, Stripe immediately deducts the disputed amount plus a $15 fee from your next payout. If you win the dispute later, the amount is returned in a future payout. This creates both timing and amount differences that need to be tracked.
5. Multi-Currency Payouts
If you accept payments in multiple currencies, exchange rate fluctuations between charge time and payout time create small differences. A EUR 100 charge might convert to $108.50 at charge time but $108.20 at payout time.
Step-by-Step Reconciliation Process
Step 1: Export Stripe Data for the Period
In your Stripe Dashboard, go to Reporting > Balance and download the balance change report for the reconciliation period. You need three reports:
- Balance transactions - Every charge, refund, fee, and adjustment
- Payouts - Each deposit made to your bank account
- Disputes - Any chargebacks during the period
Export these as CSV files. The key fields you need from the balance transactions report are: created, type, amount, fee, net, and payout_id.
Step 2: Group Transactions by Payout
Each balance transaction in Stripe is assigned to a specific payout via the payout_id field. Group all transactions by payout ID, then sum the net amounts. The total for each payout group should exactly match the deposit amount.
Worked example -- Payout po_abc123:
| Transaction | Type | Gross | Fee | Net |
|---|---|---|---|---|
| ch_001 | charge | $150.00 | $4.65 | $145.35 |
| ch_002 | charge | $89.00 | $2.88 | $86.12 |
| ch_003 | charge | $220.00 | $6.68 | $213.32 |
| re_001 | refund | -$89.00 | $0.00 | -$89.00 |
| Total | $370.00 | $14.21 | $355.79 |
The bank deposit for payout po_abc123 should be exactly $355.79. Match this against your bank statement.
Step 3: Match Payouts to Bank Deposits
Pull your bank statement for the same period. Match each Stripe payout to a bank deposit by amount and date. Most payouts arrive T+2, but weekends and bank holidays can extend this to T+3 or T+4.
Create a reconciliation worksheet:
| Payout ID | Stripe Amount | Bank Deposit | Date (Stripe) | Date (Bank) | Match? |
|---|---|---|---|---|---|
| po_abc123 | $355.79 | $355.79 | Mar 15 | Mar 17 | Yes |
| po_def456 | $1,247.33 | $1,247.33 | Mar 16 | Mar 18 | Yes |
| po_ghi789 | $892.10 | $892.10 | Mar 17 | Mar 19 | Yes |
| po_jkl012 | $2,103.55 | -- | Mar 31 | In transit | Timing |
Step 4: Investigate Unmatched Items
If a Stripe payout does not match any bank deposit:
- Check timing -- Is it still in transit? Payouts initiated in the last 2-4 days of the period may not have arrived yet.
- Check for combined deposits -- Some banks combine multiple same-day Stripe deposits into a single credit. Split the bank deposit and match against individual payouts.
- Check for partial payouts -- If Stripe held a reserve (common for new accounts or after disputes), the payout may be less than expected.
- Check for failed payouts -- Go to Stripe Dashboard > Payouts and filter by "Failed." A failed payout will show in your Stripe balance but never reach your bank.
Step 5: Record Adjusting Entries
Once all items are matched or explained, record the adjusting entries in your accounting system:
- Stripe fees -- Debit "Payment Processing Fees" expense, credit "Accounts Receivable" or "Revenue"
- Timing differences -- Record as "Deposits in Transit" on the balance sheet
- Disputes -- Debit "Chargeback Losses" expense when dispute is lost, or reverse when won
- Refunds -- Debit "Sales Returns/Refunds" contra-revenue account
Automation: Reconcile Without Manual Matching
Manual reconciliation is feasible up to about 200 transactions per month. Beyond that, you need automation.
Option 1: Stripe's Built-In Reconciliation Reports
Stripe Sigma and the Reports API provide pre-built reconciliation reports that group transactions by payout. This eliminates Step 2 above but still requires manual matching to bank statements.
Option 2: Accounting Software Integrations
QuickBooks, Xero, and NetSuite all have Stripe integrations that automatically import transactions and match them to deposits. The quality varies:
| Integration | Auto-Match Rate | Fee Tracking | Dispute Handling |
|---|---|---|---|
| Stripe + QuickBooks Online | ~90% | Yes | Manual |
| Stripe + Xero | ~85% | Yes | Manual |
| Stripe + NetSuite | ~95% | Yes | Semi-automated |
Option 3: Dedicated Reconciliation Tools
For high-volume businesses (1,000+ transactions/month), specialized tools like Ledge, Recon Art, or custom-built reconciliation scripts offer the highest accuracy. These tools can handle multi-currency, multi-entity, and complex payout schedules.
Common Reconciliation Discrepancies and Fixes
Discrepancy: Bank Deposit Is Less Than Expected
Cause: Stripe deducted a refund or chargeback from the payout. Check the payout details in Stripe for negative line items.
Discrepancy: Extra Bank Deposit With No Matching Payout
Cause: A previously failed payout was retried and succeeded. Check Stripe's failed payouts list for recently resolved items.
Discrepancy: Rounding Differences
Cause: Multi-currency conversions or fee calculations can create sub-cent rounding differences. If the discrepancy is under $1, record it as a rounding adjustment and move on.
Discrepancy: Duplicate Bank Deposits
Cause: Extremely rare, but it happens when a bank processes the same ACH credit twice. Contact your bank immediately -- they will reverse the duplicate.
Monthly Reconciliation Checklist
Use this checklist to close your Stripe reconciliation each month:
- Export Stripe balance transactions, payouts, and disputes for the period
- Group transactions by payout ID and verify totals
- Match all payouts to bank deposits
- Identify and explain all timing differences (deposits in transit)
- Record Stripe fees as payment processing expenses
- Record refunds as contra-revenue
- Record dispute losses (or pending disputes as contingent liabilities)
- Verify the opening Stripe balance + period activity = closing Stripe balance
- Verify the closing Stripe balance matches the "available balance" in the Dashboard
- File reconciliation worksheet for audit trail
For a complete view of how Stripe revenue flows through your financial statements, see our guide on Stripe revenue reporting across multiple products. And to forecast how your cash position will change based on expected Stripe payouts, use the cash flow forecast calculator.
FAQ
How often should I reconcile Stripe payouts?
Monthly at minimum. High-volume businesses (500+ transactions/month) should reconcile weekly to catch discrepancies before they compound. If you are preparing for a fundraise or audit, ensure the last 12 months are fully reconciled.
What if Stripe holds a reserve on my account?
Stripe may hold a percentage of your payouts as a reserve if your account is new, has a high dispute rate, or processes in high-risk categories. The reserve amount appears as a separate line item in your balance transactions. Track it as "Restricted Cash" on your balance sheet and reconcile it separately.
Do Stripe Connect payouts reconcile differently?
Yes. If you use Stripe Connect, platform fees and connected account transfers create additional line items. Each connected account has its own payout schedule, and the platform's take rate must be reconciled separately from end-customer charges.
Sources
- Stripe Documentation, "Understanding Balance and Payout Reconciliation" (2026)
- AICPA, "Revenue Recognition for SaaS Companies" (ASC 606 guidance)
- Kruze Consulting, "Stripe Accounting Best Practices for Startups" (2025)
- Bench Accounting, "How to Reconcile Stripe with QuickBooks" (2026)
Stop reconciling Stripe payouts manually in spreadsheets. Create your free culta.ai account to automatically track Stripe revenue, fees, and payouts alongside your full financial picture.
Written by Team culta
The culta.ai team helps businesses track revenue, manage cash flow, and make smarter financial decisions across multiple entities.