Field Notes

Experience and practical solutions

These methods follow common issues found in real bank statement parsing, in processing order.

Go convert
01

Determine the statement type first

Before parsing, check whether the PDF is text-based or scanned. Text can be extracted directly; scanned files need OCR.

02

PDF with table lines: extract directly

Most bank statements draw horizontal and vertical lines. The system detects tables first, removes empty cells, and drops repeated headers.

Date        | Description      | Debit   | Credit  | Balance
2026-07-03  | ACME PAYROLL     |         | 4,500.00| 14,500.00
2026-07-05  | OFFICE RENT      | 2,400.00|         | 12,100.00
03

PDF without table lines: fall back to text coordinates

Some statements only align text by position. The parser splits rows and uses word coordinates to find columns, preserving spaces in descriptions and empty amount cells.

2026-07-11  SUPPLIER PAYMENT  3,150.00          15,750.00
2026-07-15  ATM WITHDRAWAL      500.00          15,250.00
2026-07-18  REFUND - TAX                   220.50 15,470.50
04

Scanned files: OCR is required

Scanned files contain images instead of text. Adjusting table parameters does not help; OCR must run first. The current version prompts 'OCR required' instead of exporting an empty file.

05

Export safety: amounts and formulas

Statement text comes from external PDFs, so exports must prevent cells from being executed as Excel formulas. Text starting with =, +, - or @ is made plain text. CSV uses UTF-8 BOM so Chinese opens correctly in Excel.

06

Example: why 0 rows are recognized

The three common causes are scanned files, image pages, or security tools converting text to images. Solutions: add OCR, confirm the source, or regenerate a text PDF. The admin backend shows conversion records but never stores statement files.