Finalize and close a cycle
Who does this: Payroll Executive · Payroll Lead When: The client has approved the cycle and you've cross-checked the Spade approval report against the Infotech output Result: The cycle moves
APPROVED → FINALIZED → CLOSED. It becomes immutable except by deliberate Payroll Lead reopen. The retention clock starts ticking.
This is the last thing you do on a cycle. Finalize is the formal sign-off that the prepared payroll has been disbursed and the books match. Close moves the cycle into the read-only archive set; from there the only thing that can happen is the monthly retention job eventually transitioning it to ARCHIVED per the retention policy.
You'll usually finalize and close the same day the client approves and you've finished CPF / bank submission outside the platform. Don't finalize until the disbursement is genuinely done — once finalized, no further changes are accepted on this cycle.
Before you start
- [ ] Cycle is in APPROVED status. (If it's in
CLIENT_REVIEWorREVISION_REQUESTED, the client hasn't signed off yet.) - [ ] You've reviewed the Spade approval report alongside the actual Infotech output and confirmed the figures match.
- [ ] Bank disbursement, CPF submission, and (if applicable) IR21 acknowledgements have been completed externally.
- [ ] You've gathered any post-payroll evidence files you want preserved with the cycle (bank confirmation, CPF receipt, IR21 acknowledgement). These attach to the cycle but don't block the transition.
TIP
The Singapore disbursement window is tight — finalize on the same business day you push to the bank, not earlier. A cycle in APPROVED is paused; one in FINALIZED is committed.
Steps
1. Capture post-payroll evidence (recommended)
While the cycle is still in APPROVED, attach evidence files. They're optional but heavily recommended for audit trail.
- Open the cycle in the staff dashboard.
- Click Capture Evidence on the cycle header.
- Upload each artifact:
- Bank disbursement confirmation — screenshot or PDF from your banking portal.
- CPF submission acknowledgement — the receipt from CPF Board.
- IR21 acknowledgement — only if there were foreign leavers this cycle.
- The files appear in the cycle's Files tab tagged as evidence.
2. Finalize
- On the cycle header, click Finalize.
- The cycle's status badge flips from
APPROVEDto FINALIZED. - The cycle becomes read-only for submissions, exports, and approvals — no further intake actions are accepted.
3. Close
- On the cycle header (now showing the cycle in
FINALIZED), click Close. - The status badge flips to CLOSED.
- The cycle disappears from active dashboards and surfaces under the closed-cycles filter on the client's Cycles list.
NOTE
No email or webhook fires when you close a cycle. This is purely an internal state change — clients don't see anything new.
How to know it worked
- The cycle's status badge reads CLOSED.
- The Activity log for the cycle records
cycle.finalizedand thencycle.closed, both attributed to you, with timestamps. - The cycle's header shows the Close button has been replaced by an Archive option in the overflow menu (not used routinely — the monthly retention job archives automatically).
- The client's Cycles list shows the cycle under closed cycles. Filter by status to find it later.
- No outbound email is generated; the Outbox has nothing new for this action.
What if you closed in error
Close is reversible only by a Payroll Lead, within 7 days, via the cycle's overflow menu (Reopen). Beyond that window the only recourse is to raise a correction cycle for the next month and document the adjustment manually. Keep this in mind before clicking Close — once the retention purge runs (the 1st of the month at 03:00 UTC; see Timing reference) the original raw artifacts may have been moved out of online storage.
Common situations
| If you see… | It means… | What to do |
|---|---|---|
| Finalize button isn't visible | Cycle isn't in APPROVED — likely still in CLIENT_REVIEW or REVISION_REQUESTED | Confirm the client has actually approved on their portal; check the Approvals tab for a decision |
| Close button isn't visible | You haven't clicked Finalize yet, or the cycle is already past FINALIZED | Click Finalize first; or check status badge — if it's already CLOSED you're done |
| Finalize fails with a state-transition error | Cycle has moved underneath you (e.g. revision was requested before you clicked) | Reload the page; the badge will show the actual current status. Re-route per the new status |
Cycle stuck in OUTPUT_IMPORTED and won't move forward | An older cycle pattern that pre-dates the auto-approval flow | See Cycle stuck in OUTPUT_IMPORTED — Payroll Lead intervention may be needed |
| You need to fix something after closing | Cycle is immutable; reopen is Payroll-Lead-only and within 7 days | Hand off to a Payroll Lead immediately — every day past closure makes recovery harder |
| Closed cycle vanishes from the cycle list | Default filter hides closed/archived cycles | Apply the Closed status filter on the cycle list, or open the client and filter their Cycles tab |
What happens automatically after close
- Retention purge runs on the 1st of the month at 03:00 UTC. Cycles past the configured retention window transition
CLOSED → ARCHIVEDand raw uploads are removed per the retention policy. - Audit log events for the cycle remain queryable indefinitely — closing doesn't truncate the activity log.
- Approval report and export workbook stay downloadable from the cycle until the retention window expires.
Related runbooks
- Generate the Infotech export — the prior step
- Verify an email was sent — confirm the approval email actually went out before you got here
- Timing reference — when the retention job runs and what it moves
- Payroll cycle status machine — full lifecycle visualization
- Retention policy — what happens to the cycle's data after
CLOSED - Recover from a wrong action using the audit log — when something needs to be undone