BankStatementScan
English

Did your bank extraction include every page? Build a coverage check

Track every PDF page and its transaction count, including pages with no movements, before approving the bank spreadsheet.

Check page coverage separately from the final balance. A correct total can coexist with two missing offsetting movements. Build a page register that accounts for every source page, including blank pages, notices and pages with no transactions.

List every source page before counting output rows

  1. List source pages 1 through N and classify each as transactions, notice, blank or unresolved. Confirm the original PDF count.

  2. Record extracted transaction count by page, plus first and last source locators. Distinguish physical text lines from actual transactions.

  3. Investigate pages with zero output or unexplained count changes. Approve coverage only after every page has a documented disposition.

Fictional example

A fictional PDF has six pages. Pages 1–4 contain 8, 11, 10 and 9 transactions; page 5 is a notice; page 6 contains 3. The expected reviewed count is 41. An extraction with 38 rows and no page-6 references fails coverage even if an accidental total matches.

Build an expectation independent of the output

Use a manual page register if no extraction tool exposes page counts. For each physical page of the unchanged PDF, record its type, source transactions counted by visual review, output transactions linked to it, excluded layout rows and unresolved items. Count a transaction on the page where it begins; record continuation locations without counting it twice. Apply that same convention to the source count and output count.

In the six-page example, the source column is 8, 11, 10, 9, 0, 3; an output column of 8, 11, 10, 9, 0, 0 gives 38 instead of 41. Page 5 can be marked “reviewed notice, zero transactions”; page 6 must be “three missing”, not another zero-transaction page. If page 6 is unreadable, its expected count stays unknown and coverage stays open. Do not calculate a comforting percentage from an unknown denominator.

Matching counts are only a first check. In another fictional defect on page 2, repeating transaction 5 and omitting transaction 6 still produces 11 rows and can preserve the first and last locators. Review the source-to-output mapping to expose the repeated locator and missing position. A row count measures the output table; it does not compare each transaction with the PDF. Close the coverage register only after every source transaction has one explained destination and every exclusion has a reason. Field accuracy remains a separate review.

Use a page register that distinguishes zero from missing

Here is the register for the fictional six-page PDF. “Extracted” counts reviewed transaction starts, not all raw rows returned by an importer.

Physical PDF pageVisually counted transactionsExtracted transactionsDecision before approval
188Check all source-to-row links
21111Check all source-to-row links
31010Check all source-to-row links
499Check all source-to-row links
50, notice inspected0Document the notice; no transaction expected
630Locate or reconstruct three missing transactions
Total4138Coverage remains open

Use the physical position in the PDF viewer as the primary page key. A printed “page 1” can restart for another account or appendix. Retain that printed label as an extra field rather than overwrite the physical number. If one page holds two accounts, record separate sections under the same page and prevent their movements from entering one account total.

For each transaction start, assign a locator such as p2:t06 and write its output row ID beside it. Then check in both directions: every source locator must lead to a reviewed row, and every output row must lead to a source transaction. This finds an extra row even when every original is present. Record legitimate continuation fragments under the same transaction ID; do not count them as another movement.

If page 6 is absent from the supplied file rather than merely absent from the output, extraction cannot recover it. Compare the statement’s page labels and period with the bank’s original download and obtain the complete document when available. Inspect a separate working copy of the problem page before combining its reviewed rows with the rest. Review that page separately; an empty connector result does not establish an empty source page.

Checks and limits

If a description spans pages, count its transaction once and keep both source locations. A row-count function counts output rows, not missing source transactions. Review excluded headings separately. Coverage is a completeness check, not proof of correct amounts, authenticity or accounting treatment.

Count pages, physical lines and transactions separately, excluding headings. Repeated PDF headers in bank exports: remove them without losing rows · Trace a bank spreadsheet row back to its PDF page · Diagnose a bank PDF before choosing a table extraction tool.

BankStatementScan is in preparation. The site offers an access request and a fictional example; it does not currently convert your bank files. See the planned service.

Sources consulted on 16 October 2026

Leave your work email to register your interest. The conversion product is still in preparation.

Explore the example
BankStatementScan

Request access to BankStatementScan.

Leave your work email to register your interest. The conversion product is still in preparation.

Submitting sends your email and visit/context information to BankStatementLab infrastructure for BankStatementScan. No account, payment or automatic email is created. Privacy.