Stripe Connect reconciliation docs
Where the money actually goes on every Connect refund, dispute, and cross-border payout — written from the detection logic FeeGuard runs in production.
Webhook events
charge.refunded
charge.refunded fires on every refund, but it never reverses the transfer to your connected account. Here is what happens to the money, and how to check.
application_fee.refunded
application_fee.refunded fires when a platform fee is returned. What the payload contains, what it leaves out, and why it is never quite enough on its own.
charge.dispute.closed
Lose a Connect dispute and Stripe debits the platform for the full amount plus the fee, while the connected account keeps the funds. How to recover it.
charge.dispute.created
A newly opened dispute is the cheapest moment to protect your platform balance. What to do with the event, and the real trade-off involved in acting early.
transfer.reversed
transfer.reversed confirms funds came back from a connected account. Use it to close reconciliation findings automatically, and avoid the ordering trap.
payout.failed
A failed payout on a multi-currency platform is often the visible symptom of an FX or balance problem that has been quietly costing you money for months.
balance.available
balance.available marks funds becoming available. For multi-currency platforms it is a natural point to audit recent cross-border conversion slippage.
account.application.deauthorized
When a connected account revokes your platform access, monitoring for that account stops silently. Why you must handle the event, and how to do it well.
Flags and concepts
reverse_transfer — the flag that decides who eats the refund
reverse_transfer decides whether your platform or your connected account absorbs a refund. What it does, what it does not, and how partial refunds behave.
refund_application_fee — returning your platform cut
refund_application_fee returns your platform cut when a charge is refunded. Skip it and you keep a fee on revenue that no longer exists. Here is the math.
Destination charge refunds — who absorbs the loss
On a destination charge, refunding without reverse_transfer means the platform absorbs the full refund while the connected account keeps the transfer.
Application fee refunds — the proportional rule
How to calculate proportional application fee refunds on partial refunds, plus the rounding and zero-decimal currency traps that break reconciliation.
Dispute clawback — recovering from connected accounts
A practical procedure for recovering a lost Connect dispute from the connected account that received the funds — and why the timing changes everything.