Bank statements to clean, checked rows
Cleanrow turns PDF bank and credit card statements, and messy bank CSV exports, into clean files for your spreadsheet or accounting app. It checks every statement: the opening balance plus every transaction has to equal the closing balance, to the cent. Your files are read in this browser tab and never uploaded.
What it does
- Reads PDF statements from banks and card issuers: the date, description, amount and running balance of every row, plus the institution, the account's last four digits, the period and the opening and closing balances.
- Repairs bank CSV exports. It finds the header row, suggests which column is which, and asks you about anything it can't know: whether 03/04 is March or April, which way money moved, what an unfamiliar type value means. You can save the mapping for next time.
- Checks the balance of every statement and shows the result before you download anything (below).
- Lets you fix flagged rows in place: edit a date, description or amount and the check runs again as you save.
- Merges several files into one, oldest first, with the file each row came from. Rows that look like duplicates (same date, amount and description) are highlighted and kept; it never deletes a row for you.
The balance check
Every statement gets one of three answers, shown in a banner above its rows (a worked example):
| Banner | What it means |
|---|---|
| Verified | Opening balance + every transaction = closing balance, exactly, and every running balance printed on the statement agrees. |
| Off by an amount | Something doesn't add up. The banner gives the difference and the rows where the running balance stops agreeing, so you can compare them with the PDF and fix them. |
| Can't verify | The statement prints no opening and closing balance that Cleanrow could find, or a CSV has no balance column. It says so rather than calling the rows verified. |
Money is handled as whole cents from start to finish, so there are no rounding errors to hide behind. A CSV's running-balance column proves its rows agree with each other; it can't prove that no row is missing before the first one, and the banner says that too.
What goes in
- PDF statements with selectable text, the kind banks and card issuers send or let you download. Several at once is fine.
- Bank CSV exports with commas, semicolons, tabs or pipes; one signed amount column, separate money-in and money-out columns, or an amount with a type column; US or European dates and decimal marks; UTF-8, UTF-16 or Windows-1252 text.
What comes out
| Format | Columns or contents |
|---|---|
| CSV | Date, Description, Amount, Balance |
| QuickBooks Online CSV, 3 columns | Date, Description, Amount: the 3-column layout in Intuit's instructions for uploading bank transactions |
| QuickBooks Online CSV, 4 columns | Date, Description, Credit, Debit: Intuit's 4-column layout |
| Xero CSV | *Date, *Amount, Payee, Description, Reference, Check Number: the columns of Xero's bank statement template |
| OFX | OFX 2.2 for a bank account or a credit card, with transaction ids that stay the same if you export again |
| QIF | Quicken Interchange Format, Bank or CCard |
| Excel (XLSX) | One sheet with real dates and numbers |
| Preparation report | Plain text: totals in and out, the balance check, rows to review and rows that couldn't be read |
Money out is negative and money in is positive, in every format that has one amount column. On a credit card that means a purchase is negative and a payment is positive. You choose the date format for the CSV layouts and QIF.
Your files stay on your computer
The converter is a program that runs in this tab. It reads each file you add, does all of its work in the tab's memory, and hands you the result as a download. No file, row, name or amount is sent to White Hat Harbor or anyone else, and nothing from your files is kept after you close the tab. The only things it remembers in this browser are a pass key you activate, any column mappings you save (header names and column choices, never rows), and a one-way fingerprint of the file you downloaded free, so the free download stays with that file. The page's security policy only lets it contact one other address, Polar's license check, and only when you enter a pass key; that request carries the key and nothing from your files. The privacy policy has the details.
Limits
- Text PDFs only. A scanned or photographed statement has no text to read, and the converter tells you so instead of guessing. Reading scans needs OCR, which is planned for the Cleanrow Mac app, not the web tool.
- QuickBooks and Xero imports aren't verified yet. The QuickBooks Online and Xero files follow the layouts those companies publish, but they haven't yet been test-imported into live accounts. Check your first import before relying on it.
- Tested on made-up statements. The reader has been checked against generated statements in 25 layouts (section-style checking, daily balances, running balances, credit cards, UK and Canadian styles, CR/DR and bracketed amounts, several accounts in one PDF and more) and a few publicly posted sample statements, but not yet against statements from customers' banks. Real banks vary, which is why every statement is balance-checked and anything that doesn't add up is pointed out row by row.
- Password-protected PDFs can't be opened; save a copy without the password first. A statement covering several accounts in one PDF (checking and savings) is split into one statement per account, each with its own check; an account that opens at exactly the previous account's closing balance may not split. Amounts need two decimal places, so currencies without cents aren't supported.
- Files up to 50 MB, in a current version of Chrome, Edge, Firefox or Safari.
Price
| Free | 7-day pass, $12 | |
|---|---|---|
| Preview, balance check and row edits | Any number of statements | Any number of statements |
| Downloads | Your first statement, in full, in every format | Every statement, merged files and batches |
| How long | Always | Seven days from purchase, then it simply ends |
The pass is one payment, not a subscription, and needs no account. It's sold through Polar, the merchant of record, which handles sales tax and VAT and emails you a license key. Open Have a pass key? in the converter above, paste the key and click Activate; the key works in any browser you use in those seven days. The terms of sale and refund policy cover the pass.
The pass isn't on sale yet. Until it is, the free download works as described and the converter's buy button reads Pass on sale soon.
Guides
- Convert a PDF bank statement to CSV
- Convert a PDF bank statement to Excel (XLSX)
- Bank statement PDF to a QuickBooks Online CSV
- Convert a PDF bank statement to OFX or QIF
- Clean up a bank CSV export for import
- The balance check, explained
Support
If a statement doesn't verify and you think it should, or a CSV won't map, get in touch. Describe the layout, or send a copy with the names and account numbers blacked out; never send a statement you aren't comfortable sharing.