swirl: a story of payroll transcendence

Post on 17-Jul-2015

60 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Kyle Johnson

kyle@kgj.co(415) 860-8050

A Story of Payroll Transcendenceat

Vino Volo

Swirl

Kyle Johnson

kyle@kgj.co(415) 860-8050

The year was 2012....•Vino Volo was growing rapidly, with 18 wine bar locations already open across the United States•I was tasked with managing IT, Business Systems, Analysis, and Financial Planning•Our HR & Payroll specialist quit, leaving nobody to pay our employees•“Can you take over HR & Payroll?” asked the CEO•“Sure!” } I didn’t know what I was getting into

Kyle Johnson

kyle@kgj.co(415) 860-8050

Payroll isn’t that hard, right?•There were 150+ hourly employees across 9 states•California doesn’t play by the same rules•Employees had different rates of pay based on their position and the shift they were working

• Tips were pooled between employees based on the number of tipable hours they worked in the pay period•Some employees worked at multiple locations so their overtime needed to be calculated and coded properly•Vino Volo’s payroll requirements were complicated

Kyle Johnson

kyle@kgj.co(415) 860-8050

The process was even more complicated....

Kyle Johnson

kyle@kgj.co(415) 860-8050

1. Email PDF of punch reportAt the end of the pay period, each store manager would generate a PDF report from the Point of Sale and email it to payroll

Kyle Johnson

kyle@kgj.co(415) 860-8050

2. Add new employeesAddnewemployeesto3differentsheetsandtietheformulas in a very, very complicated spreadsheet.

If this was done by a non-expert, things went horribly wrong.

Kyle Johnson

kyle@kgj.co(415) 860-8050

3. Manually enter the hoursPayroll would receive the PDFs and then manually enter the hours into a spreadsheet - every column represented an employee and every row represented a day of work. There was one spreadsheet for each location.This spreadsheet calculated overtime and tip pooling.Due to time constraints, 3-4 people would help enter data.

Kyle Johnson

kyle@kgj.co(415) 860-8050

4. Enter the total tips by storeThe spreadsheet would then divide the tips based on the hours worked by each employee.Inthisstage,itwasalsonecessarytofigureouthowmanyhours were “training” hours and manually input them into a special column so they wouldn’t be tipped.

Kyle Johnson

kyle@kgj.co(415) 860-8050

5. Export to CSV and uploadExport the output of each spreadsheet and then upload it to the Paychex payroll system.

Kyle Johnson

kyle@kgj.co(415) 860-8050

6. Fix things in PaychexThe Paychex import didn’t work very well. It was especially problematic if an employee had multiple rows with hours or tips.Every employee that worked at multiple stores had to have their checks adjusted in Paychex.

Kyle Johnson

kyle@kgj.co(415) 860-8050

7. Run journal, reconcile it....Run a payroll journal, reconcile every employee’s check, and ensure that all charges went to the right department.There was so much manual data entry in this process that the CFO and I both audited the payroll journal.This process was repeated until everything was correct....

Kyle Johnson

kyle@kgj.co(415) 860-8050

OK, that doesn’t work•Thisprocesswaseffectivewith3-5stores•With 18 stores it was completely broken•It was fraught with errors and unscalable•Temps and new hires couldn’t understand the process• It was time to make big changes

Kyle Johnson

kyle@kgj.co(415) 860-8050

New payroll provider• Paychex’s CSV import didn’t work - it assumed one line per employee check and one column per line on an employee check•Our paychex package was expensive•I researched new payroll providers, Paylocity was the winner•We could import anything we wanted on the checks•They were a lot cheaper• We implemented Paylocity, transitioning all our data

Kyle Johnson

kyle@kgj.co(415) 860-8050

What about those crazy spreadsheets?

• The spreadsheets had to go•Time & Attendance systems I researched didn’t support tip pooling or employees working at multiple locations•They were expensive•I didn’t want to introduce a new system to the store operators•There wasn’t anything available to solve our problems• It was time to build something myself....

Kyle Johnson

kyle@kgj.co(415) 860-8050

The requirements•Import Time & Attendance data from Squirrel, transform it, and export to Paylocity•Calculate overtime and doubletime•Payemployeesdifferentratesbasedontheirshifttypes•Pool tips pro rata based on hours worked

Kyle Johnson

kyle@kgj.co(415) 860-8050

Introducing Swirl

Swirl’s main dashboard shows totals for each store this pay period, making it easy to see where you are in the process. This screen also makes auditing totals easy!

Kyle Johnson

kyle@kgj.co(415) 860-8050

The new process is infinitely smoother....

Kyle Johnson

kyle@kgj.co(415) 860-8050

1. Import Punches

SelectthestoreandtheCSVfile.Easy.Ifthereareanyissueswiththeimport,Swirlwalks you through steps to correct them.

Kyle Johnson

kyle@kgj.co(415) 860-8050

2. Enter tips

Select the store code and enter the tips for the pay period. Swirl only lets you select stores that haven’t already entered and shows what you’ve already entered below.

Kyle Johnson

kyle@kgj.co(415) 860-8050

3. Export to Paylocity

Behind the scenes this is where the magic happens. Overtime is calculated, tips are pooled, everything is coded to the correct store, and then formatted perfectly for Paylocity.

Kyle Johnson

kyle@kgj.co(415) 860-8050

4. Run journal, celebrate

Payroll done. No unnecessary data entry.

Kyle Johnson

kyle@kgj.co(415) 860-8050

Transcendence•Vino Volo now processes payroll for twice the locations using a single payroll temp instead of the “all hands on deck” that involved temps, managers, and the CFO

• The process is faster, more scalable, and more accurate•Vino Volo’s payroll costs per employee dropped dramatically with the new payroll provider

• Multiple, HUGE pains were eliminated

Kyle Johnson

kyle@kgj.co(415) 860-8050

Still going strong•Vino Volo processes payroll for 32+ locations in 15 states and provinces across 2 countries with the help of Swirl•Since launching, Swirl has processed 200,000 punches and 1,000,000 employee hours for Vino Volo

Kyle Johnson

kyle@kgj.co(415) 860-8050

Want to know more?Email me at kyle@kgj.co

Next: Technical Stack...

Kyle Johnson

kyle@kgj.co(415) 860-8050

Appendix: Technical Stack

Swirl

Kyle Johnson

kyle@kgj.co(415) 860-8050

Technology stack• Server: LAMPy on Rackspace Cloud•Ubuntu, Apache, MySQL, and Python 2.7• Frameworks: Flask, Bootstrap

top related