Paysweepby Atesen Software

How to mark invoices as paid in bulk in Xero

Sometimes hundreds of invoices or bills in Xero show as unpaid when the money was settled long ago: after a move from another system, when payments were recorded somewhere else, or after a write-off was agreed with your accountant. Xero has no button to mark a whole list as paid. This guide shows how to do it from an Excel or CSV list with Paysweep, checked against Xero first, and how to keep it reversible.

Last checked 25 Oct 2026 against Xero’s published API description.

Why this comes up

An old system was switched off and its open invoices came over to Xero, but the payments did not. A customer paid through a platform that settles in one lump sum. A team recorded receipts in a spreadsheet for a year. In each case the aged receivables or payables report is full of documents that are not really open, and each one needs a payment to close it.

The by-hand way

Open each invoice, record a payment for the amount due to the agreed account, and save. With a few dozen this is an afternoon. With several thousand it is not realistic, and it is easy to pay one twice or miss one.

Cleanup mode: choose open documents without a file

On the Pay tab, turn on Cleanup mode. Choose invoices, bills or both, then filter by contact name contains, due date before a day, currency or maximum amount due. Press Find open invoices. The list contains approved documents with an amount still due, in pages of up to 100 rows.

Tick the documents you want to clear. Previous page and Next page keep your selection; a successful new search clears it. Choose one payment account and one payment date, then press Preview. The account list contains active bank accounts and accounts enabled to accept payments in Xero, shown by code. It does not create a clearing account for you.

Preview reads the selected documents again and plans each full current amount due. Review the totals and any rows to fix, then type PAY and the ready payment count to record them. Cleanup mode uses the same result CSV and 30-day Undo button as a file run. You can select at most 2,500 documents per run; an oversized request is refused without cutting off rows. If you need different amounts, references or currency rates per row, use a file instead.

Preparing the list

Paysweep needs one row per invoice or bill with its number (or its Xero InvoiceID) and a payment date. The amount can stay blank: a blank amount pays exactly what is due. The account can come from one default on the page, so the file can be as simple as:

Invoice Number,Payment Date
INV-0102,2026-09-30
INV-0117,2026-09-30
BILL-2210,2026-09-30

Excel files are read in your browser from the first sheet; date cells are read as dates. Blank rows are skipped and row numbers still match your sheet.

What is checked

A worked example

Say your business moved to Xero last year and brought 1,800 customer invoices across from the old system as open, while the money for most of them had already come in before the move. Your accountant agrees that 1,650 of them were settled and should be cleared against a clearing account, and gives you the list.

You paste the 1,650 invoice numbers into a sheet with one payment date, upload it, and set the clearing account code as the default. The preview shows 1,641 payments ready and 9 rows to fix: 6 invoices that someone already paid by hand last month (nothing is due), 2 numbers that are not in Xero, and 1 invoice still in draft. You download those 9 rows for your accountant and run the 1,641. The run spreads over the organisation’s daily Xero budget and finishes on its own; the result CSV is the record of what was cleared.

Things to agree before you run it

Doing it with Paysweep

  1. Agree the account first. Decide with your accountant which account the clearing payments go to, for example a clearing account set to accept payments, or the bank account the money really went into.
  2. Export the list. From your Xero invoice or bill list, or from your old system, make a sheet with one invoice number per row. Leave the amount column out or blank.
  3. Upload it. Connect your organisation, choose the file, check that the payment date column is matched, and set the default account code.
  4. Read the preview. Every row pays the full amount due. Invoices that are not approved, already paid, or dated before your lock date are listed as rows to fix.
  5. Confirm. Type PAY and the number of payments.
  6. Keep the result CSV. It lists every row with its outcome and the Xero IDs, for your records and for your accountant.

What to expect

Every payment is its own call to Xero with a fixed idempotency key, read back after it lands. A run pauses when the organisation’s daily Xero budget is used and continues the next day by itself, so a very large clean-up may take more than one day.

The first 3 payments in each organisation are free. A one-off clean-up usually fits the $39 pass (7 days, up to 300 payments); $19 a month per organisation has no limit; both prices are excl. VAT/sales tax. See pricing, and the CSV guide for every column Paysweep reads.

Questions

Should old unpaid invoices be paid, credited or voided?

That is an accounting decision for you and your accountant: a payment says money moved, while cancelling the document says the amount is not owed. Paysweep records payments only. If the answer is payments to a clearing account, Paysweep can do that in bulk.

Which account can the payments go to?

A bank account, or any active account that is set to accept payments in Xero. The account’s currency must be the invoice’s currency or your base currency.

Does it work for bills as well as invoices?

Yes. Xero records the payment the right way round for the document type: money received on a sales invoice, money paid on a bill.

What if I change my mind?

Undo the run within 30 days and the invoices are due again. See how to undo bulk payments in Xero.

Related guides

What Paysweep does

Every payment recorded against the right invoice or bill in Xero, with a result CSV, a link to each document and Undo for 30 days.

Who it is for: Bookkeepers, accountants and finance teams on Xero with a list of payments to enter: a remittance advice, a batch of bills paid outside Xero, or a clean-up of old open invoices.

Start free with XeroCompare plans

Free to connect and preview. First 3 payments free, then $39 for 7 days or $19 a month, excl. VAT/sales tax.

Three steps

  1. Sign in with Xero

    You sign in on Xero’s own page and choose the organisation. Paysweep never sees your Xero password.

  2. Upload and preview, free

    Choose a CSV or Excel file with one row per payment. Every row is checked against your invoices, bills, accounts and lock date. Nothing is written yet.

  3. Type PAY to record

    Type PAY and the number of payments. You get a result CSV, a link to each invoice or bill in Xero, and Undo for 30 days.