Workforce & Labor / Payment Batches
Payment Batches endpoints under Workforce & Labor.
📄️ Preview payroll calculation without creating a batch
Preview payroll calculation without creating a batch
📄️ Generate a new DRAFT payment batch
Generate a new DRAFT payment batch
📄️ List payment batches
List payment batches
📄️ Get payment batch with line items
Get payment batch with line items
📄️ Submit DRAFT batch for Finance Officer review (DRAFT → PENDING_APPROVAL)
Submit DRAFT batch for Finance Officer review (DRAFT → PENDING_APPROVAL)
📄️ FR-PAYSEC-005 — issue a 2FA OTP to the approver for an above-threshold batch (no-op below threshold)
FR-PAYSEC-005 — issue a 2FA OTP to the approver for an above-threshold batch (no-op below threshold)
📄️ Approve a PENDING_APPROVAL batch (MM / FO / Director — above-threshold batches require Director + 2FA OTP — SRS 7.7 / FR-PAYSEC-005)
Approve a PENDING_APPROVAL batch (MM / FO / Director — above-threshold batches require Director + 2FA OTP — SRS 7.7 / FR-PAYSEC-005)
📄️ Reject a PENDING_APPROVAL batch back to DRAFT (MM / FO / Director — SRS 7.7)
Reject a PENDING_APPROVAL batch back to DRAFT (MM / FO / Director — SRS 7.7)
📄️ Submit an APPROVED batch for disbursement (SRS 7.7)
Submit an APPROVED batch for disbursement (SRS 7.7)
📄️ Acknowledge receipt of a COMPLETED batch — Subcontractor only, scoped to their own workers (SRS 7.7)
Acknowledge receipt of a COMPLETED batch — Subcontractor only, scoped to their own workers (SRS 7.7)
📄️ FR-PAY-041 — Record a disbursement failure; notifies FO + affected SUB(s) and flips batch to PARTIALLY_FAILED.
Request body is an inline object, not a validated DTO. The reason field does get a manual length check in the handler, but no formal schema.
📄️ Manually mark a SUBMITTED / PROCESSING / PARTIALLY_FAILED batch as COMPLETED (SRS 7.7)
Manually mark a SUBMITTED / PROCESSING / PARTIALLY_FAILED batch as COMPLETED (SRS 7.7)
📄️ FR-PAY-041 — re-queue a batch’s FAILED items into a fresh DRAFT batch
FR-PAY-041 — re-queue a batch’s FAILED items into a fresh DRAFT batch
📄️ FR-PAY-040 — update a single worker’s payment status (FAILED / CONFIRMED / REVERSED)
FR-PAY-040 — update a single worker’s payment status (FAILED / CONFIRMED / REVERSED)