Skip to content

Quick start — running a full payroll cycle

A narrative walkthrough of one complete monthly payroll cycle from the staff side. By the end you'll have shipped a client through every stage — from cycle initiation to closed and archived — and you'll know which screen to open at each step. Every section links into the matching how-to runbook for click-by-click detail and into the troubleshooting page that covers the most common stumble at that step.

The story below follows one client end to end. We'll use Walker & Tan Associates Pte Ltd — a hypothetical 35-headcount engineering consultancy on your firm's portfolio with a mid-month cutoff and one joiner, one salary change, and one leaver this cycle. Anchor the steps on whichever client you're actually running; the surfaces are the same.

NOTE

If you're a new staff user finding your way around, start with the dashboard tour first, then come back here. The tour names every sidebar surface this page sends you to.

Cast of characters

RolePlays
Platform AdminSet up the client record once — contacts, document rules, export template, auth policy
Payroll ExecutiveRuns the cycle day to day — receives the submission, resolves issues, generates the export, uploads the output
Payroll LeadApproves overrides for blocking issues, manages templates, signs off on edge cases
Client submitterOne contact at Walker & Tan who receives the email link and uploads documents
Client approverOne contact at Walker & Tan who receives the approval link and signs off

The submitter and approver can be the same person. For Walker & Tan they aren't — the operations manager submits, the managing director approves.

0. Confirm the client is configured

Before any cycle runs, the client record needs four things in place:

  • At least one active contact who can submit intake
  • At least one active contact who can approve (can be the same person, but for separation of duties most clients have two)
  • An auth policy — typically magic link
  • Document rules for joiner, change, and leaver bundles (offer letter, NRIC, bank details, change letters, resignation letters)
  • An active export template of kind UPLOAD for the firm's import workflow

Open Clients in the staff dashboard sidebar, click into Walker & Tan. The Setup health panel on the top right goes green when all of the above are in place. Anything red there will refuse the cycle initiator with a specific error.

→ Setting one of these up from scratch: Create a new payroll client · Add or edit client contacts · Configure document rules per change type · Upload an Infotech import template

1. Initiate the cycle

A cycle starts in one of two ways:

  • Automatically — the platform fires at the client's local 09:00 on the day-of-month set on the client record. Walker & Tan are configured for the 18th, so the May-2026 cycle initiates itself at SGT 09:00 on 18 May.
  • Manually — open Walker & Tan, click Start cycle, pick the cycle month. Use this when the schedule day is in the future and you need to start now (early month-end, recovery from a missed schedule, or a one-off correction cycle).

Either path produces the same result: a new cycle row at status REQUESTED, the prior month's roster snapshotted as a baseline, a fresh magic link minted per submitter contact, and the monthly request email dispatched.

Start a payroll cycle for the click-by-click manual path. → When does each scheduled action fire? for the auto-initiation timing.

TIP

If you start a cycle and the row never appears, see Why isn't my cycle showing?. Most often the client's defaultScheduleDay is in the future, or a contact was deactivated.

What the client sees

Every active contact at Walker & Tan with Can submit intake ticked receives an email:

  • Subject: Payroll data request for 2026-05 - Walker & Tan Associates Pte Ltd
  • Body: A short note then two buttons — Yes, I have changes and No changes this month

The link inside the email expires in 48 hours. If the client doesn't act, the platform sends a fresh-link reminder on day 2, day 5, and day 7 — the old link is invalidated each time.

Verify an email was sent if the client says they didn't receive it. → The client says they didn't receive the email for the diagnostic walkthrough.

2. Client intake

The client clicks one of the two buttons in the email.

Path A — zero-change fast path

Walker & Tan have no movements this month. The submitter clicks No changes this month. The portal auto-submits a zero-item intake with a server-marked declaration that there are no changes from the prior month. The cycle moves REQUESTED → SUBMITTED instantly, and a gold zero changes badge appears on the cycle. There's nothing for the executive to do until step 4.

Path B — changes path

