Receipt & Invoice OCR to JSON: Practical Tested Extraction
Upload photos of thermal receipts, retail bills, or PDF invoices directly to Poe. OCR-Doc-Parser cleans the image, extracts merchant metadata, line items, and taxes, and validates arithmetic before returning structured JSON.
Tested Input & Output Example
Below is an actual verified extraction output from test fixture OCR-LIVE-001 (Retail Thermal Receipt).
Source Document Text (Pre-processed)
QUICK MART STORE #104 123 MARKET ST, AUSTIN TX Date: 2026-03-15 Time: 14:22 Receipt #: 984210 1x Organic Whole Milk $4.49 2x Sourdough Bread $7.98 1x Fair Trade Coffee $12.99 Subtotal: $25.46 Sales Tax (8.25%): $2.10 Total: $27.56 Payment: VISA ****4128
Bot Output: Clean Structured JSON
{
"vendor": "QUICK MART STORE #104",
"date": "2026-03-15",
"receipt_number": "984210",
"subtotal": 25.46,
"tax": 2.10,
"total": 27.56,
"reconciliation": {
"status": "balanced",
"calculated_total": 27.56
},
"field_confidence": {
"vendor": 0.94,
"total": 0.98,
"date": 0.95
}
}
Image Quality Checklist for High Accuracy
OCR engines are deterministic pattern matchers. Following this 4-point checklist prevents false totals:
| Factor | Guideline | What Happens if Violated |
|---|---|---|
| Lighting | Use diffused, even light without harsh phone flashlight glare. | Glare obliterates ink; bot marks field low-confidence or unreadable. |
| Orientation | Lay receipt flat on high-contrast dark surface. Pre-deskew handles ≤15°. | Extreme tilt (>45°) can garble line-item column alignment. |
| Focus | Ensure text is sharply focused. Bot automatically checks Laplacian blur. | Blurry captures trigger an automated rejection with camera retry tips. |
| Boundary | Include all 4 corners so header and payment total are in frame. | Cropped totals force arithmetic estimation or missing total warning. |
Verified Limitations & Disclaimers
- Assisted Extraction, Not Legal Audit: OCR-Doc-Parser is an extraction tool, not a legal or tax certification authority. Always review critical totals before submitting financial filings.
- Handwriting Excluded: The engine is optimized for printed receipts, invoices, and digital billing PDFs. It does not reliably transcribe cursive handwriting.
- Single Page Receipts: Render single receipt photos. Multi-page document merging should be split prior to query.
- Privacy: We strictly do not persist, log, or train models on user images. Once the SSE response finishes, document bytes in memory are garbage collected.
Frequently Asked Questions
What image formats are supported?
The bot supports JPEG, PNG, WEBP, and single-page TIFF files up to 10MB.
Does OCR-Doc-Parser store my uploaded receipts?
No. Images are processed ephemerally in RAM and discarded immediately after response streaming completes. No documents or text are saved.
How does the bot verify invoice totals?
The parser performs an arithmetic check: subtotal + tax + fees - discounts = total. If there is a discrepancy, it flags an arithmetic warning.