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:
- Open
/bulk-payroll. - Pick a Payroll Type at the top: Regular (scheduled run on each client's cadence), Bonus, Off-cycle, Correction, or Termination.
- (Optional) Give the batch a Label like "Friday Aug 9 biweekly".
- 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.
- 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.
- (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.
- Click Create Batch at the bottom.
- 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:
- Open
/alerts. The table loads with every active alert across every client. - 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.
- 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.
- 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.
- 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:
- From
/alerts, click the Tax notice chip to filter to that category, or SUI VC for unemployment voluntary contributions. - Each row shows the deadline in the alert text. Click Open to jump to the response page.
- 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. - For SUI VC: the deep-link opens the client's SUI rates page so you can compare current rate vs. voluntary-payment scenarios.
- 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.