The client says they didn't receive the email
A staff user gets a message from a client — "I never got the request", "the reminder didn't arrive", "where's my approval email?". Work through the sections below top to bottom.
Payroll messages to the client go through Chatwoot. Every month-level message — the month's request, reminders, "we have everything", the approval request and its follow-ups, "done", "cancelled" — goes by email to each person it is for, on that person's own thread for the month, sent from the firm-wide payroll mailbox chosen in Settings › Integrations. A person gets it on their own chat only when they have no email address. A question about something the client sent goes back on the thread it came on; a question nothing prompted goes to whichever payroll sender wrote to us last.
The payroll link email (the onboarding email, a resend, or a link the client asked for from an old link) goes the same way, from the payroll mailbox, as a new email with no month. If it could not go, the Payroll Leads and the company's executive have an alert ("The payroll link email to … could not be sent") saying why; send it again from the company's People › Payroll link card once that is fixed. Sign-in codes are different: they come from the system address (see Which way each email goes).
1. Was it sent at all?
Check: open the month's Work page.
- A message that was not sent always leaves a staff task on the month saying why, in plain words. A message that reached some people but not others leaves a task naming who still needs telling ("The … went to Mary Goh, but not …. Tell them yourself, then clear this.").
GET /ops/cycles/:cycleId/client-noticeslists every month-level message that went, newest first, with who it reached and the words each person was sent (links are left out). If the message is there, it went.
If there is a task, go to section 2. If the message is listed, go to section 3.
2. It was not sent — why
Read the task. The common reasons:
| The task says… | Fix |
|---|---|
| "… is emailed (…), but no payroll mailbox is set up to send from (Settings › Integrations)" | Choose the payroll mailbox in Settings › Integrations. The person is not moved to chat instead. |
| "… has no email address and has never written to us" | Add their email on the company's People tab, or link their chat |
| "… has no email address, and last wrote to us on WhatsApp more than 24 hours ago …" | WhatsApp lets us write only within 24 hours of their last message. Add their email, or wait for them to write |
| "this company has no active payroll sender among its contacts" (or approver) | Add or reactivate the contact with the right payroll role — see Add or edit client contacts |
| A reminder "… has not been sent — review the message and send it with "Send reminder"." | Automatic messages are off: for the whole platform (MSG_AUTO_REPLY_ENABLED=false), or for this company (Settings → Payroll, "Send automatic payroll messages to this client"). The task names which. Send it yourself from Client reminder on the Work page |
Once a later send of the same message works, its task clears itself.
3. It was sent, but the client can't find it
Check in the client-notices list who it went to:
- The right person? Each person gets their own copy. The approval request and its reminders go only to the approver the round was made out to; "done" and "cancelled" also reach the approver (cancelled only an approver a request actually reached). A question about a document goes to whoever sent that document, where they sent it.
- The right address? Compare with the person's email on the company's People tab. Fix it there; the next message uses it.
- The right place? The email comes from the payroll mailbox address, with the subject "Payroll Input – {Month YYYY} – {company}" (months started before 26 Oct 2026: "Payroll for {Month YYYY}: {company}"). Ask them to search for that, and to check spam / junk.
- Chat instead of email? Someone with no email address was written to on their own chat.
4. It isn't due yet
- Reminders go on day 3, 5 and 7 of waiting, on the first hourly run at or after 10:00 in the company's own time (Singapore when none is on file). The Work page's Client reminder section says when the next one falls due.
- "Still waiting on the items we asked for" stops once the client has answered or written on that thread. After a revision request it counts from our revision message, not from their request, and goes to the approver.
- Approval reminders go every 2 days until the pay-by date.
See Timing reference.
5. "I sent you files and got no reply"
- On email there is no instant "Got it" and no "we have received your message" receipt. One reply comes once the batch has settled: for files that all went to payroll, "Thank you, we've received N documents for your payroll: …", saying if one file could not be placed yet.
- On chat the instant "Got it — processing your documents…" comes first, then the same summary.
Still not finding it?
If the message is in the client-notices list, went to the right address, and the client still has nothing, their mail server may be rejecting or quarantining mail from the payroll mailbox. That's a deliverability investigation, not a payroll problem. Escalate to the on-call engineer.