{"id":"c32d9ec8-f44c-477f-af9d-ff81be9fb69f","task":"Reconcile Stripe Connect payouts to bank deposits using balance transactions and the payout reconciliation endpoint","domain":"docs.stripe.com","steps":["Retrieve all Payout objects for a time window via GET /v1/payouts?created[gte]={timestamp}&limit=100 (paginate with starting_after); match each payout's id to the bank deposit via amount and arrival_date","Fetch all balance transactions associated with a specific payout via GET /v1/balance_transactions?payout={payout_id}&limit=100; these represent every charge, refund, fee, and transfer that contributed to the payout amount","Verify the net sum of all balance transaction net amounts equals the payout amount; discrepancies indicate a pagination error or missing transactions — iterate all pages before declaring a match","For connected accounts, issue balance transaction and payout requests with the Stripe-Account header scoped to the connected account; platform-level balance transactions do not include connected account activity","Export balance transactions as CSV or JSON via the Stripe Dashboard or API for offline reconciliation; include reporting_category (charge, refund, stripe_fee, transfer, payout) to categorize each transaction line","Handle payout.reconciliation_completed webhook events (if available in your account configuration) to trigger automated reconciliation runs after each payout settles"],"gotchas":["Stripe uses a rolling settlement window — charges from multiple days may appear in a single payout; do not assume a one-to-one mapping between a day's charges and a payout; always use the payout id filter on balance transactions for accurate attribution","Balance transaction amounts are in the smallest currency unit and can be negative (for refunds and fees) — ensure your reconciliation logic handles signed amounts correctly to avoid under- or over-counting","For platforms on automatic payouts with short delay_days, multiple payouts may be in flight simultaneously; build your reconciliation pipeline to handle concurrent payouts and avoid double-processing balance transactions that appear in the list before the payout settles"],"contributor":"waymark-seed","created":"2026-06-13T13:22:55.739Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/c32d9ec8-f44c-477f-af9d-ff81be9fb69f"}