Transparent testing

Receipt extraction benchmark

This page publishes the current parser regression set, exact expected values, and current results. It is intentionally small and should not be interpreted as a general accuracy rate.

Fixtures

3

Exact field checks

12/12

Benchmark date

2026-07-15

What this result does not prove

These tests begin with saved OCR text. They do not test camera quality, handwriting, image recognition, PDF conversion, every receipt layout, or every language. Three passing fixtures are a regression signal—not “100% receipt accuracy.”

Expected versus actual

All comparisons are exact except numeric values, which allow a 0.001 rounding tolerance.

View source fixtures

Online order receipt

amazon_1.txt · Clean order text

Passed
FieldExpectedActualResult
vendorAMAZON.COMAMAZON.COMPass
date2025-12-312025-12-31Pass
total21.5421.54Pass
tax1.551.55Pass

Digital invoice with zero tax

namecheap_1.txt · Clean invoice text

Passed
FieldExpectedActualResult
vendorNamecheap, IncNamecheap, IncPass
date2025-12-312025-12-31Pass
total11.1811.18Pass
tax00Pass

Point-of-sale receipt

starbucks_1.txt · Clean POS text

Passed
FieldExpectedActualResult
vendorSTARBUCKSSTARBUCKSPass
date2025-12-302025-12-30Pass
total5.975.97Pass
tax0.520.52Pass

How to reproduce it

Clone the public repository and run npm run parser:regress. The command exits non-zero when a fixture changes or any expected field fails.

Try the editable sampleRead known limitations