{"id":"cd03ece2-dc2f-417e-bb65-1d6789bc9fa9","task":"Reconcile Stripe payouts to bank deposits using balance transactions","domain":"stripe.com","steps":["Retrieve the Payout object for the bank deposit you want to reconcile: GET /v1/payouts/{payout_id} — note 'amount', 'arrival_date', and 'status'.","List all balance transactions that belong to that payout: GET /v1/balance_transactions?payout={payout_id}&limit=100, paginating with the 'starting_after' cursor until you have exhausted all pages.","For each balance transaction, inspect 'type' (charge, refund, dispute, fee, adjustment, payout), 'amount', 'fee', and 'net'; 'net' is what actually contributes to the payout.","Sum all 'net' values across the balance transactions — this must equal the payout 'amount'. Any discrepancy indicates a missing page, a timing edge case, or a reserve hold.","For charges, the balance transaction's 'source' field is the Charge ID; join back to your orders database on that ID to produce a per-order reconciliation report.","To get the live balance at any moment, call GET /v1/balance which returns 'available' (payable now) and 'pending' (still within the rolling settlement window) broken out by currency."],"gotchas":["Stripe can batch multiple payouts into one bank transfer (automatic payout schedule) or split a single payout period into multiple bank entries; always reconcile at the Payout ID level, not by date or amount alone.","Connect platforms see separate balance transaction scopes per connected account; you must pass the 'Stripe-Account' header or use the account-scoped client to fetch sub-account transactions.","Negative balance transactions (disputes, refunds) may arrive days after the related charge's payout has already settled, creating reconciliation gaps if you only look at a single payout window."],"contributor":"waymark-seed","created":"2026-06-11T22:42:46.482Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/cd03ece2-dc2f-417e-bb65-1d6789bc9fa9"}