All checkers

Bank Statement Reconciliation Tool

Compare statement and ledger files locally, then review matches and exceptions.

Comparable files

Use a local label, without account numbers.

Bank statement

UTF-8 CSV, maximum 2 MB and 2,000 rows.

Positive amounts mean

Client ledger

UTF-8 CSV, maximum 2 MB and 2,000 rows.

Positive amounts mean

Amounts must agree exactly. Dates can differ by 0 to 31 days.

Files stay on this device. Clear files removes the working comparison and confirmations.

Suggested matches

Choose both files

Load your files or the fictional example to compare records.

Opening difference

Unavailable

Closing difference

Unavailable

Transaction difference

Unavailable

Unexplained difference

Unavailable

Statement balance gap

Unavailable

Ledger balance gap

Unavailable

Match and exception review

No files loaded.

    Prepare Comparable Files

    This bank statement reconciliation tool compares a statement CSV with a client ledger export on your device. Use both files for the same account, currency and period. Enter each record’s opening and closing balances separately, using the original statement and ledger report.

    Choose UTF-8 comma-separated files with a header and up to 2,000 transactions each. Map three different columns to date, signed amount and reference. Dates accept YYYY-MM-DD or DD/MM/YYYY. Amounts accept up to two decimal places. Sort each file oldest first. Blank references, incomplete rows and dates outside the selected period stop the comparison.

    The parser preserves quoted commas and escaped quotation marks under RFC 4180’s CSV format. Every header must be unique and non-empty. Opening balances belong in the separate balance fields, not transaction rows.

    Check one known receipt and payment before choosing the sign setting. With “Money in”, a receipt is positive and a payment is negative. With “Money out”, the tool reverses those signs. Convert separate debit and credit columns into one signed amount column in a working copy before loading it.

    Online bank reconciliation here means a local comparison of your selected files. Files stay on your device. The tool has no bank connection and makes no ledger entries. A comparison cannot verify that a statement is genuine.

    Understand the Suggested Matches

    An “Exact fields” suggestion has the same date, signed amount and reference after trimming, collapsing spaces and ignoring letter case. For a “Possible” suggestion, the signed amounts agree and the dates fall within your chosen tolerance. Its deciding fields show whether the reference agrees. Amount tolerance is always zero.

    The tool considers unique exact pairs first, then unique possible pairs. Each transaction can appear in one suggested pair. Where either row has several eligible partners, the rows stay unmatched. The tool does not combine payments or infer split deposits.

    Repeated date, signed amount and reference combinations appear as duplicate candidates. Every occurrence stays in the totals and unmatched list. A repeated payment can be legitimate, so inspect the original evidence before removing anything.

    Read both rows before ticking “Confirm match”. That choice records your review in this comparison. Changing a file, mapping, sign, period, balance or tolerance clears confirmations so an earlier decision cannot attach to changed records.

    Review the Unexplained Difference

    Load the fictional example to inspect one exact pair and one possible timing match. The receipt of $1,000 matches exactly. A $250 supplier payment appears two days later on the statement, within the default three-day tolerance.

    The statement also has a $15 bank fee absent from the ledger. Two identical $125 ledger payments are duplicate candidates. A further $200 ledger payment has not appeared on the statement. These leave one unmatched statement row and three unmatched ledger rows.

    Both opening balances are $5,000. The statement closes at $5,735 and the ledger at $5,300, a $435 difference. Unmatched transactions explain that difference: the $15 fee less the ledger’s $250 duplicate candidates and $200 outstanding payment gives $435.

    The unexplained difference subtracts the opening difference and transaction difference from the supplied closing difference. Each balance gap separately compares its supplied closing balance with opening balance plus transactions. Both gaps remain visible because equal errors in the two files can cancel in the unexplained difference.

    The example’s unexplained difference is $0, while its duplicate candidates and missing fee still need review. A suggested match is not authority to change the ledger. Trace each exception to its source record and document the reason before posting any adjustment.

    Keep a Reviewable Comparison

    Export comparison downloads a JSON review report with the account label, period, column mappings and sign settings. It includes the matching rules, every transaction, suggested pairs, confirmed match identifiers, duplicates, unmatched rows and balance differences. Matches without a confirmed identifier remain unconfirmed.

    The report stores amounts as integer cents and dates in ISO format. Keep it with the original files and your review notes. A downloaded report contains the transaction details you loaded, so save it with the same access restrictions as the source records.

    Clear files removes both loaded files, account label, balances, period and confirmations from this working page. Navigation and restored history also clear the comparison. Inputs are held in browser memory without uploads, logging, URL parameters or browser-storage copies. Clearing the page leaves downloaded files wherever you saved them.