Help CenterFor accountants

Bulk payroll & alerts

Last updated 2026-06-19For: 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 (/bulk-payroll).

Steps:

  1. Open /bulk-payroll.
  2. Pick a Payroll Type at the top: Regular (scheduled run on each client's cadence), Bonus, Off-cycle, Correction, or Termination.
  3. (Optional) Give the batch a Label like "Friday Aug 9 biweekly".
  4. Filter the Client Readiness table to the run you're about to do. Filters: search by name, Status (Ready · Warning · Blocked), Cadence (matches the client's pay frequency), Next pay date. Click Clear filters to reset.
  5. Tick the checkbox on every client to include. Use the header checkbox to select all currently visible (post-filter). Blocked clients can't be selected.
  6. (Optional) Click Save selection to remember the list. Saved lists appear in the Load selection dropdown so you can reuse them next cycle. Click the trash icon next to a saved list to delete it.
  7. Click Create Batch at the bottom.
  8. The batch result panel opens — each client shows Created (green) or Skipped / Error with the reason. Click any client to jump into that run.

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

Status badges in the readiness table:

  • Ready — green check. Run-payroll preflight passed; client has employees, onboarding done, pay schedule set, payment method configured.
  • Warning — amber. The run can fire but something is off (e.g. some employees missing direct deposit, a state SUTA rate is the default 2.7%, no work locations set).
  • Blocked — red. Onboarding packet unsigned, no employees, no pay frequency. Blocked rows can't be checked.

Notes: Bulk payroll only creates the runs — it doesn't approve or process them. Open each run from the result panel to preview, edit hours, and approve individually. That's by design: payroll authorization is a per-client decision and the bulk tool deliberately stops short of pushing money.

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 (/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 · Config · Payroll · SUI VC · Tax notice · Payment · Onboarding · Final paycheck · SUI claim · Garnishment · 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 (/alerts), filtered to the relevant category.

Steps:

  1. From /alerts, click the Tax notice 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?