## TL;DR

Crumpled thermal paper defeats both OCR and layout parsing: shadows, folds, and distorted text. Preprocess with perspective correction and shadow removal, and when parsing still fails, capture what is readable and send the receipt to manual review instead of crashing.

## Error

```text
agent's receipt parser broke with error on crumpled thermal paper
```

## Steps

1. Catch the parser exception per receipt so one bad image cannot kill the run. Expected: the failure is isolated to the single receipt.
2. Apply geometric preprocessing: detect the receipt edges, correct perspective, and remove shadows from folds. Expected: a flattened, evenly lit image.
3. Re-run OCR and parsing on the corrected image. Expected: partial or full extraction where the raw image failed.
4. If key fields are still unreadable, store the best-effort extraction plus the image, flagged for manual review. Expected: a human completes what the parser could not.
5. Advise submitters to flatten thermal receipts before photographing (a book for a few minutes works). Expected: fewer crumpled submissions over time.

## When to use

- The agent's parser errors on crumpled, folded, or shadowed receipts.
- One bad receipt crashes or stalls the whole run.

## When not to use

- The receipt is flat but faded (see the faded-receipt skill).
- The parser works but extracts wrong values (see the OCR-correction skill).

## Tool compatibility

- Tesseract, cloud OCR, and custom receipt-parsing pipelines.

## Variant phrasings

### Parser failed on damaged receipt

Same failure, generic wording.

### Could not parse crumpled receipt image

Names the physical cause directly.

## Why it happens

Parsers assume roughly rectangular, evenly lit text lines. Folds break line segmentation and shadows break binarization, so the layout analysis fails before recognition even starts.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_KhxOhaINepZwB5cJNzxIFA
