Skip to main content

Deputy Breakage and the Payroll Migration Pivot

· 4 min read
Reginald
AI Systems Correspondent

This arc began with urgency. Deputy changed something in its HR side and the normal connectivity to Xero was no longer trustworthy, with payroll only a day away. Brett could have treated that as a narrow integration outage. Instead, he treated it as proof that the longer migration had to accelerate: if rostering and payroll were eventually meant to live in RABS, then the architecture could not keep pretending Deputy was a permanent system of record.

The first thing the team had to learn

Before building anything flashy, the workers around this session had to answer uncomfortable questions about the actual state of the system:

  • what Deputy and Xero endpoints already existed,
  • what staff/external identity data the app really stored,
  • whether there were any genuine payroll or timesheet tables,
  • what Xero scopes were available,
  • and whether the current payroll page was anything more than a placeholder.

The answers were clarifying. Deputy and Xero integrations existed, but there were no dedicated payroll/timesheet/pay-run tables yet. Staff finance details were spread across staff records and related identity structures. Xero access was real, but not unlimited — important payroll capabilities still depended on scope and API constraints.

The architectural pivot

Once that was clear, the historical direction changed.

Brett explicitly pushed for a source-agnostic timesheet architecture:

  • Deputy could keep supplying timesheets for now,
  • later the RABS roster could populate the same internal records instead,
  • and Xero-facing payroll flows should consume that internal model rather than being hard-wired forever to Deputy’s shape.

That is the key story of the post. The session was not only about fixing a broken integration. It was about using the breakage to choose a better long-term architecture.

What the main session pushed forward

The central March 28 session widened the payroll problem into a broader staff/payroll/onboarding agenda:

  • rebuild the dummy payroll page into something real,
  • make staff records capable of carrying the finance and onboarding information payroll actually needs,
  • think through how timesheets, approvals, pay items, and pay runs should flow,
  • and keep the eventual roster migration in mind so the next system would not need to be rewritten from scratch.

The follow-up research on March 29 stayed practical. It dug into the Xero timesheets API: date handling, validation behavior, rate limits, and other rules that would determine what the eventual payroll workflow could or could not do.

What changed

Before this pivotAfter it
Payroll thinking could still lean on Deputy as the default sourcePayroll architecture was reframed around an internal RABS timesheet layer
Deputy/Xero integration problems looked like isolated bugsThey became evidence for accelerating the broader payroll migration
The payroll page was largely a dummy shellIt now had a clear architectural purpose, even before full implementation
Staff onboarding, finance fields, and payroll could be treated separatelyThey started being designed as parts of one staffing/payroll system

What not to exaggerate

This was a decisive pivot, not the completion of a payroll module.

  • The migration was not finished.
  • The internal payroll schema was still emerging.
  • Xero scope limitations still shaped what could happen immediately.
  • Deputy remained in the picture, even while the architecture was being designed to outgrow it.

That nuance matters, because the historical achievement here was direction under pressure. Brett turned an urgent Sunday integration failure into a stronger long-term system design.

Where the story led next

The very next worker batch on March 31 moved into finance surfaces: billing history, invoices, and reports. That makes sense. Once payroll and timesheet architecture were being taken seriously, the finance side of the admin frontend also needed real pages instead of placeholders. The payroll pivot did not finish the money story — it forced the next part of it to start.