Lux Absio Bervatum

Wednesday, February 26, 2014

HR-nerd indulgence

WARNING: If you're not interested in payroll/HR stuff the following post will be pretty boring.

I'm writing this entry while on hold with payroll support. At the beginning of the year (well, technically 12/26/2013 because that's just how it lines up on a monthly pay period system) I changed the way we handle PTO (Paid Time-Off).

In the distant past, there had been a couple issues that might have resulted in an employee using more PTO than they were actually entitled to. The issues were a combination of inconsistent record keeping and a lack of documentation for PTO requests. Back then we were still on "teledata" payroll management, which meant submission was done by filling out complicated worksheets with letter and number codes and faxing those to the processor. There were many opportunities for human error to creep in. It was common for the processor's data entry people to transpose numbers or enter a figure in the wrong column. One time they entered one employee's commission (dollar figure) as another employee's regular hours; that resulted in a part-time employee getting a check that was about fifty times higher than it should have been. And every additional field and accumulator increased the chance of errors.

So my solution was to obviate all the PTO headaches— tracking, protocols, request forms— by paying each employee one-twelfth of their yearly PTO earnings (i.e., total PTO hours times regular hourly pay rate) each month. This made my job easier (by making costs more predictable) and reduced the company's liability (by reducing opportunity for human error and preventing certain scenarios where an employee could expend all their PTO prior to termination). Here's how it would look on a typical pay stub breakdown:


In this example, the employee receives 3.34 hours of PTO.
3.34 × 12 = 40.08, or a week's paid vacation (plus 0.08 hours
because hours figures are limited to two decimal places).
Of course, this required the employee to plan more carefully if they wanted to take time off while keeping their income steady. Suppose you had a week's paid vacation and you wanted to take 5 days off in August. To keep your income steady you'd have to set aside some money every month. And even then your total PTO disbursements to-date (for that calendar year) would only cover 58 or 67% of the time taken off in August.

And that's the way it was for years. The intrinsic risks of a convenient PTO system (well, convenient for employees) outweighed the benefits. But technology improved! Processors began to do away with faxes. For a little while, you could upload spreadsheets (though that had its own problems). Then they made the leap to the system we have now: A web app that takes input from the company and processes it without involving any human intermediaries. Error-checking was improved too. Now, after submission the user gets a PDF of the payroll register and the option to accept or reject the results before the real processing happens. (By "real processing," I mean the parts where data gets relayed to agencies and benefit providers, funds are withdrawn, checks printed, and EFTs initiated).

Time-Off Request form
And that's all just on the processor side. There've been developments on my side too: Evernote, Adobe LiveCycle, better scanners, cloud backup solutions. Now that I'm nearly 100% paperless (I still keep originals for things like beneficiary forms, contracts, and important licenses) it's way easier to generate, receive, store, and index forms.

The new system, which is only possible because of these improvements, does away with automatic disbursements. Now employees submit a Time-Off Request form (pictured at right) that says how much PTO they want to use. (These get scanned, timestamped, and deposited to the appropriate employee's container in the cloud.) Accumulators track PTO used and PTO remaining and report those values on the employee's pay stub each period. Super easy for the employee. The behind-the-scenes automation is more complex than you might expect however. Normally, you'd use clock codes to assign each employee to a different PTO category. But my clock codes are all tied up with 401K stuff. So I had to create a department for each level of PTO. Here are the codes and categories I settled on:



The department descriptions are only visible on my side; each employee just sees their department code. I like when things look arbitrary but make sense once you know the formatting. It's like a tiny IP packet with a header ("V") and a payload ("05D0"), but for payroll stuff. And it gets concatenated into a string with the company code and employee file number. It would be cooler if it had a checksum, but that's not possible with the current version.

Anyway, I'm jazzed about the new PTO system. Redundant audit trails are rad.