Want to Find Payroll Anomalies? Using ACL to Conduct a Risk-Based Payroll Audit
description
Transcript of Want to Find Payroll Anomalies? Using ACL to Conduct a Risk-Based Payroll Audit
Want to Find Payroll Anomalies? Using ACL to Conduct aRisk-Based Payroll Audit
2005 N.A.L.G.A. Conference Gerald Schaefer, City of Atlanta
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
ACL at the City of Atlanta
Gerald Schaefer, Financial Systems Audit Manager
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
ACL at the City of Atlanta
Formerly Internal Audit Division – Dept. of Finance
Now City Auditor’s Office Independent office; established by City CharterReport to audit committeeFirst city auditor hired in October 2001Medium audit shop – 11 professionals; 2 support Inherited former Internal Audit Division staff;
reorganized early 2003 to accomplish new mission
Background
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Audit: Background
Law and Finance Departments identified theft in pension fund by former employee; we did an audit to identify the magnitude of the fraud
Since fraud was discovered in the pension audit our objectives for the payroll audit were:Are incompatible payroll duties and functions adequately
separated to limit opportunities for fraud and abuse?
Are controls sufficient to prevent fictitious employees from being added to the city’s payroll?
We used ACL for two purposes:To verify the identities of employeesTo identify payroll anomalies
ACL
Old Fashioned Audit Work
BackgroundBackgroundBackground
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Ghost Employees
City ordinance mandated that our office conduct a payout to employees
Problematic since the city has over 8,000 employees spread far and wide
Did a survey on the N.A.L.G.A. listserv regarding experiences with payouts—the overwhelming response was:
We did what any audit shop would do—we stole an idea from another city
We decided to visit employees at their work site unannounced and verify their identity
DON’T DO IT!!!!!
BackgroundBackground
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Employee Verification
We got the following data from our IT department: payroll data; a list of active vendors and addresses; a list of frozen, abolished, and vacant positions
We submitted a list of city employees and their SSN, DOB, and gender to the Social Security Administration
We placed the results from the SSA and the data from IT into ACL and ran twenty different filters (or queries) to identify medium to high risk employees
Employee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Employee Verification Criteria
Risk Level Queries
High (10 points) SSN not listed, name & SSN mismatch, no withholding, no fed Medicare, no deductions, duplicate accounts, duplicate addresses
Medium-High (5 points) SSN & gender mismatch, SSN & DOB mismatch, duplicate position numbers, duplicate SSNs, vendor address, abolished position
Medium (3 points) PO box and direct deposit, non-Georgia address, city hall addressEmployee VerificationEmployee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
How We Scored Employees in ACL
Created three tables—high, medium high, and medium by using the ACL command of Extract and Append to existing file
The tables had the following results: high (372 records), medium-high (318 records), and medium (146 records)
Created a score field in each table and set the default value to “10” in the high table, “5” in the medium-high table, and “3” in the medium table
Summarized each table by the field SSN and subtotaled the field of score
Summarized the three tables into one table by the full name field and subtotaled the score again
Employee VerificationEmployee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
How We Used ACL
Each filter identified between 1 and 146 employeesUsed the ACL command of Duplicate to identify:Employees that had payments to more than one SSNEmployees that had the same account but different last
namesEmployees that had the same address but different last
names
Any employee with a score of 10 or more points was included in our sample.
At the end of the audit we had 321 separate tables and the ACL project including the underlying data files was 6.1 GB.
Employee VerificationEmployee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Linked Tables to Pay Locations
Identified high risk employees and requested payroll to provide the work locations of all city employees
Related tables by the field pay location to identify where the high risk employees worked
Had to contact some departments directly to identify locations, but always asked for all of the employees at the location
Employee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Verifying Employees
This is the form we used to conduct the employee verification
Employee VerificationEmployee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
The Verification Process
Our entire office participated in the verification process
Divided the city into four sections and had a team of two auditors assigned to each section
Did it over two days (Tuesday and Wednesday)
If the person was not there, we left a letter instructing them to come to our office to do the verification
Lengthy process: we started the verification process on 12.8.04 and finished on 1.25.05
For the most part everyone cooperated…
Employee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
What We Found
One employee quit rather than have us verify his SSNWe ran his SSN through some databases and found that
his SSN was being used by several people
We also submitted a list of name mismatches to a company to have the names ran against a list of deceased individualsWe found that one former city employee was using the
SSN of his deceased motherWe also found another former city employee using a
SSN that was used by several peopleWe forwarded these employees to SSA’s Allegation
Management Division Employee VerificationEmployee Verification
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Anomalies Overview
City uses PeopleSoft 7.62
Scope of our review was January 2002 through July 2004
Over this time frame there were
For paychecks we requested 116 fields and for direct deposits we requested 118 fields
All the fields came from PeopleSoft except for the field: “cashed?” which was a yes or no field
561,404 records
Data Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
File Review
Right after we got the data from DIT we randomly selected 30 active employees and 30 terminated employees.
For these employees we pulled their payroll file and their human resources file to verify that the information in PeopleSoft, which was the source of our data, was accurate.
We used ACL to do the sampleSampling—Sample recordsSelect “Random” under Sample ParametersSelect “Record” under sample typeEnter number of sample in “Size”
Data ValidityData Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Sample Results
Data Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Data Validation ACL Command How to Get There
Verify Data—Verify—Verify Fields
Statistics Analyze—Statistical—Statistics—Statistics On..
Classify Analyze—Classify—Classify On…
Count Analyze—Count Records…
ISBLANK( string )
Edit View Filter—Functions
Data Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Data Validation-Verify
Data ValidityData Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Data Validation-Statistics
Data ValidityData Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Using the Fraud Toolkit for ACL Identifying missing checks and direct deposit
advices ACL steps
Select Fraud Toolkit—Right click on the Start script—Select Run—Click on OK
Select Gaps Select input file (can apply a filter)Select maximum number of items to list (We chose 10,000)Select field to test for missing recordsResults appear in ACL log, not as a table
Results We had: 5,454 missing checks and 975 missing
direct deposits Talking to IT we also identified 4,292 manual checks we
did not have
Data ValidityData Validity
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Eye-popping Results Did we have any positions filled by more than one
person?
ACL stepsSelect Fraud Toolkit—Right click on the Start script—Select
Run—Click on OKSelect DuplicatesSelect Input File and Name Output File Select which fields you want to analyze (can choose up to
four)Select a field, which has to be different from the fields
selected in the previous step (optional). We chose employee ID
ResultsWe found 1,200 instances involving 193 employees in 91
positions for 2 or more pay periodsAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Using ACL to Identify Payroll Anomalies
Terminated EmployeesAre terminated employees paid after they leave city
employment? ACL steps
Sorted payments in descending order by pay ending date and used the ACL command of summarize on the field of employee ID
Created a unique field in the payments table and in the terminations table. The unique field was SSN + Position number. Related the tables by this field
Created the field of: Days paid after termination: pay ending date – termination date if…termination date > `200020101`
Created the field of: Paid after termination : if…termination date < pay ending date then the value of “Yes”
Created the filter: Paid after termination=“Yes” and Net Pay >0 and Hours >0 and Type2 <> “REG” and Cashed= “Yes”
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Terminated Employees
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Using ACL to Identify Payroll Anomalies
Compensatory TimeWanted to identify if any exempt employees received a
pay-out of unused comp time when they left city employment
The filter we used to identify this was: (Type_of_Pay2 = "CMP" AND Hours2 > 80) OR (Type_of_Pay3 = "CMP" AND Hours3 > 80) OR (Type_of_Pay4 = "CMP" AND Hours4 > 80) OR (Type_of_Pay5 = "CMP" AND Hours5 > 80) OR (Field_50 = "CMP" AND Field_51 > 80) OR (Field_58 = "CMP" AND Field_59 > 80)
The results of this filter were saved as a separate table and an additional filter was created in this new table, which was: FLSA_Status = "X" AND ( Termination_Date >= `20020101` OR Action_Date>= `20020101`)
Anomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Anomalies
Overpayments
We ran several filters to identify a large number of regular hours reported in one pay period
We found a lot of mistakes, such as vacation pay-outs being listed as regular hours, employees missing their first paycheck then being paid for two pay periods in one pay period, which resulted in pay for 160 hours
We did identify 7 instances where employees were overpaid $33,535.
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Yikes!
$317,534
Anomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
What?!
$227,620.14
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
413.93
413.93
Background Employee Verification Data Validity Anomalies Lessons LearnedAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
400 hours
Background Employee Verification Data Validity Lessons LearnedAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Anomalies
Negative leave balancesNegative Balance Number of
EmployeesDollar Amount
Compensatory Time
386 $127,304
Vacation 41 $17,885
Sick 300 $444,673
Reserve Sick 21 $11,392
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Anomalies
Negative leave balances of employees who were terminatedNegative Balance Number of
EmployeesDollar Amount
Compensatory Time
50 $29,164
Vacation 11 $5,877
Sick 21 $36,570
Reserve Sick 1 $89
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Quick and Dirty Analyses
Identified 13 employees who received 19 payments with the SSN field blank
Used the ACL function of ISBLANK( SSN)
Identified a payment made to the SSN of 999-99-9999 (identified by sorting the field of SSN)
Identified 8 employees with multiple employee IDs by using the ACL function of duplicates on the SSN field after summarizing by the field employee ID
Identified 34 employees with multiple SSNs
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Anomalies
Uncashed payroll checks
In Georgia, any payroll check uncashed for more than one year must be remitted to the state as unclaimed property
We ran a filter that identified all uncashed checks and used the ACL command of summarize on the field of employee id to identify the number of employees
We then used the command of Analyze—age
We identified:
1,156 checks To 724 employees Totaling $469,071
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Payroll Anomalies
Overtime
We identified 307 employees who were exempt under the FLSA but were paid overtime
We identified 297 nonexempt employees who worked less than 40 hours in a week but were paid overtime
We identified 600 nonexempt employees who worked more than 80 hours in a two week period that were not paid overtime
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Background Employee Verification Data Validity Lessons LearnedAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Background Employee Verification Data Validity Lessons LearnedAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Background Employee Verification Data Validity Lessons LearnedAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Background Employee Verification Data Validity Lessons LearnedAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Quality tests
These tests did not produce any findings but have merit nonethelessIdentified employees who received the biggest
increase in salary and reviewed their personnel files to verify that the raises could be documented
Reviewed the supporting documentation for any pay adjustments over $1,000
Reviewed any payroll payment over $10,000Pay-outs of sick leave balancesCheck reversals net to zeroMore than one payment per period to the same
person
AnomaliesAnomalies
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Lessons Learned
Don’t be coy—Ask for everything: more detail=less false positives=less work
Do your homework before you start—identify all ordinances, policies, and practices, then look at the data
Dig deeper—We ran the queries, researched the results in PeopleSoft, pulled personnel files, talked to management
Don’t assume anything is done correctly
Trust your instincts—if something does not seem right it probably is not
Keep your mouth shut until you have all of the facts
Lessons Learned
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Lessons Learned Part Deux
When you do complex filters, know the answer before you run the filter and then review results
Always validate that your filter produced what you thought it did by examining the actual data
Meet with management to discuss results and to identify plausible explanations—the sooner the better
Use common sense
Keep your eyes open
Use ACL Support – there is no shame in asking for help
Lessons LearnedLessons Learned
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Questions
For further information, contact:
Gerald Schaefer [email protected]
404.330.6876
Y’all come down and see us!
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned
Muchas Gracias!!!
Thanks for
Your Time!
IntroductionBackground Employee Verification Data Validity Anomalies Lessons Learned