Part of #1.
- LedgerEntry as the single money-movement record: order revenue split (merchant net, platform fee, courier fee, tips), refund reversals
- PayoutAccount per merchant/courier (Stripe Connect account id from the upstream connect module); balances = ledger aggregation
- Payout simulation: listPayouts from Stripe sandbox + transfer creation for merchant balances; courier payout statement view data
- Tests: split math invariants (sum of parts equals charge), refund reversal symmetry