Plenty of clients receive their bank statements as PDFs — downloaded from online banking, emailed from the bank, or in some cases still posted as paper. ReconLink's PDF import feature was built to handle this workflow: ingest the PDF, extract transactions with line-by-line confidence scoring, deduplicate against existing imports, and queue everything for your normal coding workflow.
Here's a complete guide to what the feature does, how to use it, and what to do if your client's bank isn't fully supported yet.
Which Banks Are Supported?
ReconLink's PDF parser uses a catalogue of bank statement templates to identify the format of each PDF and extract transactions correctly. Parsers are bank-specific because statement layouts differ significantly: column positions, date formats, running balance columns, transaction description truncation, and multi-line entries all vary.
Currently, ReconLink has 12 bank templates in its catalogue. One template — NAB Transaction History — is production-ready and has been validated against real statement samples across all account types (business transaction accounts, savings, and overdraft). You can import NAB transaction history PDFs with confidence.
The remaining 11 templates are skeleton parsers — the detection logic is in place, but the extraction rules are awaiting validation against real statement fixtures from users. The skeleton banks in the catalogue include templates for the other major Australian institutions and a selection of regional banks; the full list is shown on the Import page with a "Coming soon" badge next to each.
This means: if your client banks with NAB, you can start using PDF import today. For other banks, you have two options — use CSV export as an interim (most banks support this from online banking), or submit a real statement sample through the in-app feedback link to help us validate the template faster.
How the PDF Parser Works
ReconLink uses pdfplumber for text extraction from the PDF layer and pikepdf for handling encrypted or secured PDFs (which many banks produce). The parser works in two stages:
First, template detection: the system reads the first page of the PDF, looks for known patterns (bank logo text, column headers, header formats), and matches the file against the template catalogue. If no template matches, the import is rejected with a clear message rather than returning garbage data.
Second, transaction extraction: once the template is identified, the parser applies template-specific rules to locate the transaction table — its position on the page, the column boundaries, the date format in use, and how to handle transactions that wrap across two lines (common for longer description text). Each row is extracted as a structured transaction with date, description, debit/credit amount, and running balance where available.
One important limitation: image-based PDFs — statements that have been scanned rather than generated digitally — are not currently supported. If pdfplumber finds no extractable text layer, the import will fail with a message explaining the reason. For scanned statements, the workaround is to request a fresh download from your client's online banking, which will produce a digitally-generated PDF with a proper text layer.
Reading Confidence Chips
Every transaction extracted from a PDF import is displayed in the review screen with a confidence chip — a colour-coded indicator showing how certain the parser is about that row's data.
- Green (high confidence): The parser matched this row cleanly against the template rules. Date, amount, and description were all extracted without ambiguity.
- Amber (medium confidence): Something about this row was slightly ambiguous — a description that wrapped unexpectedly, an amount column that was harder to locate, or a date in an unusual format. The extracted data is likely correct, but review it before confirming.
- Red (low confidence): The parser had significant difficulty with this row. The extracted data may be incomplete or incorrect. These rows must be reviewed manually before they can be coded.
You can bulk-approve all green rows, then work through amber and red rows individually. Low-confidence rows can be edited inline in the review screen: tap the field, correct the value, and the chip updates to reflect the manual override. Rows that cannot be resolved can be flagged for exclusion or deleted from the import.
The confidence chip system is designed to give you a fast, accurate read on where your attention is needed without forcing you to examine every row of a 200-transaction statement one by one.
Content-Hash Deduplication
Importing the same PDF twice — or importing a statement whose date range overlaps with a previous CSV import — creates duplicate transactions that corrupt your reconciliation. ReconLink prevents this with content-hash deduplication that works across all import types: CSV, Excel, and PDF.
When you upload a PDF, ReconLink computes a hash of the file's content and checks it against all previous imports for that bank account. If the same file has already been imported (even under a different filename), you'll see an immediate warning before any transactions are processed.
Partial overlap is also detected at the transaction level. When individual transactions match on date, amount, and description against transactions already in the system, they're flagged as likely duplicates in the review screen rather than silently imported. You can confirm or override each flag individually.
The deduplication logic means you can import PDF statements conservatively — if you're not sure whether a period has already been imported, just upload the PDF and let the system tell you. You won't end up with duplicates.
What to Do If Your Bank Isn't Listed
If your client's bank isn't in ReconLink's template catalogue at all, or is listed but shows a "Coming soon" badge, there are a few practical paths forward:
-
Use CSV or OFX export from the bank's online banking portal. Most Australian banks support CSV export, and ReconLink's CSV import is mature and handles most format variations automatically.
-
Submit a statement sample via the feedback link on the Import page. We review submissions and prioritise template development based on the number of requests for each institution. If you can provide a real statement (with your client's consent and with personal identifying information removed), it dramatically speeds up the validation process.
-
Use the email inbox feature with CSV attachments. If your client can be trained to forward their monthly bank statement email to their unique ReconLink inbox address, the CSV attachment is automatically ingested without any manual upload step.
PDF import is a feature that will keep getting better as more template fixtures are validated. The NAB parser is production-grade today; others will follow. In the meantime, the CSV fallback is robust and handles the same coding, reconciliation, and BAS workflow without any loss of functionality.
