Skip to content
Healthcare

12 locations on one stack, 14-day close cut to 5

Client: Multi-location private healthcare group, 12 sites, UK and Ireland  ·  Timeline: 14 weeks migration + ongoing daily operations

14d to 5d
Month-end close
12 to 1
Bookkeeping systems
7 to 0
Audit adjustments

The challenge

The client was a private healthcare group running 12 clinic locations across the UK and Ireland — a mix of dental, dermatology, and aesthetic services. Each location had its own bookkeeper, in some cases an external accountant working part-time, in others an admin who had inherited the books. Three locations were on QuickBooks, six were on Sage, two were on Xero, and one was running on a spreadsheet the practice manager updated weekly.

There was no consolidated P&L. The group’s CFO closed the month by hand, pulling exports from each system, normalizing the chart of accounts, and reconciling intercompany transfers between locations. The full close took 14 days, and the numbers landed late enough that they could not be used to make operating decisions for that month.

Reconciliation errors were a real cost. Inter-location supplier invoices were being miscoded. Patient refund flows were not consistent across systems, so the refund liability sat in three different accounts depending on which clinic processed it. The auditor had flagged seven material adjustments at year-end, and the CFO was bracing for a worse review the next cycle.

The solution

We engaged through our Accounting & Finance service line, across Core Bookkeeping and our healthcare-vertical accounting sub-line.

First we built a standardized chart of accounts that worked across all 12 locations — a single template with location-coded cost centers, a unified treatment-revenue taxonomy across the three service types, and a clean intercompany structure. We worked with the CFO and the external auditor to sign off the template before any migration started.

We then migrated all 12 locations onto a single Xero instance with location-tagged tracking categories. The migration ran in three waves of four locations each, with each wave taking roughly three weeks: data extraction, normalization to the new chart of accounts, opening-balance reconciliation, parallel running for one period, then cutover. The two locations already on Xero were the easiest; the spreadsheet site took the most cleanup.

We replaced the patchwork of local bookkeepers with a daily transaction-processing pod inside our delivery center. The pod codes invoices, runs bank reconciliation, processes supplier payments through Telleroo, and handles patient refunds against a single liability account. A senior accountant on our side owns month-end close, working directly with the client’s CFO.

The month-end close now runs in five business days, the consolidated P&L lands on day six, and location-level management accounts go out the same day. The CFO has time back to do the work she was hired for.

Full story

How we delivered

Weeks 1-3: chart of accounts and auditor sign-off

The migration was never going to work without a single chart of accounts the whole group could live with. We spent the first three weeks designing it with the CFO, the external auditor, and the most experienced of the existing location bookkeepers. The template included location-coded cost centers, a treatment-revenue taxonomy unified across dental, dermatology and aesthetic services, and a clean intercompany structure. The auditor signed off on the template before we touched any data.

Weeks 3-12: three migration waves

We migrated 12 locations in three waves of four, each wave taking roughly three weeks:

  • Wave 1: the two existing Xero sites plus the two cleanest Sage sites — used to pressure-test the chart of accounts in production
  • Wave 2: the four QuickBooks sites — the trickiest mapping, but the data was reasonably clean
  • Wave 3: the remaining four sites including the spreadsheet location and the two messiest Sage instances — the slowest by a fair margin, and the one we built buffer into

Each wave followed the same pattern: extract, normalize, reconcile opening balances, run in parallel for one period, then cut over.

The thing that nearly went wrong

In wave 2 we found that one location had been booking patient refunds against revenue instead of against a refund liability — for nearly two years. The cleanup ran longer than the wave allowed for, and we had to pause the migration for that site by a week. We rebuilt the prior-year comparatives at the same time so the audit trail stayed clean, which the CFO later flagged as one of the most valuable things we did.

Weeks 12-14: pod handover

Our daily processing pod took over coding, bank reconciliation, supplier payments via Telleroo, and patient refund processing across all 12 sites. A senior accountant on our side took ownership of month-end close working directly with the CFO.

What ongoing looks like

Daily transaction processing across all locations. Five-day month-end close. Consolidated P&L on day six. Location-level management accounts the same day. Quarterly review with the CFO and the auditor to keep the chart of accounts honest as the group adds new sites — three more clinics are already on the roadmap for next year, and the migration playbook is now a two-week exercise per site instead of a year-long project.

The results

Outcomes that matter

14d to 5d
Month-end close
12 to 1
Bookkeeping systems
7 to 0
Audit adjustments
14
Weeks to migration
100%
Sites on Xero
1
Consolidated P&L

Want results like this?

Book a discovery call and we will scope the right path for your goals.