Everyone makes mistakes.  After all, we’re only human.  But, what do you do when the mistakes are constant, the fix would make an auditor cringe and the person making the mistake takes zero responsibility for the error and blames it all on the system?


We have an ERP that handles payroll but the payroll module has to communicate with a third party system in order for some people to get paid. Payroll information for all employees is entered into the ERP and coded with account numbers and fund codes for the general ledger.  For a subset of our employees, their information is then transferred to a third party system for further processing before being sent back to payroll.  Our ERP and third party system vendors have developed an interface module for this purpose.

The initial data entry is handled by payroll and the entries are placed into a database table.  Once the data entry is complete, a process is initiated that populates a table used by the third party system.  At this point, if there were any data entry errors made, the process simply breaks until someone uses Access or some other table editing tool to manually delete the records from this payroll transfer table.

The mistakes that are commonly made include providing the wrong fund code, providing a fund code from a different year, or accidentally working with data from the wrong fiscal year.  About 50% of our payrolls have one or more errors.

Until recently, the payroll person contact an IT staffer who dutifully corrected the errors and everyone went on their merry way.  However, with that IT staffer having moved on to a new job, these errors are now seeing the light of day as other people are involved.  When asked about how this happens, the payroll person indicated that the system refuses to let him make a mistake, so it’s the system’s and IT’s fault.  In speaking with this person’s manager, he indicated that, as far as he was aware, the payroll person had never made a mistake before.  What was actually happening was that the payroll person and IT staffer were correcting the mistake on their own without the supervisors having to get involved.  After conversations with the now-departed IT staffer, he expressed that the whole situation was extremely frustrating for him all along and that he’d been correcting these kinds of mistakes on a regular basis for the past four years.

The user in question demanded that IT provide him with direct database-level access to the tables so that he could correct the mistake himself.  Obviously, I was not comfortable with this solution, but I also want to avoid correcting mistakes on a regular basis and I also want this person’s manager to be aware of the scope of the problem so that they can try to find a workable solution.


Here’s what I decided to do: The user will not be getting database level access to correct his own mistakes.  Instead, his supervisor will be granted rights to the specific table in question.  In this way, there is some accountability for the problem and the supervisor can see directly how often it happens and make a judgment as to whether or not it’s acceptable.


How would you have handled this problem?

  • Keep the fix in IT and just deal with it… no systems are perfect and IT should just suck it up.
  • Keep the fix in IT, but document, document, document.
  • Benny’s resolution makes a lot of sense.
  • Fire the person in question.