Merge Bank Statements — Combine Multiple CSV Files Into One

Bookkeeping usually starts with a folder of CSV exports — one per account, one per month, each with its own column names and its own idea of what a header row looks like. Add them all at once and Maplesheet lines the columns up by name and stacks the transactions into a single table you can download as .xlsx or .csv. There is no cap on how many files you merge or how large they are, because the whole thing runs in your browser and nothing is uploaded.

Columns are matched case- and spacing-insensitively, so Date, DATE and “Date ” all land in the same column. A column that only one bank exports still comes through — it is added to the merged table and left blank for the files that don't have it, and the tool tells you which file it came from.

Preamble lines above the header — account number, statement period, a stray blank row — are detected and skipped, so you don't have to top-and-tail every export by hand first. Every row is tagged with the file it came from in a Source file column, and nothing is dropped along the way, so the merged table always accounts for every transaction you put in. Sort the result by date or amount before you download it.

Need to check two versions of the same file instead of combining different ones? Use the Excel compare tool.

How it works

  1. Drop in every .csv statement you want to combine — as many as you like.
  2. Click Merge. The columns are matched across files and the transactions are stacked in the order you added them.
  3. Sort the merged table by any column — dates and amounts sort chronologically and numerically, not alphabetically.
  4. Download the result as an .xlsx workbook or a .csv file.

Frequently asked questions

What if my statements have different column names?
Columns are matched by name, ignoring case and extra spaces. Any column that exists in only some of the files still appears in the merged table — rows from the other files are simply left blank in it, and the tool flags which file it came from.
Can I tell which statement each row came from?
Yes. Every merged row carries the name of the file it came from in a Source file column at the end of the table.
Does the merge drop or change any rows?
No. Every row of every file comes through untouched, including rows that repeat across statements with overlapping date ranges — the row counts per file are shown so you can reconcile the total.
Do the rows come out in date order?
Rows keep the order of the files you added by default. Pick a column in the Sort by control to reorder them — date columns are read as dates (including day-first formats like 31/01/2024) and amount columns as numbers.
How many files can I merge, and how big can they be?
There is no limit on either. The merge runs in your browser rather than on a server, so the only ceiling is your own machine's memory — years of statements across a dozen accounts are no problem.
Are my statements uploaded anywhere?
No. The CSV files are read and combined entirely in your browser; nothing is sent to a server, which makes the tool safe for client and personal account data.
Do the banks' extra header lines cause problems?
No. The tool looks past account numbers, statement periods, and blank rows at the top of an export and starts from the real header row.
Merge Bank Statements — Combine Multiple CSV Files Online | Maplesheet