Skip to content
BookkeepKit

Merge CSV Files Into One, With Columns Aligned

Combine monthly exports, several accounts or files from different systems into a single CSV. Columns are matched by name, even when they're in a different order.

Drop two or more CSV files here

Files are merged in the order shown. Columns are matched by their header names.

Processed in your browser. Your files never leave your computer.

How it works

  1. 1

    Add your files

    Drop two or more CSV files at once, or add them one at a time. Reorder them with the arrows; the merged file follows that order.

  2. 2

    Choose options

    Add a column showing which file each row came from, and optionally drop rows that are exact duplicates.

  3. 3

    Download merged.csv

    One file, one header, every row. The column order follows your first file, with any extra columns added at the end.

When merging CSV files saves time

Many bank portals only export one month, or 90 days, at a time. Card issuers split business cards by employee. Payment processors produce one file per payout. Before you can reconcile a year, review a client's spending or build a single import, you need all of those rows in one place, with the columns lined up.

Copying and pasting between spreadsheets works for two files with identical layouts. It breaks down when one export has Posting Date first and another has Description first, when a bank adds a Balance column halfway through the year, or when you have thirty files. This tool does the matching for you.

How columns are matched

The first file sets the column order. For every other file, each header is compared to the columns already known after normalizing it: lowercase, punctuation removed, spaces collapsed. So Amount, AMOUNT and amount are the same column, and Check # stays distinct from Check. A header that doesn't match anything becomes a new column at the end.

Values are copied as text, exactly as they appear in each file. Dates aren't reformatted and amounts aren't recalculated, so the merged file is a faithful combination of the originals.

Step by step: combine a year of bank exports

  1. Download each monthly CSV from your bank. Keep the original files; don't open and save them in Excel first.
  2. Drop all of them on the tool at once. Use the arrows to put them in date order, oldest first.
  3. Keep Add a "Source file" column on. When a number looks wrong later, you'll know which statement it came from.
  4. Leave duplicate removal off unless your exports overlap (for example, if you downloaded "last 90 days" several times).
  5. Merge, check the row count against the sum of the files, and download.

Merging files from different banks

If the banks use different names for the same thing, such as Withdrawals in one and Debit in the other, they'll end up in separate columns. That's deliberate: guessing that two differently named columns mean the same thing is how numbers end up in the wrong place. Rename the header in one of the originals before merging, or convert each file to a common layout first with one of the converters.

After merging

  • Importing into QuickBooks Online? Remove the Source file column during column mapping (or merge without it) and split the result if it's over 350 KB.
  • Reconciling? Sort by date in your spreadsheet, then compare totals per month with the bank statements.
  • Looking for double-counted transactions? The duplicate remover compares date, amount and similar descriptions, which catches repeats that aren't character-for-character identical.

Frequently asked questions

What if my files have columns in a different order?

That's handled. Columns are matched by their header name, ignoring capitalization, spaces and punctuation, so Trans. Date and trans date land in the same column.

What if one file has a column the others don't?

It's added as a new column at the end, and rows from the other files leave it empty. The results panel lists any column that doesn't exist in your first file so you can check it.

How does duplicate removal work?

When the option is on, a row is dropped only if every column is identical to a row already kept. Two coffees of the same price on the same day with the same description count as one, so leave the option off for bank data unless you know the files overlap. For smarter matching across bank files, use the duplicate transaction remover.

Can I merge files with different delimiters?

Yes. Each file's delimiter is detected on its own, so a comma-separated file and a semicolon-separated file can be merged. The output uses commas.

Is there a limit on the number of files?

No fixed limit. Everything runs in your browser, so dozens of monthly exports merge in a few seconds.

Will the merged file import into QuickBooks Online?

If the columns include a date, a description and an amount (or credit and debit), yes. If the result is larger than 350 KB, run it through the CSV splitter before uploading.