Skip to main content

Function: resolveStrandedLateHours()

resolveStrandedLateHours(raw): Promise<ResolveStrandedState>

Defined in: src/server/actions/strandedHours.ts:38

Owner-only: resolve one contractor-assignment's late-entered hours whose pay run is ALREADY CLOSED (ADR-0056, extending ADR-0038's disposition flow to contractor-entered hours).

  • 'next': price the hours' marginal pay in the period that would have paid them (same engine, caps respected) and queue it as a pending_pay_items catch-up drained into the next draft.
  • 'paid': the hours were settled outside the system — record them as locked, queue nothing. Either way the entries lock, so no run (or second click) can ever pay them again. The entry rows are re-read and re-mapped server-side via payPeriodForDate (the client only names the group), so a date that actually settles in a still-open period is never resolved here.

Parameters

raw

infer<any>

Returns

Promise<ResolveStrandedState>