Import Xero Invoice Payments in Bulk
How to use EasyCSV to apply payments to existing Xero sales invoices from CSV or Google Sheets.
Step-by-step: import invoice payments into Xero in bulk
- Log into EasyCSV.
- Create a new sheet import page using an example CSV file or Google Sheet. Each row should represent one payment to apply to one Xero sales invoice.
- When setting up the import destination, choose Xero.
- Under Xero object type, select Invoice Payments.
- Connect your Xero account using the Connect Xero Account button, or connect from Sheet Details if you skipped this during setup.
- Open Field Mappings and map your spreadsheet columns to the Xero payment fields below. EasyCSV will auto-match common column names when possible.
- Upload your CSV or XLSX file, or submit a Google Sheet link, to run the import.
- Review the import summary email or import log. If any rows failed, download the attached error CSV for full details.
Need to reconnect Xero first? See the Xero reconnect instructions.
Example spreadsheet columns
A typical invoice payments file might look like this:
| Invoice Number | Date | Amount | Account Code | Reference | Is Reconciled? |
|---|---|---|---|---|---|
| INV-1042 | 2026-07-16 | 500.00 | 090 | Stripe payout | yes |
| INV-1043 | 07/17/2026 | 1250.00 | Bank transfer | no |
Field mapping reference
| EasyCSV field | Required? | Notes |
|---|---|---|
| Invoice Number | Yes | Must match an existing Xero sales invoice number. |
| Date | Yes | Payment date. EasyCSV auto-detects formats like YYYY-MM-DD, MM/DD/YYYY, and DD/MM/YYYY. |
| Amount | Yes | Payment amount applied to the invoice. |
| Account Code | No | Bank account code for the payment. See Account Code fallback when not mapped. |
| Reference | No | Optional payment reference sent to Xero. |
| Is Reconciled? | No | Accepts yes/true/1 or no/false/0. Leave blank to omit from the Xero payment. |
Account Code fallback
If you do not map Account Code, EasyCSV tries to determine the bank account automatically:
- Use the account code from the invoice's most recent existing invoice payment in Xero.
- If the invoice has no invoice payments yet, use the account code from your organisation's most recent invoice payment.
- If neither source is available, the row is marked as an error.
Duplicate detection
EasyCSV skips creating a payment when Xero already has an invoice payment with the same Invoice Number, Date, and Amount. Skipped rows are reported in the import summary but are not treated as errors.
What we support
Supported:
- Payments against existing Xero sales invoices (ACCREC)
- One payment per spreadsheet row
- Batch payment creation with per-row error reporting
Not supported:
- Multi-currency payments
- Credit note payments (refunds)
- Prepayments
- Overpayments
- Bill (ACCPAY) payments
Error CSV
When rows fail validation or Xero rejects a payment, EasyCSV includes those rows in an error CSV attached to the import email. The import summary shows the first several error messages; the error CSV contains every failed row and its error message.
Common row errors include missing required fields, invoice numbers not found in Xero, unsupported bill numbers, and Xero validation messages such as amount exceeding the amount due.