GuideFeature · Duplicate detection

Catch duplicate transactions before they hit the books

ProofRows surfaces same-amount, similar-description rows within a statement and across imported months. Resolve them as distinct or keep first — the bookkeeper decides.

Within-statement duplicates Cross-statement duplicates Bulk resolve

What duplicate detection catches

Same-amount, same-description rows

Two SQUARE DEPOSIT 250312 rows on consecutive days. Most likely a duplicate, but sometimes a re-deposit. Surface, don't auto-resolve.

Same-amount, near-description rows

AMAZON.COM*RT4N9 PMT and AMAZON.COM*RT4N9 REFUND. Different transactions; same amount. Don't auto-merge.

Cross-statement duplicates

A row that appears in the current statement and the prior month's import. The duplicate panel surfaces both rows for review.

Settlement duplicates

A card settlement that posts twice on the same day with slightly different descriptions. Common with merchant processors; almost always a duplicate.

Reversal pairs

An authorisation that was reversed and re-posted. Often two rows with the same amount, opposite signs, on adjacent days. The bookkeeper confirms whether the pair is real.

Bank-side processing errors

When a bank actually double-posts, both rows will be in the statement. The bookkeeper flags the duplicate and the reversal usually arrives on the next statement.

How a duplicate review session flows

  1. 01
    Open the duplicate panel

    The review screen surfaces a duplicates count in the table toolbar. Click to filter to flagged rows.

  2. 02
    Compare the two rows

    Same amount, similar description, near-by date. Click each row; the source line highlights in the PDF.

  3. 03
    Decide

    Keep first (the older row wins), mark distinct (both rows are real), or merge (combine into one row).

  4. 04
    Bulk resolve

    When the duplicates are unambiguous, select all and apply the same decision in one action.

  5. 05
    Validate

    The validation card re-renders. Removing a duplicate changes the totals; the balance check confirms the math is still right.

  6. 06
    Export

    When the validation passes and the duplicates are resolved, export the cleaned CSV.

What it is not

  • Not an auto-merge. ProofRows never silently removes a row. Every duplicate is surfaced for human review.
  • Not a perfect heuristic. False positives happen. The bookkeeper’s judgement is the final say.

Try it on a real statement

Stop shipping duplicate rows into the books.

150 free pages. No credit card. Resolve duplicates in the review screen, not three weeks later during reconciliation.

FAQ

Frequently asked questions

Can ProofRows convert bank statement PDFs to CSV?
Yes. ProofRows extracts transactions from bank-statement PDFs — text-based or scanned — and lets bookkeepers review, edit, validate, and export the results as CSV. The QuickBooks-ready and Xero-ready CSV profiles import cleanly into those tools through their native bank-import wizards.
Does ProofRows work with scanned bank statements?
Yes. Scanned and image-only statements are read with built-in OCR, then parsed into transactions the same way as text PDFs. Low-confidence rows from rough scans are flagged for review, and every statement still has to pass the balance check before export.
Can I import ProofRows exports into QuickBooks?
ProofRows exports QuickBooks-ready CSV (for the Banking → Upload from file wizard) and .qbo Web Connect files that QuickBooks Online and Desktop import natively. A direct QuickBooks Online API push is on the roadmap and should not be described as live yet. ProofRows is not affiliated with or endorsed by Intuit.
Can I import ProofRows exports into Xero?
ProofRows exports a Xero-ready CSV that supports Xero's bank-import workflow (Accounting → Bank accounts → Import a statement). A direct Xero API push is on the roadmap. ProofRows is not affiliated with or endorsed by Xero.
Does ProofRows export to Excel (XLSX)?
Yes — XLSX export is supported today. CSV files produced by ProofRows also open cleanly in Microsoft Excel, Apple Numbers, and Google Sheets.
Is ProofRows a replacement for bookkeeping software?
No. ProofRows is a statement-cleanup workspace. It prepares transaction data for import or reconciliation in accounting tools like QuickBooks Online or Xero. It is not a ledger of record.
Who is ProofRows built for?
ProofRows is built for solo bookkeepers, small bookkeeping firms, accountants, tax preparers, QuickBooks ProAdvisors, cleanup bookkeeping specialists, and fractional CFOs who receive bank statements as PDFs.
How long do you keep my client's bank statements?
Source PDFs are auto-deleted after the per-client retention window (default 30 days, configurable). The extracted transactions and export-log audit trail stay for the life of the account. Account deletion cascades and removes every row, file, and auth artifact in a single transaction.
Do you train AI models on my client's bank statements?
No. We do not train models on customer data. The extraction provider we use is contracted not to train on API requests, and our application does not write statement text back to the database from the model — the only path through is a strict schema validation.
How accurate is the extraction?
Confidence scores are surfaced per row so the bookkeeper can see which transactions the model is less sure about. The validation page enforces a beginning + Σ credits − Σ debits = ending balance check before any export. We do not claim 'perfect AI extraction' — every export is human-reviewed.

More questions? Contact support or read the full FAQ.