Thousands of employees at more than fifty locations, in a half-dozen
divisions and more than a dozen payrolls, are submitting paper timesheets
every week. These must be printed, distributed, completed, signed,
collected, and couriered to the payroll department in time to process
each payroll. The results are predictable: a high percentage of
timesheets do not arrive in the payroll department on time; errors
occur as payroll staff input the timesheets to Meditech payroll;
and, a high rate of manual checks and retroactive adjustments consume
payroll staff time.
Automating timesheets was the top priority from finance for the
new web development group. We agreed that we should divide the project
into two phases, with salaried staff in the first phase and hourly
staff in the second.
basic process for submitting a timesheet is the same in every company:
stipulate the number of hours worked each day, and the category
of pay (regular, overtime, paid time off, etc.). Designing a user
interface for salaried workers was not terribly complicated. The
hard work was on the "back end" developing an automated
process to get timesheet data into Meditech payroll (more later
one: salaried staff
The current, automated timesheet for a salaried employee looks like
the image below. By default, it displays:
the current pay period for that employee (either weekly or biweekly);
the current timesheet has been approved; and,
list of all departments in that employee's division (defaulting
to the department for the employee's primary position).
the toggle between "[overtime] eligible" and "not
eligible" views was added in phase two, described later in
"View benefits hours" is described in another article.
The employee completes the timesheet in one of two ways:
paycode(s) and input hours for one day at a time (shown below);
the "short-cut" at the bottom of the timesheet (shown
above), which auto-fills every weekday with 8 hours of regular
paycode list is specific to the individual
employee's division and payroll. When a paycode is selected for
a day, another row is automatically revealed, and a delete option
is displayed for each selected paycode (shown below). For each selected
paycode, the user must input a number of hours for that paycode
for that day.
the "short-cut" at the bottom of the timesheet is used,
and every weekday is filled with 8 hours of regular time, the employee
must edit the paycode for any days not at work. Someone who works
less than full time must also edit the hours for each day.
finished and submitted, the confirmation screen
(shown below) shows the hours that were submitted for that payroll.
The employee may change his/her timesheet at any time until the
timesheet is approved. If a timesheet must be edited after approval,
the manager first must "unapprove" the timesheet. Then
the manager or employee may make any edits, and the timesheet must
for another employee
The responsible manager for any cost center may grant any other
employee permission in one of two roles:
(can approve timesheets and submit timesheets for anyone in that
(can submit - but not approve - timesheets for anyone in that
There typically is a delay of a couple weeks before a new employee
is active in Meditech payroll. During this period, the new employee
will not be able to use the regular Timesheet process. Instead,
a "manual timesheet" may be submitted for the employee
using essentially the same on-line process. First, a special screen
collects the information that normally would already be displayed:
the regular form (described above) is used to submit hours for the
A series of e-mail reminders are automatically sent every week:
7AM and 4PM on the last Friday of a payroll period (either weekly
or biweekly), each employee whose payroll ends that week receives
an e-mail reminder to complete their timesheet
weeks with no holiday, on the Monday following a payroll period
each person holding manager permission for a cost center with
unapproved timesheets receives up to three e-mail reminders to
approve the timesheets at 7AM, 11AM and 3PM.
weeks with a holiday, the reminders to approve timesheets are
sent several times on the morning of the transition to a new pay
period (see Pay periods below).
Anyone with manager-level permission for a cost center may approve
time sheets for the cost center. The approval screen (shown below)
lists all timesheets submitted for that cost center (missing timesheets
have zero hours as shown), and allows three actions:
the "short-cut" at bottom left corner to select all
timesheets for approval;
individual timesheets for approval; or,
the name of an employee to review the detailed timesheet and modify
the timesheet if necessary, before being returned to the approval
The transition between pay periods occurs automatically at 4pm on
Mondays, on weeks with no holiday:
approved timesheets are queued for loading into Meditech payroll;
timesheets are reset to zero for the next pay period; and,
approved timesheets into Meditech payroll begins.
weeks with a Monday holiday, the transition between pay periods
occurs on Tuesday morning at 10AM.
weeks with a non-Monday holiday, the transition between pay periods
occurs on Monday morning at 10AM.
data into Meditech
The real challenge was getting timesheet data into Meditech. Bill
created an automated process to emulate a Meditech user and "script"
each timesheet into the payroll module. Unfortunately, scripting
is inherently unreliable, and the weekly process required baby-sitting.
Timing was critical, delays were unacceptable, and the process had
to be restarted immediately when it failed. At
best, the scripting process required four to five hours to run,
and it was not unusual for it to run through the night.
tyranny of this weekly process continued for a couple years until
we were able to implement a "mailbox" in Meditech payroll.
This allowed us to simply drop a file with the timesheet data in
a designated spot, and Meditech automatically imports the file.
Instead of taking all night, the mailbox process now takes less
than a minute!
two: hourly employees
With a rock-solid process for salaried employees, it was time to
tackle the rest of the organization. An alternate view of the timesheet
was created (shown below), keeping the basic process of hours and
paycodes for each day the same. Because hourly timesheets can be
more complicated, we added two tools to speed the process:
last timesheet (with one click, loads all hours and paycodes from
most recent timesheet into current timesheet)
document actual hours worked during
a shift, "In/Out" fields were added (shown below). Depending
on department practice, a worker might record "In" as
arrival at start of shift and "Out" at end of shift. Alternatively,
they can use the "+" button to add rows and document every
break in work time until end of shift.
shift workers may have several paycodes relevant to each shift,
we added the "Wizard" tool
(shown below) to simplify the process. Instead of having to select
each paycode separately and input hours for each paycode, the worker
can input hours for the shift once, select all relevant paycodes,
and submit everything at once.
we never tried to quantify the impact on payroll, automated timesheets
gave the department's staff a huge boost. Instead of chasing missing
timesheets and chronically tardy managers, they could focus on
more important issues.
and managers love the automated process. There is never any question
about exactly what was submitted or whether a batch of timesheets
actually made it to payroll.
departments where staff do not use computers, such as nutrition
or maintenance, can easily use automated timesheets. Non-computerized
staff use departmental paper timesheets and a department administrative
person quickly inputs to automated timesheets.
should have pushed harder, sooner, to find a better way to get
data into Meditech payroll. The benefits of automation were so
substantial that we were willing to deal with weekly pain from
the scripting process, but quite possibly we should have found
the "mailbox" solution sooner.
Posted 16 June 2008