BankStatementScan
English

Bank PDF copy-paste in the wrong order: diagnose before sorting

Check whether copied dates and amounts still belong together before sorting a bank table reconstructed from PDF text.

If copied text lists every date first and every amount later, sorting the result will not rebuild the transaction rows. Compare the visual PDF with the extracted reading sequence before pairing fields. PDF reading order can differ from the page’s visible layout.

Test a small selection before rebuilding rows

  1. Test a small block containing three consecutive transactions. Number each copied fragment and identify its position on the page.

  2. Compare dates, descriptions and amounts one transaction at a time. Stop if correspondence depends only on equal list lengths.

  3. Use a table-aware import or reconstruct the small block from confirmed source positions. Preserve the original sequence and document the chosen method.

Fictional example

A fictional copy contains dates 16/10, 17/10, 18/10, then amounts 9.00 and 27.00. There are three dates but only two amounts. Assigning amounts by position would hide a missing field. Mark the incomplete row and inspect its source instead of shifting all later amounts upward.

Distinguish a reading sequence from transaction identity

W3C explains how the structure of tagged PDFs affects logical reading order. That explains why a visually aligned page can yield an unexpected sequence; it does not prove that any copied amount belongs to the nearest copied date. Keep a page number and fragment index before attempting reconstruction.

Build a small evidence table with source position, date, description, amount and review status. For the three-date example, leave the missing amount unknown until the PDF identifies it. Do not insert a zero or move 27.00 to a different date merely to complete three rows. A description continuing on another line needs its own boundary decision, separate from the order of columns.

Choose a repair that can be checked

For a few rows, re-enter confirmed fields from the PDF into that evidence table and check every completed row. For a repeated layout, test a table-aware import on one page first. Inspect a separate working copy of the problem page before combining its reviewed rows with the rest. Inspect its preview and field associations before extending the method; a successful import does not validate the transactions. A native bank export for the required period may remove the reconstruction step altogether.

Equal counts are also insufficient. In a separate fictional two-row block, 16 October has 9.00 and 17 October has 27.00. Swapping the amounts leaves two rows and total 36.00, yet both date–amount pairs are wrong. Verify these pairs against their printed positions, then check the last row of the page and the first of the next. Sort only the completed, reviewed transaction rows, retaining source positions.

Choose the next step from the actual copy defect

Keep the pasted text in an untouched sheet and build reviewed rows elsewhere. Diagnose the selection before applying Text to Columns: a separator can split fields, but it cannot establish which transaction they belong to.

Observed resultFirst check in the PDFAppropriate next step
One long line, but transaction fields remain in orderAre there stable tabs or separators?Test a split on three complete rows
All dates, then all descriptions, then amountsDoes the selection read down columns instead of across rows?Reconstruct from visual positions or test a table import
Dates and amounts have different countsWhich source transaction lacks a field?Hold the incomplete row; do not shift later values
Selection returns no useful charactersIs this page an image, or are characters unusable?Use a readable source, manual entry or OCR with review

An OCR step is not a repair for correctly recognized text that was merely sequenced badly. Conversely, changing the sort order cannot recover characters absent from the copy. Test each distinct layout, including the page where the problem starts, rather than assume the first successful selection represents the whole document.

In a fully specified fictional EUR block, the visual source shows 16 October: debit 9.00; 17 October: credit 27.00; 18 October: an unreadable amount. The known signed subtotal is −9.00 + 27.00 = +18.00, but it is not the block total. Keep row 3 unresolved, with a source locator and no invented zero. Direction must travel with each amount; a list containing only 9.00 and 27.00 cannot supply it.

After checking every reconstructed row, sort the entire transaction table, including reference and source columns. Never sort the date column alone. If you need chronological order, retain the original page/row order as a separate key so that equal dates, running balances and later corrections can still be checked in the bank’s printed sequence.

Checks and limits

Validate the first, middle and last transaction in the reconstructed block, then every row that remains uncertain. A neatly sorted sheet is not evidence of correct field pairing. If the PDF has no usable text layer, use OCR with review or manual transcription; sorting cannot supply the missing text.

Rebuild reading order, fragments and carried balances before accepting pasted rows. Bank statement descriptions split across rows: join them safely · Carried-forward bank balances: keep them out of transaction rows · 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.