Check a statement
Statement balance checker
Check whether your transactions take the opening balance to the printed closing balance, and find the first running-balance mismatch without uploading or changing your CSV.
By AnyStatement
Published , 3 min read
Examples replace your working copy and use the preset settings shown below. All data is fictional.
UTF-8 .csv or .txt, up to 5 MB. File contents never leave this tool.
Separator confidence: none. Check the preview; suggestions don't confirm the format.
Check status
- File read: Waiting for a CSV or an example.
- Format checks: Not checked.
- Arithmetic: Not checked. Fix any input issues, then confirm your settings.
These checks don't authenticate statements, detect fraud, verify bookkeeping, prove every PDF row was captured or guarantee an importer will accept the file.
Use the statement as your reference
With your statement open, load or paste a CSV and map signed amounts or both debit and credit columns. Dates, descriptions, account, currency and printed after-transaction balances are optional. Take opening and closing balances separately from your statement.
Confirm separators, account perspective and posting order before approving the check, which uses exact scaled integers, not floating-point money. In the fictional March example, opening 2,400.00 plus net transactions -34.95 gives closing 2,365.05. Removing the -12.00 fee leaves a difference of +12.00.
The difference is computed minus printed. Candidate rows match its magnitude or half of it. They're leads to investigate, not enough evidence to change amounts. Missing rows can't appear as candidates.
Check each row, not just the total
The local check adds the current amount to the previous printed balance, then compares it with the current printed balance. The cumulative check adds every amount to the opening balance, comparing each result with its printed balance.
In the offsetting-errors example, the closing difference is zero, but cumulative balances disagree at transaction rows 3 and 4, then agree at row 5. Local links break at rows 3 and 5. Report references use CSV source lines, counting headers and quoted multiline cells, not PDF lines.
Across a missing printed balance, the tool won't claim exactly where a mismatch ends. It can still check closing arithmetic if every transaction amount is known.
A zero difference is not proof
File reading, format and arithmetic get separate results, while row issues, skipped records and ambiguous values stay visible. You'll need to resolve required inputs and row issues before checking complete arithmetic. Incomplete diagnostics downloads are labelled, never presented as a checked statement.
Zero means only that the equation agrees for your supplied values. It doesn't authenticate the statement, detect fraud, confirm every PDF row was captured, reconcile your ledger or guarantee importer acceptance. There's no comparison with a bank or accounting system.
The worked troubleshooting guide helps distinguish extraction errors from ledger reconciliation problems. Inventing an adjustment to erase the difference isn't a fix.
What your CSV needs to contain
- The check covers one account, one currency and one complete statement period. Multiple mapped account or currency values block calculation, so without those columns you'll need to confirm the scope yourself.
- The tool reads CSV or text only: UTF-8, up to 5 MB, with comma, semicolon, tab or pipe separators. It doesn't read PDFs.
- You can choose 0 to 6 decimal places, but extra precision is rejected rather than rounded. Date and number conventions need an explicit choice too; CR/DR suffixes aren't guessed.
- Posting order matters because dates are only a guide. Choosing newest-first reverses every row, including same-day rows. The tool never sorts by date.
- Running balances must be after-transaction balances on the opening/closing balance basis, not available balances or daily summaries.
- Card debt is positive, so purchases and interest increase it while payments and refunds reduce it. You can reverse transaction signs without reversing balances.
- Fees and interest belong in the CSV when they affect the balance. Repeated headers, subtotal-looking rows and blank rows need review because they aren't silently excluded.
- Divisibility by 9 is only a weak hint. To test integer units, the check removes the decimal point at your selected precision. Many errors unrelated to transposition are also divisible by 9.
What happens to your file
Files and typed balances are processed in this tab. The tool doesn't upload them, send analytics or store them in cookies or browser databases. No signup or email is needed. Choosing Clear all inputs and results removes the working copy, but leaving isn't a secure erase: going back can restore in-memory inputs and results. Your browser manages temporary memory.
Reports download to your device only when you choose, without overwriting your original file. Report text that could start a spreadsheet formula gets an apostrophe prefix, while calculated numbers keep their signs. The separate PDF converter uses a different upload workflow.
Sources and checks
Sources were checked on October 17, 2026. The equations above aren't an accounting-app import specification. Intuit's QuickBooks Online troubleshooting page, updated August 25, 2026, covers comparing books with statements and checking opening, beginning and ending balances.
The OJP FMSC bank reconciliation guide explains the separate ledger comparison, including deposits in transit, outstanding checks and bank charges. Its grant-management requirements are not universal rules for every business. Neither source turns a CSV arithmetic check into document authentication.