Bulk payroll & alerts

Last updated 2026-10-21For: Accountant

This guide covers: running payroll across multiple clients in a single batch, reading the account-wide alerts feed, and responding to filing deadlines that surface there.

Run payroll across multiple clients

What it does: Creates a payroll run for every client you pick, in one shot. Used on common pay-cycle days (e.g. every other Friday across all biweekly clients).

Where: Dashboard → Bulk Payroll.

Steps:

  1. Open /bulk-payroll.
  2. Check the Needs attention zone at the top first. Draft or partially-approved batches from a prior session surface here as cards (server-driven, so they survive a refresh), each with Review, Approve all, and Cancel. Finish or clear these before starting a new batch.
  3. Pick a Payroll Type: Regular (scheduled run on each client's cadence), Bonus, Off-cycle, Correction, or Termination.
  4. (Optional) Give the batch a Label like "Friday Aug 9 biweekly".
  5. Filter the Client Readiness table to the run you're about to do. The Ready · Warning · Blocked chips above the table double as the status filter — click one to show only those clients (the count is on each chip). Also filter by name search, Cadence (the client's pay frequency), and Next pay date; click Clear filters to reset.
  6. The Pay method column shows how each client's run will disburse — Direct deposit, Paper check, or DD + check (split). Paper check is a disbursement method, not a problem — it no longer flags a client as a warning.
  7. Tick the checkbox on every client to include. Click Select all ready in view to select every ready client in the current filter. Blocked clients can't be selected.
  8. (Optional) Click Save current selection to remember the list. Saved lists appear in the Saved selections dropdown so you can reuse them next cycle. Pick a saved selection there and click Delete to remove it.
  9. Click Run payroll for N clients. A confirm modal lists the clients and cadence you're about to run — net pay isn't shown yet because it's calculated when the drafts are created. Confirm to fire the batch.
  10. The batch result panel opens — each client shows Created (blue) or Skipped / Error with the reason, plus the batch net total. Click the View run → link on a row to open that run.

Who: Accountants only. Managers can launch batches limited to assigned clients; Viewers can't launch batches.

Status chips in the readiness table:

  • Ready — green. Run-payroll preflight passed: client has employees, onboarding done, pay schedule set, and a Moov account to collect from.
  • Warning — amber. The run can fire but something is worth a look (e.g. a state SUTA rate still at its default, no work locations set). Employees paid by paper check no longer count as a warning — that's just a pay method.
  • Blocked — red. Missing Moov account (collection would fail), no employees, unsigned onboarding packet, or no pay frequency. Blocked rows can't be checked.

Notes: Bulk payroll only creates the runs — it still stops short of pushing money. You can Approve all or Cancel a batch from the Needs-attention cards, or open each run from the result panel to preview, edit hours, and approve individually. Processing (the actual money movement) stays a per-client decision on each run.

View account-wide alerts

What it does: Surfaces everything across every client that needs your attention — payment failures, missing config, unsigned onboarding, tax notices, SUI voluntary-contribution deadlines, pending payrolls, overdue final paychecks, SUI claim packets, garnishment disbursements.

Where: Dashboard → Alerts.

Steps:

  1. Open /alerts. The table loads with every active alert across every client.
  2. Filter by category using the chip strip at the top: All · Payments · Final Paychecks · SUI Claims · Tax Notices · Garnishments · SUI VC · Onboarding · Pending Payrolls · Missing Config · Other. The category set is hard-coded from the backend — anything the backend emits that isn't in this list goes in Other so nothing gets silently dropped.
  3. Each row shows: a severity icon (red = error, amber = warning, blue = info), the client name, the alert text, a colored category chip, and an action button on the right.
  4. Click the action button — Fix Now (missing config), View (pending payroll), Open (notice / onboarding / final paycheck / SUI claim), or Remit (garnishment) — to deep-link to the page that resolves it.
  5. Use Refresh (top right) to re-poll for new alerts after you fix one. Use Previous / Next to page (20 per page).

Who: Accountants only. Manager and Viewer only see alerts for their assigned clients.

Notes: Alerts you resolve clear automatically next time the alert generator runs — you don't have to dismiss them by hand. Payment failure alerts only fire on client-bank money-movement failures (funding debit returned, DD returned, client_debit voucher rejected) — they don't fire on filing rejects or wallet pushes; those go through other channels.

Respond to filing deadlines

What it does: Tax notices, SUI voluntary-contribution deadlines, and pending tax-filing windows all surface in alerts so you don't have to remember per-client deadlines.

Where: Dashboard → Alerts, filtered to the relevant category.

Steps:

  1. From /alerts, click the Tax Notices chip to filter to that category, or SUI VC for unemployment voluntary contributions.
  2. Each row shows the deadline in the alert text. Click Open to jump to the response page.
  3. For tax notices: the deep-link opens /clients/[clientId]/tax-notices/[noticeId], where you can upload your response document, log the dollar amount paid, and mark the notice resolved.
  4. For SUI VC: the deep-link opens the client's SUI rates page so you can compare current rate vs. voluntary-payment scenarios.
  5. For pending payrolls: the deep-link opens /clients/[clientId]/payroll/[payrollId] to preview and approve.

Who: Accountants only.

Notes: Tax-notice deadline reminders also fire as separate Celery tasks at T-7, T-3, T-1, and daily once overdue. Those land in your email inbox and in this alerts feed simultaneously — you only need to act on one channel.


Related: Dashboard & client list · Team & permissions · How Payrollix files your taxes · How tax payments work.

Still need help?