Unapproveby Atesen Software

Guides → Invoices posted twice after a migration or conversion: a guide for Xero users

Invoices posted twice after a migration or conversion: a guide for Xero users

The move to Xero is done, but the aged receivables are twice what the old system said. Open invoices came across twice: once from the conversion, once from an import or an integration. This guide covers how that happens, how to check it against the conversion balances, how to remove the extra copies by hand, and how to void a large batch of them in one run.

Checked against Xero Central on 16 October 2026.

How open invoices end up in the books twice

The manual way, step by step

  1. Hold the bank reconciliation. Xero's tips say not to reconcile bank accounts until all unpaid invoices and bills are in, to avoid duplicate transactions (Tips for entering conversion balances). The same holds while you remove copies.
  2. Compare the totals. The unpaid invoices and bills must add up to the accounts receivable and payable conversion balances; Xero suggests checking against the aged summaries for the day before the conversion date (Enter unpaid invoices and bills for your conversion balances). Run the same report in the old system and note which customers differ.
  3. Find the pairs. For each customer that differs, search by contact and amount (Search for sales and purchase transactions). Look for the same amount and date under two numbers.
  4. Delete the drafts. Imports arrive as drafts, and drafts can be deleted several at a time from the Draft tab (Delete or void an invoice).
  5. Void the approved copies. Sales invoices are voided one at a time; bills can be voided several at a time from the Awaiting Payment tab (Delete or void a bill). To keep the original number on the surviving copy, change the extra copy's number before you void it.
  6. Save the conversion balances again. Each save reverses the previous conversion journal and posts a new one (Enter conversion balances), so the receivables figure is right once the copies are gone.

Where the manual way runs out

The faster way for the approved copies: Unapprove

Unapprove is a web app that works with Xero. It does not compare your books with the old system and it does not touch the conversion balances: you find the copies with the steps above. It then voids a whole selection of them for you.

What it skips, and tells you why: documents with a payment applied (why), documents in a locked period (why), and documents for an archived contact (why). Each run has a ceiling on the number of documents; a large conversion is cleared in a few runs.

What access it asks for: your name and email to sign you in, read and write on invoices and bills, read and write on attachments, and read-only on organisation settings and contacts.

Price: free for 14 days, with unlimited previews and three documents processed in total. After that, $29 per month per connected organisation, or a one-off $49 Clean-up Pass for 7 days and up to 500 documents, which suits a one-off conversion clean-up. Prices are in US dollars and exclude VAT and sales tax (added at checkout); the pricing page has the details.

Connect and preview free See pricing

Questions

Why didn't the import stop the duplicates?
Xero's invoice import skips a number that already exists, but a copy with a changed number, such as one with a character added along the way, is a new number to Xero, so both are kept.
Should I delete the conversion copy or the imported copy?
Keep the one that matches the old system's aged receivables and carries the right date, before the conversion date. If either has a payment matched, keep that one unless the payment is wrong. Ask your accountant if unsure.
Do I need to redo the conversion balances?
Open the conversion balances and save them again once the copies are gone. Each save reverses the previous conversion journal and posts a new one.
Can I restart the organisation instead?
Xero has no reset button. Restarting means a new organisation and a fresh import, which Xero calls a last resort. The start-over guide compares the two.
Who makes Unapprove?
Atesen Software, an independent developer. Unapprove works with Xero through Xero's public API; Xero does not make it and has not endorsed it.

Related guides