Home » How it works

How Bank2XL works

A three-step extraction pipeline: drop → extract → verify.

Short version: drop a PDF, our AI extracts every transaction with original column labels and currency symbols preserved, and we automatically reconcile the totals to the statement's reported opening / closing balance. If the numbers don't match, we tell you — instead of silently handing you bad data.

1. Drop the PDF

Open the Bank2XL extension popup (or web converter) and drag your bank statement PDF onto the drop zone. The file is sent over TLS to our API and held in memory only. It is never written to durable storage.

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 legacy 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%. Trust the row.
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