Recovery playbook
Refunds on orders split across multiple connected accounts
The $180 order was three items from three sellers — three transfers out, three application fees collected. The buyer refunded the whole order. Your reconciliation, written against one charge and one transfer, quietly misses two-thirds of the recovery and flags nothing, because every single-leg check passes while the aggregate leaks. Multi-leg orders need per-leg reasoning, and the nasty corner cases live where whole-order refunds meet partial-leg reality.
Where multi-leg orders come from
Split shipments where each warehouse holds different items. Marketplace baskets assembled from several vendors. Service bundles subcontracted to specialists. Each leg is its own transfer carrying its own slice of the application fee — which means each leg is its own little reconciliation problem wearing an order number.
The per-leg pattern
Enumerate transfers by source transaction rather than assuming charge.transfer tells the whole story — destination charges carry one transfer, separate-charges baskets carry many. For each leg compute the proportional expectation against that leg’s share of the refund, then compare against that leg’s actual reversals. Aggregating first averages away exactly the signal you need.
The nasty cell: whole refund, partial legs
Buyer returned one of three items but was refunded for the full order by a well-meaning support agent. Whole-order logic over-recovers from two honest sellers; leg-aware logic excludes the kept-item leg and recovers precisely one seller’s share plus its fee fraction. This cell is where multi-leg recovery is won or lost — build for it explicitly rather than discovering it socially.
- Legs to recover (2 of 3)
- $120.00 transferred
- Expected reversals + fees
- $108.00 + $12.00
- Kept-item leg — excluded
- $60.00 untouched
What FeeGuard does about it
Findings are raised per transfer with the parent charge referenced, so nothing in the multi-leg path is averaged or assumed. Each leg’s net position is checked independently, which is what makes the partial-leg case come out right without special-casing.
Common questions
Does Stripe refund all legs automatically?
No. Refund the charge once; each transfer reverses only on explicit instruction, leg by leg.
Can legs be in different currencies?
Yes — reversals convert at current rates, so cross-border baskets add FX deltas to the arithmetic. Record them separately.