Walker & Tan do have movements. The submitter clicks Yes, I have changes and lands in the intake wizard:

  1. Cycle moves REQUESTED → INTAKE_IN_PROGRESS on first portal access.
  2. They upload supporting documents — offer letter and NRIC for the new hire, change letter for the salary increase, resignation letter for the leaver, plus the May attendance file. Each upload triggers OCR.
  3. OCR extracts fields with confidence scores. High-confidence fields auto-fill the form (the new hire's name and NRIC populate from the offer letter the moment it lands).
  4. They fill in joiner / change / leaver records, optionally backed by the prior-cycle baseline-roster dropdown.
  5. They submit. The platform runs blocking validation rules synchronously: attendance present, document requirements met per change type, foreign-leaver IR21 flagged if applicable, NS docs paired, no duplicate receipts.

If validation passes the cycle moves to SUBMITTED. If it fails, the client sees inline errors and stays in INTAKE_IN_PROGRESS until they fix them.

NOTE

The link is single-use for first sign-in. After that the session resumes automatically until the 48-hour expiry — the client can save progress, close the laptop, and come back the next morning without anyone having to reissue anything.

3. Reminders, if the client goes silent

Walker & Tan are usually prompt, but if a client doesn't act:

  • Day 2 — daily check fires a fresh-link reminder
  • Day 5 — same
  • Day 7 — same; this is the last automated nudge before the cycle needs human escalation

You don't trigger any of this. If you want to confirm the reminder fired, the Outbox sidebar entry will show a reminder row with status Dispatched.

The magic link expired before the client opened it covers the manual reissue path.

4. Validation — your first ops touch

Once Walker & Tan's intake hits SUBMITTED, switch to your Payroll Executive view and open the cycle from Cycles in the sidebar.

  • Validation runs as the first step of Generate export. There is no separate "Run validation" button — the moment you click Generate Export, every blocking rule is re-checked.
  • If issues exist, the cycle moves to ACTION_REQUIRED and the Issues tab shows them. Each issue cites the rule it violates and the affected employee or line.

Common Walker & Tan stumbles: the leaver is a foreign worker but no IR21 is attached, or the salary-change letter is missing the effective date.

Validation rules reference — the eight blocking rules and what each one means. → Validation keeps blocking even though the document is uploaded when the client swears they've sent everything.

5. Resolve, escalate, or request more info

Three ways out of ACTION_REQUIRED:

PathWhen to useWho can do it
Bounce back to the clientDocument genuinely missing — preferred pathPayroll Executive
Resolve in-house with reasonOne-off explanation that doesn't require client actionPayroll Lead
OverrideDocumentation is genuinely impossible to obtain — logged as a Lead overridePayroll Lead

For Walker & Tan's missing IR21: click Request info from client, tick the IR21 issue, add a short note ("Need IR21 for the foreign-worker leaver — same one we discussed last week"), pick the recipient, send. The client receives a focused "we need these N items" email with a fresh portal link. Each upload auto-re-validates the cycle. When the last blocker clears, the cycle automatically advances to READY_FOR_INTERNAL_REVIEW and then READY_FOR_EXPORT.

Resolve a blocking validation issueOverride a blocking issue — Payroll Lead only → Request more info from a client mid-cycle

6. Generate the Infotech export

Walker & Tan's cycle is now READY_FOR_EXPORT. Click Generate export. One click does four things:

  1. Re-runs validation. If anything blocking surfaces, it aborts with a toast and opens the Issues tab.
  2. Renders the Infotech 51-column workbook with employees aggregated per row — joiner, salary change, variable pay, deduction, and leaver lines collapsed onto one record per person.
  3. Auto-requests client approval — picks the client's first active approver (alphabetical by name), generates the Spade approval report, transitions the cycle to CLIENT_REVIEW, and emails the approver a magic link.
  4. Opens a preview dialog with a download button for the Infotech workbook.

The cycle moves READY_FOR_EXPORT → EXPORTED → CLIENT_REVIEW in this single click — or stays at EXPORTED if Walker & Tan has no active approver, in which case you'll see an amber warning toast and the manual Request approval button stays available.

The Infotech workbook is then handed to the processor offline. The platform does not push to Infotech automatically — Infotech runs payroll the way it always has.

Generate the Infotech exportThe Generate Export button is greyed out when the click does nothing. → Approval request didn't auto-fire after Generate Export when step 3 silently skipped.

7. Upload the Infotech output (optional)

Once Infotech finishes processing Walker & Tan's payroll, you can upload its output back into the platform to enrich the approval report with real CPF and SDL figures.

This step is optional. Without it the approval report uses submission items only and the CPF columns remain zero — which is fine for many clients and speeds up the cycle. With it the approval report shows the actual disbursement figures the approver is signing off on.

Open the Outputs tab on the cycle, drag in the Infotech workbook. The parser runs, the approval report regenerates from parsed rows. Status stays at CLIENT_REVIEW because the approval round is already in flight — the portal automatically picks the latest report version.

Upload the Infotech outputCycle is stuck in OUTPUT_IMPORTED if the status doesn't move.

8. Client approval

Walker & Tan's managing director opens the magic link and lands on the approval view:

  • One Payroll report download card. They open the Spade-format workbook and see employee rows, sub-totals, and the CPF e-submission summary.
  • Three buttons: Approve, Request revision, Raise query.
If they pick…Cycle moves to…Your next step
ApproveAPPROVEDFinalize and close — step 9
Request revisionREVISION_REQUESTED, then INTAKE_IN_PROGRESS on the next portal visitRound 2 — re-run from step 2; the cycle keeps the same row, the round counter increments
Raise queryCLIENT_QUERY_OPENRespond inside the cycle UI — the cycle returns to CLIENT_REVIEW once the query is closed

Request client approval for the manual path when auto-request didn't fire. → Handle a revision request for round 2+. → Handle a client query for the query path.

What the approver sees

  • Subject: Payroll approval required for 2026-05 - Round 1 - Walker & Tan Associates Pte Ltd
  • Body: Notes the round number, lists the cycle month, and surfaces a single Review & approve button.

The approval link expires in 48 hours and refreshes via the same reminder cadence as cycle requests if the approver goes silent.

9. Finalize and close

Walker & Tan's cycle is now APPROVED. Two more clicks close it out:

  1. Click Finalize → status moves to FINALIZED. Artifacts are now locked — no further edits to the export, output, or approval report.
  2. Click Close → status moves to CLOSED. The cycle is sealed and read-only.

The retention purge eventually moves CLOSED → ARCHIVED per the firm's retention policy. You don't trigger this manually — it fires on the 1st of the month at 03:00 UTC.

Finalize and close a cycle

What you've just done

You've shipped Walker & Tan through 16 status transitions, surfaced and resolved any blocking issues, generated the Infotech import workbook, optionally re-imported its output, gathered approval, and closed the cycle. Every action you took is in the cycle's Audit tab, and globally in the Activity log sidebar entry filtered by cycle.

Where to go next

Cheat sheet — what to do when X

If…Open…Do…
The cycle email didn't arriveOutbox in the sidebarCheck the dispatch status. See Verify an email was sent and The client says they didn't receive the email
Validation flags a client mistakeCycle → Issues tabClick Request info from client. Don't override unless documentation is genuinely impossible — see Override a blocking issue
Generate Export does nothingCycle status badgeCycle is in the wrong state for export — see Generate Export disabled
Approval email never arrivedOutbox, then Activity logActivity log shows whether the approval round was created. If yes, the email failed; if no, the export skipped auto-request because the client has no active approver. Approval not auto-fired
The magic link expiredCycle → OutboxReissue from the cycle — see Magic link expired
Cycle stuck at OUTPUT_IMPORTEDCycle status badgeThe output parsed but no fresh approval round was minted — see Cycle stuck in OUTPUT_IMPORTED
Client wants to change something after APPROVEDDon't reopenHandle in next month's cycle as a retro adjustment change
You took a wrong actionActivity logEvery state change is logged with the actor — see Recover from a mistake

Internal use only — BreezyCorp