Every year, city managers, county administrators, and HR directors across the country sign payroll, approve benefits claims, and renew health insurance contracts — often without a complete picture of what those decisions actually cost. A comprehensive HR audit catches misaligned rates, compliance gaps, budget overruns, and missed opportunities that can save a municipality hundreds of thousands of dollars over a contract cycle.
This guide provides a practical, step-by-step checklist for conducting or commissioning an HR audit of your local government workforce — whether you manage 50 employees or 5,000. By the end, you'll know exactly what to examine, what red flags to watch for, and how to turn audit findings into defensible cost data for the next negotiation or budget cycle.
What Is an HR Audit for Local Governments?
An HR audit is a systematic review of compensation, benefits, payroll tax compliance, pension contributions, leave liability, and labor cost data. Unlike a financial audit (which checks ledger accuracy) or a compliance audit (which verifies labor law adherence), an HR audit focuses on cost control, data integrity, and alignment between what you're paying and what your budgets assume you're paying.
For local governments, this is critical. Public-sector employers often operate under tight margin constraints — a 2% pension cost surprise or a $400K misstatement of accumulated sick leave liability can trigger a budget deficit or require an unplanned tax levy increase.
The audit asks: Are we paying what we agreed to pay? Are we accounting for all cost drivers? Are our labor cost projections realistic? Do we understand the full cost of employment for each position?
Section 1: Payroll & Compensation Audit
Step 1.1: Reconcile Salary Schedules to Actual Pay
This is where most audits find their biggest discrepancies.
What to check:
- Obtain the effective salary schedule (the one currently in use, not the approved one from the CBA).
- Pull the last 12 months of payroll history for a stratified sample: 10% of early-career (steps 1-5), 10% of mid-career (steps 6-15), and 10% of late-career (steps 16+) employees.
- For each employee, verify: Does their actual gross pay match the salary schedule cell (step + lane) they're assigned to?
Red flags to hunt for:
- Off-schedule bonuses or stipends embedded in base pay rather than listed separately.
- "Step-freeze" carryover where an employee stayed at Step 7 but CBA called for Step 8.
- Retroactive pay lump sums from prior contract years not yet absorbed into the schedule.
- Teachers or employees in limbo between lanes (e.g., a teacher on a BA schedule who completed a master's degree but hasn't officially moved to the MA lane yet).
Specific formula to audit:
Projected Annual Salary = Schedule[Step, Lane] × (Contract Days ÷ 260)
Where Contract Days = typically 180-200 for teachers, 260 for 12-month staff
Compare projected salary to actual gross paycheck ÷ 26 (for biweekly) or ÷ 24 (for semi-monthly). Variance >$200/paycheck indicates a data problem.
Step 1.2: Step & Lane Movement Validation
One of the most commonly audited areas because it directly hits the budget every year.
What to check:
- How many employees advanced one step in the last fiscal year?
- How many transitioned to a higher lane (e.g., BA→BA+15, BA+30→MA)?
- Did the CBA permit automatic step advancement, or was there a freeze?
- Are there employees who should have advanced but didn't (possible CBA violation)?
Calculation to run:
Total Step Advancement Cost = Σ(New Salary - Old Salary) for all advancing employees
= Known cost driver, typically 1.5–3.0% of total payroll
Example: 150-teacher district. Average salary $65,000. 1 year of steps at 2.5% advancement cost = 150 × $65,000 × 0.025 = $243,750/year.
Data to gather:
- Roster showing prior-year step, current-year step, and salary change for each employee.
- Current CBA language on step advancement (automatic, provisional, discretionary).
- Any carryover language ("teachers denied a step due to budget may advance two steps when budget improves").
Step 1.3: Stipend & Extra-Duty Verification
Stipends are a hidden cost multiplier. A coach earning $3,500 stipend typically costs the employer $3,500 × 1.38 (cost multiplier) = $4,830 when you add pension, taxes, and benefits.
What to check:
- List all stipends and extra-duty assignments: coaching, department chair, mentoring, National Board Certification, summer school, tutoring, extended-day supervision.
- Verify each stipend is authorized in the CBA or board policy. Is there a capped amount? A maximum number of recipients?
- Identify which stipends are subject to pension contributions (most are) vs. excluded (rare).
Common audit finding: A district budgeted for 8 coaches at $3,500 each ($28,000) but actually employs 12 coaches = $42,000. The $14,000 gap gets buried in the "Other Salaries" account.
Calculation framework:
Stipend Cost Multiplier = 1.00 + Pension Rate + Payroll Tax Rate + Benefits Allocation
Example: Stipend $3,500 × (1.00 + 0.10 + 0.075 + 0.08) = $3,500 × 1.255 = $4,392.50 total cost
Ensure budget lines include the full multiplied cost, not just the stipend amount.
Section 2: Retirement & Pension Audit
This section often reveals the largest compliance and cost gaps.
Step 2.1: Verify Contribution Rates & Pick-Up Status
The single most critical question: Is the district paying the employee's retirement contribution ("picking it up") or is the employee paying it?
Example scenario — Illinois TRS:
- Statutory employee rate: 9.0% of creditable earnings.
- Employer rate: 0.58% contribution rate + THIS Fund (varies by district).
- Many Illinois districts "pick up" the 9.0% and shelter it as pre-tax. This means:
Employer Cost per $1,000 salary = $1,000 + ($1,000 × 0.09) + ($1,000 × 0.0058) = $1,095.80
Employee sees: No pension deduction, full salary.
Without the pick-up:
Employer Cost = $1,000 + ($1,000 × 0.0058) = $1,005.80
Employee deduction = $90.
The difference = $90 × 150 teachers = $13,500/year or $40,500 over a 3-year contract.
What to check:
- Obtain the current CBA language on pension contributions.
- Verify the statutory rate in your state pension system (see Domain 2 reference table).
- Ask: Does the district pay the employee's share (pick-up), the employer's share only, or both?
- Reconcile payroll deductions against CBA language. If CBA says "9% pick-up" but employees are showing a deduction, there's a compliance error.
Step 2.2: Multi-State or Multi-System Employees
Some jurisdictions employ workers under multiple pension systems (teacher vs. admin, or transferred employees with prior service in another state).
What to check:
- Do all employees have the correct system assignment?
- Are transferred employees getting credit for prior service in another system, or starting "service year 1" again?
- For employees who pay Social Security (not in SS-exempt states), verify both SS and pension are being withheld.
High-risk scenario: A teacher hired from California (CalSTRS) in an Illinois district (TRS). Is the district correctly enrolling them in TRS? What happens to their CalSTRS vesting?
Step 2.3: Accumulated Sick Leave & Retirement Payoff Liability
This is a balance-sheet liability item that public entities often underestimate.
What to check:
- Pull the sick leave policy: How many days are granted annually? Are they cumulative?
- Identify the cash-out policy at retirement: Fixed per-day rate? Percentage of daily rate? Capped?
Example liability calculation:
- District: 120 full-time employees, average accumulated sick leave 75 days per employee.
- Cash-out rate: 50% of daily rate, capped at 100 days.
- Average daily rate: $300 (salary ÷ 260).
- Liability = 120 × 75 × $300 × 50% = $1,350,000.
This liability must be disclosed in the notes to your GASB financial statements. Many districts don't reserve for it in the budget, creating a surprise cash outflow when an employee retires.
Audit formula:
Sick Leave Liability = Σ(Accumulated Days × Daily Rate × Payout %) for all employees
Section 3: Benefits Audit
Health insurance is typically 15–25% of total labor cost. A 1% error in assumption cascades across hundreds of employees.
Step 3.1: Premium Sharing Reconciliation
What to check:
- Obtain the health plan carrier statements for the last 12 months.
- Obtain the CBA language on premium sharing: Is it a percentage split (e.g., "district pays 90% of single"), a dollar cap, or a fixed employer contribution?
- Pull payroll data showing employee deductions for each benefits tier.
- Calculate: What did the district actually pay? What did employees actually pay?
Audit calculation:
Assume a district with 100 teachers:
- 35 on single coverage
- 25 on EE+Spouse
- 40 on family coverage
Single premium: $12,000/year. District policy: "90% employer, 10% employee."
- Employer pays: 35 × $12,000 × 90% = $378,000
- Employee pays: 35 × $12,000 × 10% = $42,000
Now cross-check: Does payroll data show $42,000 in total single-plan deductions? If employees are paying $55,000, there's a discrepancy (possibly unapproved plan changes or out-of-pocket purchases).
Step 3.2: Dental, Vision, Life Insurance & Dependent Verification
Smaller benefits, but they add up. A typical district pays:
- Dental: 90% of $720 (single) to $1,800 (family) = ~$85K for 100 employees
- Vision: 90% of $180 (single) to $420 (family) = ~$20K for 100 employees
- Life: Employer-paid, 100% of cost, ~$300/employee = $30K for 100 employees
What to check:
- Are active employees enrolled in all eligible plans?
- Are spouses/dependents on plans where they shouldn't be (e.g., spouse on employee life insurance when spouse has own employer coverage)?
- Are retirees still enrolled in group plans where they should transition to Medicare?
A single error (retiree left on group medical post-age 65) can cost $12,000+/year.
Step 3.3: Benefits Trend Modeling Validation
When you budget for next year's health costs, you apply a trend factor (typically 5–8% for commercial medical, 3–4% for dental/vision).
What to check:
- What trend rate was used in the current budget?
- Pull the last 3 years of actual premium statements. What was the actual trend?
Example: If the district budgeted 5% trend but actual premium increases were 7% in two of the last three years, the budget is persistently underfunded.
Impact calculation:
Budget Shortfall = (Actual Trend % - Budgeted Trend %) × Coverage Base × Years
= (7% - 5%) × $2,400,000 (total premium) × 3 years = $144,000 shortfall
Section 4: Payroll Tax & Compliance Audit
Step 4.1: Social Security, Medicare & FUTA Compliance
Many local government HR staff don't realize their district might or might not owe certain payroll taxes.
What to check:
- Are teachers in a Social Security-exempt state (California, Illinois, Ohio, Texas, etc.)? If yes, verify teachers are NOT having 6.2% Social Security withheld on their W-2.
- Are ALL non-teaching employees (admin, custodial, bus drivers) having Social Security withheld correctly at 6.2%?
- Is Medicare (1.45% employee, 1.45% employer) being withheld on every employee in every state? (Answer: Yes, always.)
- Is the district claiming FUTA exemption if it's a public school district? (Most are exempt and do not owe 0.6% FUTA.)
High-risk finding: A district erroneously withholds Social Security from teachers in Illinois TRS. Over 5 years with 150 teachers at an average $70,000 salary, that's $3,255,000 in incorrect withholding. This requires multi-year refund processing and employee restitution.
Step 4.2: State & Local Income Tax Compliance
States and localities vary wildly in income tax rates and rules. A few key states for audit:
| State | Rate on $70K Teacher Salary |
|---|---|
| Illinois | 4.95% flat = $3,465/year |
| Ohio | 2.5–3.0% effective = $1,750–$2,100/year |
| Pennsylvania | 3.07% flat = $2,149/year |
| New York | ~5.5% + NYC surcharge = $4,200–$5,200/year |
| California | ~5.5% = $3,850/year |
What to check:
- Are state income tax withholdings correct per state rates?
- For states with local income taxes (PA, OH, NYC), are local rates applied only to employees working in that locality?
- Has the district applied recent tax law changes (e.g., increased standard deductions, SALT cap federal impact)?
Section 5: Leave Liability & Substitute Expenditure Audit
Step 5.1: Sick Leave Usage & Projection
Most districts track sick days used but don't project future cost.
What to check:
- Pull 5 years of sick leave usage data by employee.
- Calculate average days used per employee per year (typically 60–85% of allocated days used).
- Project: If 150 employees use 12 days/year on average at $150/day substitute cost, that's $270,000/year in substitute payroll.
Audit formula:
Annual Substitute Cost = Employees × Avg Days Used × Substitute Daily Rate
= 150 × 12 × $150 = $270,000
Does the budget line for "Substitutes" reflect this? If the budget shows $180,000, you have a $90,000 structural gap.
Step 5.2: Accumulated Sick Leave Payout at Retirement
Critical to balance sheet and long-term financial planning.
What to check:
- For each employee in steps 20+, calculate estimated accumulated sick leave.
- Apply the CBA payout formula to estimate retirement cash obligation.
Example: A 35-year teacher with 180 accumulated sick days, CBA says "50% of daily rate up to 100 days." Daily rate = $300.
- Payout = 100 days × $300 × 50% = $15,000 one-time cost when teacher retires.
- This liability is GASB-reportable and should be reserved in the budget year retirement happens.
Section 6: Workforce Composition & Cost Distribution
Step 6.1: Step & Lane Distribution Analysis
Who you employ shapes your cost structure. A district heavy in Step 1–5 employees has lower base cost but higher turnover risk. A district heavy in Steps 18+ has higher base cost but greater stability.
What to check:
- Build a histogram: How many employees in each step? (Steps 1-3, 4-8, 9-15, 16-22, 23+)
- Build a lane breakdown: % on BA, % on BA+15, % on BA+30, % on MA, % on MA+15+.
- Compare to comparable districts (if available via benchmarking data).
Red flag: A district with 60% of staff in steps 20-25 will face significant turnover/retirement cost shock in 5-10 years.
Step 6.2: Turnover & Cost Impact Analysis
Turnover has a hidden cost benefit (low-step replacements) and a hidden cost liability (recruitment, training, temporary coverage gaps).
Calculation:
Net Turnover Savings = (Departed Salary - Replacement Salary) × (% of year unfilled)
Example:
- Teacher departs mid-year (Step 18/MA at $95,000)
- Replaced mid-year by Step 1/BA at $42,000
- Cost avoided = ($95,000 - $42,000) × 0.5 = $26,500
With 8 departures/year, this could yield $80,000–$200,000 in aggregate savings — often offsetting 30–50% of step advancement cost. Many budgets miss this entirely.
Section 7: Cost-Per-Hour-Worked Validation
One of the most powerful audit metrics for comparing actual cost to budget assumptions.
Calculation:
Cost Per Hour Worked = Total Employer Cost ÷ Total Hours Worked
Example:
- 150 teachers × $70,000 avg salary = $10,500,000 base payroll
- Add pension (10%), taxes (8.5%), benefits (18%) = $3,820,000 burden
- Total employer cost = $14,320,000
- Total hours = 150 teachers × 180 days × 6.5 hours/day = 175,500 hours
- Cost per hour = $14,320,000 ÷ 175,500 = $81.61/hour worked
Compare this to your budget assumption. If budget assumes $75/hour but actual is $81.61, you're systematically underfunding operational costs.
Frequently Asked Questions
How often should we conduct a full HR audit?
Most public-sector employers audit compensation and benefits every 2–3 years or whenever entering a new contract cycle. If you've had significant staffing changes, restructuring, or technology system upgrades (payroll software migration, benefits platform change), conduct an audit immediately after stabilization. CollBar recommends audits prior to labor negotiations to ensure your cost models are defensible and transparent.
What's the difference between an HR audit and a compensation study?
An HR audit verifies what you're currently paying and whether it aligns with policy. A compensation study (or benchmarking analysis) compares your pay to comparable public entities to assess market competitiveness. You can conduct an audit without benchmarking, but benchmarking without an audit first is risky—you may benchmark a flawed baseline.
Who should conduct the audit — internal staff or an external consultant?
Internal audits work if you have dedicated HR analytical staff with time and expertise. External audits (by a firm specializing in public-sector compensation, like CollBar) provide objectivity, defensible methodology, and often catch blind spots internal staff miss due to organizational inertia. Many HR directors use hybrid approach: internal team gathers data, external consultant audits and models.
How much does an HR audit cost?
Scope-dependent. A payroll/benefits audit for a small municipality (50–100 employees) typically ranges $4,000–$8,000. A full audit including workforce modeling, turnover analysis, and scenario planning for a mid-sized district (500+ employees) ranges $12,000–$25,000. Compare to the average audit ROI: $50,000–$300,000 in identified cost savings, process improvements, or budget gap prevention.
What if the audit finds contract violations (e.g., employees owed back pay)?
Contact your labor attorney and union representative immediately. Most violations are corrected through make-whole payments over 1–2 years negotiated jointly. Frame it as correcting a data error, not a disciplinary matter. Unions prefer transparent resolution to grievance litigation.
How do we use audit findings in the next negotiation?
Audit findings become your baseline. With accurate cost data, you can model proposals (scenario planning) with confidence. You'll know exactly what a 2% raise costs, what eliminating a step costs, what shifting 5% of health premiums to employees saves. This transparency often accelerates negotiations because both parties trust the numbers.
Can audit findings be shared with union negotiators?
Yes, and good practice usually requires it. Public-sector labor relations thrive on transparent methodology. Share your audit assumptions (step advancement %, benefits trend %, turnover rate %) and calculations with the union. If they disagree with a rate (e.g., "We think turnover is 5%, not 8%"), negotiate the assumption. Shared facts reduce disputes.
Key Takeaways
- Start with payroll reconciliation. Compare salary schedules to actual pay stubs for a stratified sample. Misalignment here cascades through the entire cost model.
- Pension contributions are often the largest hidden cost. Verify your district's pick-up status and rates. A 9% pick-up in Illinois TRS vs. non-pick-up can swing $1.5M over a 3-year contract for a 300-person district.
- Accumulating leave liability is real money. Calculate your balance-sheet sick leave liability and budget for it. A retirement spike can consume 3–5% of annual payroll in unexpected costs.
- Apply a cost multiplier to all salary figures. Every dollar of base pay costs $1.25–$1.45 when you add benefits, taxes, and pension. Budget and model using the full multiplier, not base salary alone.
- Turnover has a hidden cost benefit. Step advancement and lane movement costs are partially offset by hiring at lower steps. Integrate turnover rates into your multi-year projections to avoid overestimating cost growth.
How CollBar Can Help
CollBar specializes in defensible labor cost modeling for public-sector entities. We conduct comprehensive HR audits that reconcile payroll, pension contributions, benefits, and taxes to actual CBA language and statutory rates. Our analysis identifies cost gaps, compliance issues, and projection errors — then translates findings into transparent assumptions you can use with confidence at the negotiation table.
Whether you're preparing for a labor negotiation, rebuilding a budget model, or validating a consultant's prior work, CollBar's audit methodology is data-driven, transparent, and tailored to your jurisdiction's unique pension system, tax environment, and workforce composition.
Ready to audit your labor costs? Call CollBar at (419) 350-8420 to schedule a free 30-minute strategy session. We'll review your current cost model, identify potential gaps, and outline a scope for audit or scenario planning that fits your timeline and budget.



