Technical explainer
How receipt data extraction works
Extraction is not one step. The system must turn a file into readable text, identify candidate fields, reject ambiguous values, let a person correct the result, and format the reviewed data.
The five-stage pipeline
- 1
Input
Photo or PDF
- 2
OCR
Pixels to text
- 3
Parsing
Text to fields
- 4
Review
Human correction
- 5
Export
Fields to CSV
| Field | Strong evidence | Common ambiguity |
|---|---|---|
| Vendor | Distinct merchant header | Generic headings, email wrappers |
| Date | Explicit printed purchase date | Order, ship, and print dates together |
| Total | Amount tied to Total/Amount Due | Subtotal, tip, balance, or card amount |
| Tax | Tax/GST/VAT label and amount | Included tax or no printed tax line |
Conservative extraction
A blank field is visible and correctable. A confident-looking wrong value can silently contaminate totals. ReceiptJar therefore leaves uncertain values blank rather than always filling every column.
Confidence is not correctness
Confidence reflects available evidence, not a guarantee. Clear receipts can still contain unusual layouts, and poor images can occasionally produce plausible but wrong text.
How to evaluate a receipt extractor
- Test your actual receipt types, not only polished demo images.
- Track exact field correctness separately for vendor, date, total, and tax.
- Record blanks, wrong values, and correction time—not only rows produced.
- Include difficult inputs and known negative cases.
- Keep a regression set so parser changes do not silently break old layouts.