School payroll has a specific failure pattern. It is correct almost every month, which is exactly what makes the wrong month dangerous. Nobody reads sixty payslips line by line when the last eleven runs were fine. The provident fund contribution that silently dropped off one teacher’s slip gets discovered in October, by the teacher, and unwinding it costs more goodwill than the amount involved.
The payroll anomaly pack exists to make the review window productive.
The Payslip Nobody Checks
Consider what actually goes wrong in a school payroll run. A staff member’s attendance was finalised late, so loss-of-pay days are wrong. A salary revision was applied to the structure but not the component mapping. A statutory component was disabled during a configuration change and nobody re-enabled it. A one-off deduction was entered with an extra zero.
None of these produce an error. The run completes. Every payslip is internally consistent. The only way to catch them is to compare each payslip against what that person normally receives — which is precisely the check that a human reviewer cannot perform sixty times in an afternoon and a computer can perform instantly.
Baseline Comparison: How an Anomaly Is Defined
The detection logic is deliberately simple and entirely inspectable.
For each employee in the draft run, the pack loads their prior payslips and computes a mean for each monetary field: net pay, gross earnings, total deductions, employee provident fund, professional tax, and monthly TDS. Loss-of-pay days are tracked alongside them. Everything is held in paise, so there is no floating-point drift in the comparison.
Two conditions raise a finding.
Deviation past a threshold. The current value differs from the employee’s trailing baseline by at least a configurable percentage, defaulting to 25 percent. The finding records the direction, the percentage, and the baseline figure.
A consistent value gone to zero. A field that was reliably non-zero across prior months is zero this month. This is called out separately from percentage deviation because it has a different cause — a component was dropped, not reduced — and because a drop to zero is always worth a look regardless of what percentage it represents.
An employee with no prior payslips produces no findings. There is nothing to compare against, and manufacturing a baseline from a single data point would generate noise in every new joiner’s first month.
High and Medium Severity, and Why It Matters
Findings are graded, and the grading rules are worth knowing because they determine what a reviewer looks at first.
High severity applies when net pay itself deviates by 40 percent or more, and when net pay or the provident fund contribution has fallen to zero after being consistently present. These are the findings that indicate someone will be materially underpaid or a statutory obligation has been missed.
Medium severity covers everything else — a 30 percent movement in gross earnings, a professional tax figure that has shifted, a TDS amount out of line with the trailing months.
The distinction exists so that a run with fourteen findings is not fourteen equal problems. Usually it is two that need fixing and twelve that have an explanation — an increment, an arrears payment, a genuine loss-of-pay month.
The Draft-Run Review Window
The pack runs on a daily schedule at a configurable hour, defaulting to 10:00 in the school’s timezone, and scans the most recent draft payroll run.
In its basic form it raises a general in-app advisory to administrators: review the latest draft for anomalies before approving. In its agent form — which despite the name makes no language-model call — it does the actual work: deterministic queries load the draft run’s payslips and each employee’s prior history, run the comparison, and raise an in-app notification summarising what was found. Something closer to “June draft: three payslips with anomalies, net pay down sharply for one, provident fund missing for two.”
A cap on payslips scanned per run, defaulting to 500, keeps a single evaluation bounded.
The delivery channel is in-app rather than WhatsApp, and that is intentional. Payroll figures are among the most sensitive data a school holds, and there is no case for pushing salary anomaly summaries onto a messaging platform.
Two Companion Packs: Run-Ready and Statutory Deadlines
Anomaly detection is the middle of a three-part sequence.
Run-ready watches for the month whose staff attendance has been finalised with no payroll run generated against it, and nudges administrators on a configurable day of the month at a configurable hour. It carries a minimum-staff threshold so a month with one attendance record does not trigger it. This addresses the opposite failure to anomalies: payroll that is late because nobody realised it was ready.
Compliance deadlines reminds administrators ahead of statutory dates, defaulting to three days before each:
| Obligation | Default date |
|---|---|
| Provident fund ECR | 15th of the month |
| ESI | 15th of the month |
| Professional tax | 20th, configurable — the date is state-specific |
| Monthly TDS | 7th of the month |
| Form 24Q | Quarterly: 31 July, 31 October, 31 January, 31 May |
Each obligation can be switched off independently, because not every school is liable for all of them. Professional tax in particular is a state subject and the remittance day varies, which is why it is a setting rather than a constant.
These packs remind and prepare. They do not file. No return is submitted to any government portal on the school’s behalf — the reminder arrives with the relevant figures ready, and a person completes the filing.
Arithmetic, Not a Language Model
It is worth stating plainly, because “AI payroll” is a phrase the market has stretched considerably.
The anomaly check is mean comparison against a per-employee baseline with a percentage threshold. It is deterministic, it produces the same findings given the same inputs, and it drains no AI credits. The same is true of the run-ready check, which is a query, and the deadline reminders, which are date arithmetic.
This is not a limitation being apologised for. Payroll is a domain where reproducibility is the requirement and creativity is a defect. A flagged payslip that a school cannot reproduce and explain to the affected employee is worse than no flag at all. Where judgement genuinely helps — tone, prioritisation, narrative — other packs use it. Here, arithmetic is the correct tool.
For the scheduling, deduplication and circuit-breaker behaviour these packs share, see school autopilot: operations that run without you.