Cleaning up unallocated credits and overpayments after migrating to Xero
Last updated: September 2026
Short answer: conversions leave credits unallocated because the import brings the documents across, not the links between them. Opening balances from Sage, MYOB, QuickBooks or a spreadsheet arrive as separate invoices and credit notes; receipts that were matched to a contact rather than to an invoice come over as overpayments; historical credits become standalone credit notes. Each one is correct on its own — it is just not applied to anything yet. In Xero, allocation is done one document at a time, so a migration that leaves hundreds of unallocated credit notes and overpayments behind turns into a long tidy-up. This guide covers how to size the backlog, the manual steps, and how to clear it in one run.
How to tell how big the backlog is
Before deciding how to clear unallocated credits in Xero, count them. Three places show the same picture from different angles:
- Business → Sales overview and Business → Purchases overview: the credit notes and overpayments figures show the total still awaiting allocation.
- Aged Receivables and Aged Payables reports: negative or credit lines against a contact are unallocated credits sitting next to open invoices — the usual sign of a migration that brought both sides over separately.
- A contact's transactions tab: open a few of the largest accounts and look for credit notes and overpayments still awaiting payment alongside open invoices.
For a simple count, open Business → Credit notes, filter to awaiting payment and note the number of rows; do the same for overpayments from the contact or bank account screens. Add the receivables and payables sides together — that is the size of the job.
The manual process (one credit at a time)
- Open the credit note or overpayment, either from the contact's transactions or from the sales or purchases overview.
- Choose Options → Allocate credit.
- Enter the amount to apply against each open invoice or bill for that contact.
- Save, then move on to the next credit.
A few rules apply: the credit and the invoice must belong to the same contact and use the same currency, and only approved documents can be allocated. Each item takes roughly 30 to 60 seconds once you are in a rhythm, which scales like this:
| Unallocated items | Manual time (approx.) |
|---|---|
| 100 | 1–2 hours |
| 1,000 | 1–2 working days |
| 10,000 | Several weeks |
For a small conversion the manual route is fine. For the post-migration or year-end backlog most practices inherit, it is worth doing in one pass.
Doing it in one run
BulkOps (built by us) connects to your Xero organisation through Xero's official sign-in and bulk allocates credits after conversion in a single job:
- It scans every unallocated credit note and overpayment, on both the customer and supplier side, together with every open invoice and bill.
- For each contact it proposes matches — exact-amount matches first, then the oldest open invoice — keeping to the same contact and currency.
- You see every proposed line in a preview and untick anything before a single write happens. Items with no sensible match are listed, not guessed.
- Approved lines run as a queued job under Xero's API limits. Xero applies a daily limit per organisation, so a very large backlog takes more than one day: the job pauses itself when the limit is reached and resumes automatically, with progress visible throughout.
- One click undoes the whole job, and every write is logged with before and after state in a CSV audit trail you can file with the migration.
You can try the whole flow on Xero's Demo Company first, and previews on your own organisation are free and unlimited. The first 25 executed items are free as well, so you can check real results before paying anything.
One-off job, one-off price
A migration clean-up is a one-time job, so it does not need a monthly plan. The Cleanup pass is $49 one-off: up to 2,000 executed items across up to 5 organisations, valid for 30 days, with the same preview, undo and audit CSV as every BulkOps job. It covers credit note and overpayment allocation and attachment export, and nothing renews afterwards. If credits pile up every month rather than once, Pro at $39/month covers ongoing volume and cancels from any receipt.
Related guides: bulk allocating credit notes, bulk allocating overpayments and removing an allocation.
FAQ
Will allocating credits change my reported revenue?
No. Allocation links documents that already exist — the credit note or overpayment and the invoice — so nothing is added to the profit and loss. What changes is the contact’s outstanding balance and what appears on statements and aged reports.
What if a credit doesn’t match any invoice?
It stays unallocated. BulkOps only proposes matches it can justify (same contact, same currency, an open approved invoice); anything it cannot place is listed separately so you can deal with it by hand or refund it.
Can I undo a bulk allocation?
Yes. One click removes every allocation the job made, and the audit CSV records each line with its before and after state.
How long does a 5,000-item backlog take?
It is bounded by Xero’s daily API limit rather than by BulkOps, so a backlog that size usually spans more than one day. The job pauses itself when the limit is reached, resumes automatically, and emails you when it finishes.
Does this work for supplier credits too?
Yes. Credit notes on bills and supplier overpayments are matched to open bills for the same supplier, in the same way customer credits are matched to invoices.
Try it
Connect your Xero organisation (or the Demo Company) and preview the backlog for free — no card required. When you are ready to run it, the Cleanup pass clears it in one job.