Home » How it works

How Bank2XL works

Drop, extract, verify. Most converters skip the verify step.

Short version: drop a PDF, the AI extracts every transaction (we keep the original column labels and currency symbols), and we reconcile the totals against the statement's reported opening and closing balance. If the numbers don't match, the result page shows a colored badge so you know to review before importing.

1. Drop the PDF

Open the Bank2XL Chrome side panel and drag your bank statement PDF onto the drop zone. The file goes over TLS to our API and we process it in memory. By default we also keep a copy for 24h in an encrypted debug vault to investigate failed extractions; opt out in Settings and nothing is written to disk. Full retention details.

2. AI extraction

Our extractor pre-routes each document by whether it has a real text layer or is image-only:

In parallel, a "judge" model identifies the bank, country, and document structure. If it disagrees with the pre-route choice, we cancel and retry on the right path. This catches edge cases like rasterized statements that have a fake text layer.

What we extract

3. Balance verification

This is the step most converters skip. For every account in the statement, we compute:

opening_balance + sum(credits) − sum(debits) = closing_balance ?

The result determines the badge color on the result page:

StatusMeaning
reconciledTotals match within 0.5%. Usually safe to import; still verify before tax, audit, or legal use.
no_balanceNo opening / closing balance found in the PDF. Sums shown but not verified.
insufficient_dataNo transactions extracted (header-only document).
incomplete_sourceThe PDF says more pages should exist than were uploaded. Re-export.
mismatchTotals differ by more than 0.5%. Investigate.
tx_extraction_incompleteThe statement's own Activity Summary reports more transactions than we extracted.

4. Output

What we don't do

Join the waitlist   See a sample output