Benchmarks
Self-reported accuracy, speed, and coverage as of 2026-07-27 (version 2026.Q3). Refreshed quarterly.
Measured from live processing
Live figures are published once enough documents have been processed in the last 90 days for the sample to mean anything. Until then, the fixture run below is the honest number. The endpoint at /api/public/v1/quality reports the same state.
Accuracy and speed by format
Every number below is measured on our own test corpus. How the corpus is built, what counts as a correct row, and how runtimes are timed is set out in the testing methodology.
| Format | Parsing success | Row accuracy | Median runtime | p95 runtime | Sample |
|---|---|---|---|---|---|
| CSV | 99.7% | 99.9% | 180 ms | 520 ms | 412 |
| XLSX | 99.2% | 99.8% | 230 ms | 640 ms | 208 |
| PDF (digital) | 96.4% | 98.1% | 920 ms | 2400 ms | 486 |
| PDF (scanned) | 84.2% | 92.3% | 3800 ms | 9600 ms | 138 |
| Receipt PDF | 95.8% | 97.2% | 1100 ms | 3200 ms | 40 |
Bank coverage
Total supported banks: 55 (how coverage is counted). Coverage by region:
- US: 24 banks
- UK: 10 banks
- EU: 2 banks
- Global: 2 banks
- IN: 7 banks
- AU: 5 banks
- AE: 5 banks
Full list at Supported banks.
Supported formats
- CSV (Comma-separated values): Any dialect, any column order. Header row auto-detected.
- TXT (Delimited text): Tab, semicolon, or pipe. Fallback for legacy exports.
- XLSX (Excel workbook): First sheet by default. Multi-sheet workbooks are enumerated.
- XLS (Legacy Excel): Read via the same XLSX pipeline.
- PDF (PDF statement): Digital PDFs parsed as text. Scanned PDFs routed through OCR.
Methodology
Dataset: The benchmark dataset is a curated set of anonymized statements donated by users under an internal test license, plus synthetic statements generated from public bank templates. It spans checking, savings, credit card, and business accounts across US, UK, EU, IN, AU, and AE banks. Sample size 1284 statements. Full detail on the methodology page.
Environment: Runs execute on a single Chromium instance with 4 vCPU and 8 GB RAM. Parsing happens in-browser via the same WASM pipeline shipped to end users. OCR times include model warm-up on the first page.
Refresh cadence: Quarterly. Next scheduled run: 2026-10-15.
Audit trail: Every run writes a fingerprint into src/generated/seo-fingerprint.ts and the accompanying numbers in this file are updated in the same commit.
Programmatic access
The same numbers are available as JSON at /api/public/v1/benchmarks. See the API documentation for the full list of public endpoints.
How to compare fairly
Vendor accuracy numbers are only comparable when the datasets are. Ours is described above. If you are running your own comparison, use the same set of statements across every tool, use the same definition of a correct row, and publish the number of samples per format. A 99 percent claim on 20 samples is not the same as a 96 percent claim on 500 samples.