Split Transaction CSVs Into QuickBooks and Xero–Ready Import Files

QuickBooks Desktop caps CSV transaction imports at 1,000 rows per file. Xero's bank statement import recommends files under 4MB and performs best under a few thousand rows. When you receive a year-end bank export or a consolidated transaction file from a client, you cannot load it in one pass — it has to be split first.

Accountants and CPAs dealing with high-volume clients — retail businesses, restaurants, ecommerce sellers — routinely receive bank feeds and transaction exports that run to tens of thousands of rows. Manually splitting these in Excel is the standard workaround, but it is slow, error-prone, and easy to corrupt by accidentally omitting the header row, which causes the entire import to fail with a column mapping error.

Deliteful splits your transaction CSV into fixed-row chunks with the header row preserved in every output file. For QuickBooks Desktop, set the limit to 1,000. For Xero or QuickBooks Online bank feed imports, 2,000–3,000 rows per chunk is a reliable working size. Each output file is numbered sequentially so you can track which batches have been imported and reconcile row counts against the source total.

How it works

  1. 1

    Export the transaction or bank feed CSV

    Download the full transaction export from your client's bank portal, payment processor, or accounting system.

  2. 2

    Set the row limit for your accounting platform

    Use 1,000 for QuickBooks Desktop, or 2,000–3,000 for Xero and QuickBooks Online bank feed imports.

  3. 3

    Import each numbered chunk into your accounting software

    Each output file includes the header row required for correct column mapping — import sequentially and reconcile row counts after each batch.

Frequently asked questions

What is QuickBooks Desktop's CSV import row limit?
QuickBooks Desktop supports up to 1,000 transactions per CSV import file. Larger files must be split into 1,000-row chunks and imported in separate batches.
Does Xero have a CSV import row limit?
Xero does not publish a hard row limit, but recommends keeping bank statement import files under 4MB. For reliable imports, keeping files under 3,000 rows is a practical guideline.
Will the header row be included in every chunk?
Yes. Every output file includes the original header row from the source CSV. QuickBooks and Xero both require the header row to map date, description, and amount columns correctly.
What happens if I import a QuickBooks CSV file with more than 1,000 rows?
QuickBooks Desktop will return an import error or truncate the file at 1,000 rows, causing you to miss transactions. Splitting to exactly 1,000 rows per chunk before import prevents this.
Can I use this for payroll or journal entry CSVs, not just bank feeds?
Yes. Any transaction-format CSV — bank feeds, payroll exports, journal entries, expense reports — can be split by row count. The tool does not interpret accounting fields, only row structure.

Sign up free with Google and split your client transaction exports into QuickBooks and Xero–ready import files in under a minute.