swirl: a story of payroll transcendence
Post on 17-Jul-2015
60 Views
Preview:
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