A messy Xero is one of the most common engagements we walk into. It looks something like this: bank feeds half-disconnected, a chart of accounts inherited from someone's template three years ago, duplicate supplier names, a couple of months of unreconciled transactions, GST tax codes applied inconsistently, and a P&L the owner has stopped looking at because they no longer trust it.
The temptation — for the owner and sometimes for the new bookkeeper — is to start fixing everything at once. Don't. Cleanups go wrong when they're sequenced badly. There's a right order, and getting it right shortens the work by weeks.
Stage 0: scope, don't shovel
Before any cleanup starts, two things have to be clear:
- How far back are we going?Cleaning forward from a recent point is sometimes the right answer. Cleaning backwards through three years of historical data is sometimes the right answer. Both can be defensible — but they're different engagements.
- What's the goal? Audit readiness? Statutory filing accuracy? Operator decision-making? Each implies a different standard of completeness.
We tend to recommend cleaning forward from the start of the current financial year, and reconciling backwards only for the items that affect a current obligation (an unfiled GST return, an upcoming audit, a tax filing). Trying to perfect three years of history is usually money set on fire.
Stage 1: stop the bleed
Before fixing anything historical, make sure new transactions aren't making the problem worse. This stage takes a couple of days.
Fix the bank feeds
Every operating bank account should have a working direct feed into Xero. If any account is being entered manually, that's the first fix — direct feeds for DBS, OCBC, UOB, and any others on Xero's Singapore network. Reauthorise where credentials have expired.
Freeze new mis-categorisations
If the chart of accounts is going to change (Stage 2), avoid letting new transactions get coded against accounts you're about to delete or restructure. Either pause auto-rules or switch them off until the new CoA is ready.
Identify duplicates
Duplicate contacts (the same supplier under two slightly different names), duplicate invoices, duplicate bank transactions from a feed that ran twice. Catalogue them before merging — merging is destructive and harder to unwind.
Stage 2: rebuild the chart of accounts
This is the structural fix. Done right, it changes everything downstream — reports, dashboards, tax filings, the operator's ability to see what's happening.
The typical pattern:
- Audit the current CoA. Mark accounts as: keep, merge, rename, retire.
- Design the target CoA around how the business actually operates — by outlet, by channel, by product category. For F&B this means separating food vs beverage, dine-in vs delivery, catering vs retail. For multi-channel retail this means revenue accounts that map to channels.
- Use Xero tracking categories where granularity belongs outside the account list. Outlet, brand, project — these are usually tracking categories, not separate accounts.
- Apply the new structure to current-period transactions first, then retrospectively to prior periods only as far back as needed.
Get this stage right and the rest of the cleanup gets faster. Get it wrong and you'll be doing it again in six months.
Stage 3: reconciliation catch-up
With bank feeds clean and the CoA right, work through unreconciled transactions in chronological order. Don't jump ahead.
For each transaction:
- Categorise against the new CoA
- Apply tracking categories (outlet, channel)
- Apply the correct GST tax code
- Attach supporting documentation where available
- Mark as reconciled
For high-volume periods, write reconciliation rules — the same pattern of recurring suppliers, salaries, subscriptions should be coded by rule, not by hand. The rules library you build during cleanup pays back on every future month-end.
Stage 4: GST historical correction (if needed)
If the business is GST-registered and historical GST returns have been filed using messy data, a separate review is needed for each historical filing period:
- Were the right tax codes applied to each transaction in that period?
- Were input claims and output charges correctly categorised?
- If material corrections are needed, IRAS allows GST F7 (correction) returns — discuss with your accountant whether corrections are warranted.
Don't silently re-file. IRAS expects voluntary disclosure of material errors. Get advice on the threshold and the mechanism.
Stage 5: integrations re-onboarded cleanly
Apps that broke during the messy period — POS feeds, payroll connectors, expense capture tools, inventory integrations — get re-connected one at a time, with the new CoA mapping applied. Don't turn them all back on simultaneously; something will break unnoticed.
Stage 6: handover documentation
The most under-done stage in most cleanups. The new state needs to be documented:
- The new CoA with definitions for every account
- Tracking category usage rules
- GST tax code conventions
- Reconciliation rule library
- Monthly close checklist
Without handover documentation, the cleanup that took eight weeks unravels in eight months. We treat this stage as non-optional.
Mistakes we've seen repeatedly
- Deleting before merging.Once data is deleted in Xero, recovery is hard. Merge contacts and adjust transactions; don't bulk-delete.
- Reconciling out of date order. Skipping ahead because some months look easier creates untraceable timing differences. Go in order.
- Rewriting history just to make it tidy. If historical filings (GST, ECI, AR) used certain classifications, changing them retroactively creates traceability problems. Adjust prospectively where you can.
- Underestimating the time.A typical SME cleanup is two to six weeks of focused work — sometimes more, depending on transaction volume and how badly the CoA needs to change. Don't promise the owner three days.
Common questions about Xero cleanup
How long does a Xero cleanup take for a typical SME?
For a small single-entity business with 12 to 18 months of moderately messy history, a cleanup typically runs two to four weeks of focused work. Multi-outlet or multi-entity cleanups, or ones where the chart of accounts needs significant restructuring, can run six to eight weeks. We scope each engagement after a short review and tell you up front.
Should I keep my existing bookkeeper during cleanup?
Usually yes for the current-period work, while the cleanup runs in parallel. The cleanup team handles the historical fix and the chart-of-accounts redesign; the existing bookkeeper keeps producing the current month's books against the old structure until the cutover. We coordinate the cutover so there's no gap in coverage.
What if my historical GST returns were filed using messy data?
If the errors are material, voluntary disclosure to IRAS is usually the right answer. The GST F7 mechanism allows correction filings. IRAS treats voluntary disclosure more favourably than discovered errors. We assess materiality per period and advise on the right approach as part of the cleanup scope.
Can I just start fresh with a new Xero file?
Almost never the right answer. A new Xero file loses historical comparability (year-on-year reporting becomes harder), creates a discontinuity in your financial record, and doesn't actually solve the underlying problem if the workflow that created the mess hasn't changed. Cleanup-in-place is almost always cheaper and structurally better than starting over.
What stops the cleanup from being undone after a few months?
The handover documentation. The new chart of accounts, tracking category usage rules, GST tax code conventions, and monthly close checklist all get written up and shared with whoever maintains Xero day to day. Without that documentation, the cleanup that took six weeks unwinds in six months. We treat the handover doc as a non-optional deliverable.
A clean Xero isn't a one-time achievement. It's a standard you have to defend monthly. The cleanup is the easier part — the discipline that keeps it clean is the harder one.
— The Acuitas team