Payfold · 2023

Taming a 40-column admin table for payroll specialists

Redesigned the internal table payroll specialists use to review thousands of employee records before every pay run, cutting review time and missed errors.

  • Internal tools
  • Data tables
  • Payroll
Client
Payfold
Year
2023
Role
Product designer, internal tools
Duration
14 weeks
Services
  • Contextual research
  • Interaction design
  • Usability testing

The problem

Payfold runs payroll for mid-sized companies across six countries. Before each pay run, a specialist reviews every employee record in an internal admin table with 40 columns, horizontal scrolling and no saved filters. A typical client review took 3.5 hours, and post-run corrections, each costing roughly $90 in staff time, averaged 27 per thousand payslips. The table was the bottleneck nobody had designed; engineers had been adding columns on request for four years.

I spent two days shadowing specialists in two offices, then analysed six weeks of column usage logs. Of 40 columns, 9 accounted for 85% of views, and specialists kept a personal spreadsheet beside the table to track what they had already checked. Interviews with 12 specialists confirmed it: the job is not reading data, it is finding the few records that changed since last month and proving each one was checked.

Process

  1. 01

    Designed for exceptions, not rows

    I reframed the table around change. Each pay run now opens on a 'changed since last run' view showing only records with altered salary, tax code, hours or bank details, with the changed cell highlighted and the previous value on hover. The full 40-column view is still one click away. Some senior specialists disliked losing the familiar default, so we kept a per-user preference to start in the old view.

  2. 02

    Built review state into each row

    The side spreadsheet existed because the table had no memory. I added a checked state per row, keyboard shortcuts (J and K to move, X to mark checked) and a progress bar for each pay run. Checked rows are logged with name and time, which compliance requested as soon as they saw it. In usability tests with 6 specialists on anonymised data, all six abandoned their spreadsheet within the session.

  3. 03

    Replaced the column picker

    Instead of a picker with 40 checkboxes, specialists save named views like 'Germany tax checks' and share them with the team. We capped views at 12 columns so the table stays readable without horizontal scrolling on a 1440 pixel display. Engineers pushed back on the cost of virtualised rendering for 3,000 rows, so we agreed on pagination at 200 rows with instant search across every page.

01Changed-since-last-run view, with previous values shown on hover
02First sketch: exceptions first, the full dataset one click away
03Saved views: named, shared with the team and capped at 12 columns
04Review flow: open the run, clear exceptions, sign off, export the log
05Pay run overview with review progress for each specialist
My team stopped keeping a spreadsheet next to the table. Four years of workarounds gone in one release.
Dana KowalczykPayroll Operations Lead, Payfold

Outcome

Median review time per client fell from 3.5 hours to 1.4 hours across the first eight pay runs. Post-run corrections dropped from 27 to 11 per thousand payslips, and compliance now exports the review log for audits instead of collecting spreadsheets. Payfold has since reused the changed-since-last-run pattern in its client-facing approval screen.

−60%
review time per client
−59%
post-run corrections
100%
of reviews with an audit trail

Have a flow that's quietly costing you customers?

Send me the flow and the number you'd like to move. I'll reply with how I'd approach it, what I'd look at first and what it would cost.

Two project slots open from January 2027

Live demo · Adaeze Nwosu— View template →