extrua
← All posts
Operations·23 September 2026·6 min read

Xero opened an account called Historical Adjustment without asking. What lands in it is a date problem.

The Historical Adjustment account in Xero is where the file puts anything that belongs to a period the file was not really there for. Xero creates it automatically — you did not add it, and it will not let you delete it — and it fills up in two situations: the opening balances entered at conversion did not agree, or a transaction was dated before the conversion date and had to land somewhere.

So it is not a mistake account. It is a boundary account. It marks the seam between the bookkeeping that happened in your old system and the bookkeeping that happens in Xero, and the balance in it is the size of the disagreement across that seam.

Where the balance actually comes from

Almost every non-zero Historical Adjustment balance traces back to a short list, and knowing which one you have determines whether this is a ten-minute job or a real one.

  • The conversion balances never balanced. When a file is set up, someone keys in the opening position from the old system — bank, debtors, creditors, GST, equity. If those figures do not sum to zero, Xero will not simply refuse. It posts the difference to Historical Adjustment so the file can open, and that number then sits there as the permanent record that the migration was completed with a gap in it.
  • A transaction was dated before the conversion date. An invoice keyed in with last financial year's date, a bill paid late and dated when it was issued, a bank line that predates the feed start. Xero will not let pre-conversion activity quietly rewrite the opening position, so the adjustment goes here instead.
  • The old system's closing figures were themselves wrong. This is the uncomfortable one. The conversion did not create the difference, it inherited it — the previous file had an unreconciled balance, and the migration turned an old problem into a new account name.
  • Someone journalled into it deliberately. It is visible in the chart of accounts, it sounds official, and it accepts entries. People use it as a plug when a figure will not go anywhere else, which is the one cause on this list that is genuinely careless.

The first three are all the same underlying event seen from different angles: the day the file started, the numbers did not line up, and the software recorded that honestly instead of pretending otherwise.

A Historical Adjustment balance is not a transaction that went wrong. It is the amount by which your old books and your new books disagree about where you started.

How it differs from a suspense account

These two get treated as the same drawer and they answer different questions, which matters because the investigation for one is wasted effort on the other.

A suspense account holds transactions whose destination is unknown right now. A real payment arrived, nobody could say what it was for, and it was parked pending an answer. The work is identification: find the counterparty, code it properly, move on.

Historical Adjustment holds a difference whose destination may never have existed. There is often no individual transaction to find, because the balance is arithmetic rather than an event — the residue of a set of opening figures that did not add up. You can spend a week looking for a transaction that was never there.

The quick test: open the account and look at the entry count. A handful of entries dated on or around the conversion date is a migration difference. A long list of entries spread across years is a file where people have been using it as a parking spot, and that is a different, easier, more annoying problem.

What it quietly distorts

Before you touch it, check which section of your chart of accounts it actually sits in, because that determines what it is currently damaging. If it reports against profit, your reported result is wrong by that amount and every comparison against last year inherits the error. If it sits on the balance sheet, your equity or assets carry a figure you cannot substantiate to anyone who asks.

The second cost is comparatives. A conversion difference makes the first year in Xero incomparable to the last year in the old system — which is exactly the comparison an accountant, a lender or a buyer will reach for first. The number does not need to be large to make that conversation slow.

The third is that it hides the thing that caused it. A file that opened with an unexplained difference in the bank line usually still has that difference today, wearing a different name.

Nobody questions a set of books because the opening balance was hard. They question it because the opening balance was never resolved and nobody can say why.

How to clear it without breaking last year

The instinct is to journal it to retained earnings and move on. Sometimes that is genuinely the right ending — but only as the last step, not the first, because doing it early destroys the only evidence of what actually happened.

  • Run the account transactions report with no date limit. You need every entry, not the net figure. A large debit and a large credit can hide inside a small balance, and they usually have different causes.
  • Find your conversion date and sort against it. Entries on or near that date are migration differences. Entries well after it are people using the account, and those can be recoded individually to where they belonged.
  • For migration differences, go back to the source. Pull the closing trial balance from the old system and compare it line by line with the conversion balances that were entered. The difference almost always sits in one or two lines — usually GST, debtors, or the bank — rather than being spread evenly.
  • Fix the line, not the total. If the conversion figure for one account was keyed wrong, correcting that figure is the actual repair. Journalling the net difference away leaves the wrong opening balance in place and simply stops it being visible.
  • Only write off the genuine remainder, and date it deliberately. Whatever survives a real comparison gets cleared with a narration saying what was checked — and if the amount is material, touches GST, or crosses a lodged period, with your accountant deciding the destination rather than you.

If the difference turns out to sit in the bank line, stop treating it as a conversion issue and treat it as a reconciliation one — that is the same fault described in when your bank balance doesn't match Xero, and it will keep producing new differences until the feed side is sorted, regardless of what you do to this account.

The check that stops it growing

Once the account is back to zero, the thing that keeps it there is a lock date. Set the lock on the conversion date — or on the last finalised period — so nothing new can be dated into a period that has already been signed off. That single setting removes the entire second category of cause, because pre-conversion entries can no longer be made by accident.

Then look at the account once a quarter. It should be zero. A balance appearing in an account nobody is supposed to post to is a useful alarm precisely because it is so quiet — it means something was dated into a closed period, and you want to know that in the same quarter it happened rather than at year end.

We care about this one for unromantic reasons. Extrua exists because the founder's Sydney cleaning business ended up $56k of variance away from the truth, and a share of that was inherited at conversion rather than created afterwards — the file opened wrong and then spent two years being maintained beautifully on top of a bad starting line. If your Historical Adjustment account has a balance and nobody left remembers the migration, that is the kind of thing Reconcile goes looking for.

Otherwise: open the account, find the conversion date, and compare two trial balances. It is usually one line, it is usually GST or the bank, and the relief of knowing which one is worth considerably more than the hour it takes.

Software for service businesses — built by an operator.

Job management, books, and AI agents that actually know your business.