Karchu guide
Benchmarks
Self-reported accuracy, speed, and coverage as of 2026-07-27 (version 2026.Q3). Refreshed quarterly.
On this page
Measured from live processing
These figures come from documents Karchu actually processed in the last 90 days, counted on 2026-10-27. They are counts and averages across the whole platform, with no customer data in them. They move as real documents come in, which is why they are not the same as the fixture run below.
86
Documents
83.7%
Success rate
82.9%
Average confidence
24016 ms
Median time
| Documents processed | 86 |
| Transactions extracted | 12464 |
| Processing success rate | 83.7% |
| Documents routed to review | 34.9% |
| Reconciliation failure rate | 50.0% |
| Average document confidence | 82.9% |
| Rows manually corrected | 1.9% |
| Documents needing OCR | 0.0% |
| Median processing time | 24016 ms |
| p95 processing time | 131641 ms |
Confidence is the document level score, not a claim of correctness. A high review rate is not a fault: it means uncertain rows were held back rather than saved silently. The same numbers are served as JSON at /api/public/v1/quality.
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
- CSVComma-separated valuesAny dialect, any column order. Header row auto-detected.
- TXTDelimited textTab, semicolon, or pipe. Fallback for legacy exports.
- XLSXExcel workbookFirst sheet by default. Multi-sheet workbooks are enumerated.
- XLSLegacy ExcelRead via the same XLSX pipeline.
- PDFPDF statementDigital 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.