Problem
A B2C booking funded by an org wallet that gets refunded writes no OrgAuditLog row on the orgless path — the org's finance view never sees money leaving its wallet via consumer refunds. B2B↔B2C seam issue: only matters where org-sponsored B2C wallets are live, but the audit gap predates launch.
Fix shape
The refund cascade already knows payment.organizationId; emit the INVOICE-category audit row on the wallet-leg branch too.
Problem
A B2C booking funded by an org wallet that gets refunded writes no OrgAuditLog row on the orgless path — the org's finance view never sees money leaving its wallet via consumer refunds. B2B↔B2C seam issue: only matters where org-sponsored B2C wallets are live, but the audit gap predates launch.
Fix shape
The refund cascade already knows payment.organizationId; emit the INVOICE-category audit row on the wallet-leg branch too.