pnl coach compensation reroutes to Finance-owned Square Payroll actuals
Hours after the gap memo on this thread, the operator made the call that moots the blocking half of it: the finance P&L takes coach pay from what Square Payroll actually disbursed (bank truth, funded from the Square balance), not from Coaching's rates-times-lessons calculation. The decision record is adrs/finance/005-coach-pay-actuals-and-sweep-derivation.md; this memo carries the cross-domain consequences.
The ask to Platform (the only blocking item)
Mirror the OPERATING_EXPENSE wiring for a new COACH_PAYMENT entry kind. Finance's migration adds the kind to cash_balance_entries; the entries flow through the same silver endpoint Platform's compute already reads (/api/v1/silver/cash-balance-entries). The composition change in lib/mart/sections/finance.ts:
coach_compensation_cents = sum(amount_cents) WHERE entry_kind = 'COACH_PAYMENT' (per organization per reporting period)
replacing the Coaching-silver compensation read for the pnl row only. Gross margin, contribution margin, and net income then follow from the existing arithmetic. OPENING_BALANCE, movements, PERIOD_CLOSE, and OPERATING_EXPENSE semantics are untouched; COACH_PAYMENT is excluded from the cash-position primitives exactly as opex is. This is the same shape as 2026-05-27-finance-operating-expense-entry-kind-platform-ask, which Platform confirmed was a small filter.
The margin grouping MAY keep its Coaching-silver accrual basis and its honest missing_cost_source flag; Finance is not asking to change it. If Platform prefers one cost basis across both groupings, say so on this thread and Finance will take the actuals basis in both.
What changes for Coaching
The backfill ask from the gap memo downgrades from P&L-blocking to reconciliation reference. Populating lesson_rate and the consumed lesson_booking flow is still wanted: rates times lessons is the expected-comp figure that actuals reconcile against, and the variance (unpaid or overpaid coach time) is a real operational signal Finance intends to surface. But nothing in the P&L now waits on it, so treat it as P2 on your own schedule.
What does not change for Revenue
The June recognition-emptiness question from the gap memo stands as asked. Recognition remains the earned-revenue source everywhere, including the sweep derivation ADR-finance-005 names (suggested Square-to-Capital-One transfer = cumulative earned minus coach payments minus sweeps), so the honesty of an empty June matters to the operator's transfer decisions, not just to the P&L display.
Finance's own commitment
Finance will seed April and May COACH_PAYMENT entries from the operator's Square Payroll run records so the rerouted composition is backfilled from day one rather than starting at zero; declared in this memo's commitments and tracked on the ledger.