Open the Excel file. When six rows went through Evidilo’s writers on 26 October 2026, the Excel file stored every date and description as a text cell and every amount as a number cell, so no spreadsheet setting is left to reinterpret them. The CSV is plain text, and the spreadsheet that opens it decides what each cell means.
Evidilo converts a PDF, scan or photo of a statement into either file and adds up every row against the balances the bank printed. Copying the rows out of the PDF yourself is the other route, and nothing checks the arithmetic on it.
What the spreadsheet decides when it opens a CSV
A CSV holds no types. Every cell is a run of characters between commas, and Microsoft’s guide to importing text and CSV files says that when Excel opens one, it uses its current default data format settings to interpret each column. A bank statement has three columns that interpretation can change: a description the bank wrote, a date, and an amount.
An Excel file carries the type of every cell with it. A cell stored as text opens as text and a cell stored as a number opens as a number, whatever the settings of the computer that opens it. Evidilo writes both files from the same rows, so the difference between them is only in how each one stores those rows.
Six rows through both files
On 26 October 2026 six rows went through Evidilo’s own CSV and Excel writers, the same code that writes a download, and a script read both files back. Four descriptions start with a character a spreadsheet treats as the start of a formula, one holds a comma and one holds quotation marks. The table shows what each file stored, as measured that day and recorded in dataset.csv.
| On the statement | Written to the CSV | Stored in the Excel file |
|---|---|---|
| -ATM WITHDRAWAL 1043 MAIN ST | '-ATM WITHDRAWAL 1043 MAIN ST | Text cell, -ATM WITHDRAWAL 1043 MAIN ST |
| +DEPOSIT MOBILE | '+DEPOSIT MOBILE | Text cell, +DEPOSIT MOBILE |
| =HYPERLINK FEE | '=HYPERLINK FEE | Text cell, =HYPERLINK FEE |
| @HOME SUPPLY | '@HOME SUPPLY | Text cell, @HOME SUPPLY |
| Payment, thank you | "Payment, thank you" | Text cell, Payment, thank you |
| Check 1044 "rent" | "Check 1044 ""rent""" | Text cell, Check 1044 "rent" |
| Date of the payment | 09/13/2026 | Text cell, 09/13/2026 |
| Payment of $1,234,567.89 | -1234567.89 | Number cell, -1234567.89, format 0.00 |
The CSV wrote all six amounts as signed decimals with a point and no thousands separator. The Excel file stored all six as number cells with the format 0.00, and its sheet holds no formula, so “=HYPERLINK FEE” is stored as the words the bank printed. Both files wrote every date month first, and the Excel file stored each one as a text cell.
Descriptions that start with a minus or an equals sign
OWASP’s page on CSV injection lists the characters that make a spreadsheet read a cell as a formula: an equals sign, a plus, a minus and an at sign, along with a tab or a line break at the front. A description that starts with one of them is read as a formula rather than as the words the bank printed.
Evidilo’s CSV puts an apostrophe in front of any description that starts that way, which is one of the sanitisations OWASP lists. The same page warns that the defence is not reliable in Microsoft Excel once the CSV has been saved and opened again. The apostrophe is also a real character in the file. A ledger that imports the CSV receives it as the first character of the description. The QBO and OFX files carry the same description without it.
OWASP’s list also names the full-width forms of those four characters, which some locales, Japanese among them, read as formulas. Evidilo’s CSV adds no apostrophe in front of those.
The Excel file needs none of this. Its descriptions are stored as text cells with no apostrophe, so “=HYPERLINK FEE” is the words the bank printed.
Dates read in the spreadsheet’s own order
Evidilo writes dates month first, as 09/13/2026. Microsoft’s guide gives a date column in month, day, year order that differs from Excel’s default as a case for importing a CSV through the Import Text Wizard rather than opening it.
The Excel file stores the date as a text cell holding 09/13/2026, so no date setting reorders it. The cost is that the column does not sort or subtract as a date until you convert it. On a single statement the rows already arrive in the bank’s order, which is usually all the sorting a month needs.
Amounts that add up to the statement
Both files write one Amount column with money out as a negative number, rather than separate debit and credit columns. That makes the arithmetic a single sum. On a statement that ties out, the total of the Amount column equals the closing balance minus the opening balance, because that equation is what the balance check tested before the download was offered.
- Open the Excel file and select the Amount column.
- Read the sum in the status bar, or write =SUM over the column.
- Subtract the opening balance printed on the statement from the closing balance.
- Compare the two. On a statement that tied out, a difference means a row was deleted or edited after the download.
This works on the Excel file without any setup because it stores amounts as numbers formatted to two decimals. A CSV leaves that to the spreadsheet’s reading of each cell. What a tied-out statement tells you covers what the check behind that equation can and cannot see.
Which file to take
| Where the rows are going | File to take | Why |
|---|---|---|
| A spreadsheet you will read, sort or total | Excel | Descriptions stay text, amounts stay numbers, no setting reads the dates |
| QuickBooks Online or Desktop | QBO | A per-row id lets QuickBooks recognise a repeat |
| A check now and an import later | Excel and the import file | A second download of the same statement uses no pages |
| A tool that accepts only CSV | CSV | Read the descriptions that start with a symbol after the import |
For QuickBooks the choice between a CSV and a QBO file is about duplicates more than about cells. Intuit’s help article on Web Connect imports says QuickBooks will not import transactions with the same id more than once, and PDF bank statement to QuickBooks without duplicates measures the ids that decide it. Evidilo charges nothing to download a statement again or in another format, so taking the Excel file to check and the QBO file to import costs the same as taking one.
How was this checked?
On 26 October 2026 a script wrote the six rows above through Evidilo’s own renderCsv and renderXlsx, run under Node, and read both files back with Python’s standard library, the CSV with its csv reader and the Excel file from its sheet XML, cell type by cell type. The same day it fetched the Microsoft, OWASP, Intuit, DocuClipper and Evidilo pricing pages and kept the sentence behind each claim, in dataset.csv, and check.py runs it all again. No spreadsheet program opened the CSV in a day-first locale, so what Excel does on opening rests on Microsoft’s guide.
Questions about statements in a spreadsheet
Is a CSV or an Excel file better for a bank statement?
Excel, for anything you will read or total yourself, and the import file your ledger asks for when the rows are going into the books. Evidilo writes both from the same rows, with amounts as number cells and descriptions as text cells in the Excel file. A CSV is the right choice only for a tool that accepts nothing else, and a CSV from any converter meets the same spreadsheet rules when it is opened.
Why does a description in my CSV start with an apostrophe?
The bank’s description started with an equals sign, a plus, a minus or an at sign, and Evidilo added the apostrophe so a spreadsheet opens it as text rather than as a formula. The Excel file stores the same description as a text cell with no apostrophe. OWASP notes that the apostrophe is not a reliable defence once Excel has saved the CSV and opened it again, which is one more reason to read the Excel file instead.
Why do the dates in the Excel file not sort as dates?
They are stored as text, month first, so no computer’s settings can read them in another order. Evidilo writes the rows in the order the bank printed them. To sort or subtract them, convert the column to dates in the spreadsheet, reading it as month, day, year.
Can I convert a PDF bank statement to Excel for free?
Yes. Evidilo converts three statements a day free, up to 10 pages each, without an account, and every file format is available on that tier, Excel included. DocuClipper says it converts statements to Excel, CSV or QBO, and copying the rows by hand costs nothing but time and has no check on the arithmetic.
How do I check that a converted statement is complete?
Sum the Amount column and compare it with the closing balance minus the opening balance. Evidilo runs that comparison against the balances the bank printed before it offers the download, and names the first day that does not tie out. A statement that prints no balances cannot be checked this way, by Evidilo or by hand.