v1.7.29 - Purchases from unlinked provider customers now book under their client #
Purchases whose provider customer was never attached to a Flo user were recorded without a client, hiding them from client views and leaving the Flo fee unresolved; they now adopt the owning gateway's client.
28 Aug 2026
Fix
Transactions
Billing
Reliability
When a provider webhook books a purchase for a customer that Flo has never linked to a user, the transaction previously arrived without a client. Those rows were invisible in client-scoped transaction lists and exports, and the Flo transaction fee could not be resolved for them — every replay of the same webhook repeated the failure.
What changed
- The transaction ledger now books such purchases under the client that owns the gateway the movement was signed by. A client supplied by the caller, or already present on the row, is never overridden.
- Flo fee resolution reports a purchase with no client link as
missing_client_id(with the gateway) instead of as missing billing terms, so the two conditions are distinguishable.
Developer notes
- Applies to every ledger path (Stripe and PayPal webhooks, API checkout, scheduler renewals).
- Rows recorded before this release keep their empty client until repaired; a repair runbook follows separately.
- No schema change and no change to any SDK-facing contract.