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 three ways:

  • Automatically — the platform fires at the client's local 09:00 on the day-of-month set on the client record, retrying hourly for 48 hours. Walker & Tan are configured for the 18th, so the May-2026 cycle opens itself from SGT 09:00 on 18 May.
  • Manually — open Walker & Tan, click Open cycle (the card shows only while Payroll is running on the company), 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). A month after the current one (in the company's own time) cannot be opened yet: the picker stops at this month and the server refuses a later one (stage review S1-04, 28 Oct 2026).
  • From a document — a payroll document arriving in the client's Chatwoot thread opens that month's cycle once a reviewer approves it.

Every path produces the same row: the month moves PLANNED → REQUESTED → INTAKE_IN_PROGRESS as it opens, with the employee list copied from the newest finalised earlier month. The month's history gets one roster copied row saying from which month, how many people, which leavers were dropped and which joiners added; a joiner who could not be carried (no employee code from Infotech) gets a warning on the month naming them. The month's request goes to the client by email (below). The client's day 3/5/7 reminders count from when that request actually reached someone, not from the opening (stage review S1-03).

→ 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 payroll sender at Walker & Tan (contacts who can submit) receives their own email, on their own thread for the month, from the firm's payroll mailbox (Settings › Integrations). Someone with no email address gets it on their own chat instead.

  • Subject: Payroll Input – May 2026 – Walker & Tan Associates Pte Ltd (the firm's own subject since 26 Oct 2026)
  • Body: "Hi {name},", then "Your May 2026 payroll is now open." and what Walker & Tan need to send this month — the firm's own input list, with what they send every month first; leavers and changes already known; anything still waiting for a document; when the inputs are due and when salaries go out ("Please send them by 18 May so salaries go out on 28 May.", from Inputs due by on Settings → Payroll; a month opened after that day says "as soon as you can") — then "Just reply to this email with the files.", signed with the firm's sign-off from Settings → General ("Payroll team" until set).
  • Link: when Walker & Tan have a live payroll link, the email ends with "You can also send everything on your payroll page: {link}". Otherwise there is no link: the client replies with their files.

On a company's real first month the request first asks for a starting point: last month's payroll report from the previous provider, or the employee list. A later month opened while no earlier month is finalised yet (a new client's second month opened by hand) does not ask for the list: it opens with none and fills in by itself from the month before once that month is finalised (stage review S1-01).

→ Start a payroll cycle for everything the request can say. → The client says they didn't receive the email for the diagnostic walkthrough.

2. Client intake ​

The client replies with their files — on their email thread for the month, or on chat. On email there is no instant "Got it" and no receipt: once a batch of files has settled they get one reply naming what arrived ("Thank you, we've received 3 documents for your payroll: …"), saying so if a file could not be placed yet.

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, the hourly sweep reminds them on day 3, 5 and 7, from 10:00 in the company's own time:

  • Nothing sent yet — the month's list again ("Just checking in: we haven't received anything for your May 2026 payroll yet.").
  • Something sent — on day 3 the closing question goes by itself: what has arrived so far, what is still missing, and "Is anything else coming for your May 2026 payroll?". Later days nudge on the same thread, ask again, or — if they said more is coming — ask for the rest.
  • Day 7 is the last automatic reminder; a still-silent month is escalated to staff (and possibly the Payroll Lead).

When the client answers "no, that's everything" (or you confirm intake), they get "Thanks, we have everything we need for your May 2026 payroll …".

With automatic messages off, a due reminder is not sent: the month gets a task, and the Work page's Client reminder section lets you read and send it yourself. It also says when the next one falls due.

→ Reminders (P-12) for every case.

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 Ask client on the IR21 check. Read the drafted question, edit it if needed ("Need IR21 for the foreign-worker leaver — same one we discussed last week"), and click Send to client. It goes back on the thread the leaver's document came on (or to whoever wrote to us last). Their reply shows under the check; it does not close it — you clear the check once the document is in. While the month waits on that answer, the sweep follows up on day 3, 5 and 7, on the same thread, until they reply.

→ Resolve a blocking validation issue → Override a blocking issue — Payroll Lead only → Ask the client for something mid-month

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 BreezyCorp 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 export → The 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 output → Cycle 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 BreezyCorp-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. If the approver goes silent, a reminder goes every 2 days until the pay-by date, each with a fresh link and the date we need approval by ("We need it by {date} to pay salaries on time.").

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.

When the payment instruction is approved and the month closes, each payroll sender and the approver are told by email: "Your May 2026 payroll is done. Salaries go out on {date}. Your employees will get their payslips from Infotech." (the date only when a payment date is recorded).

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 month's email didn't arriveThe month's Work pageA message that wasn't sent leaves a task saying why. See The client says they didn't receive the email
Validation flags a client mistakeCycle → Issues tabClick Ask client on the check. 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 approval link expiredThe month's Work pageSend a fresh link, or the approver asks for one on the page — 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