## TL;DR

SmartScan fails when the receipt photo is too blurry, dark, or cropped to read. Retake the photo with flat, even lighting and all four corners visible, then re-upload; if the receipt is faded thermal paper, enter the expense manually with the paper receipt attached.

## Error

```text
Expensify: receipt scan failed with unable to read receipt
```

## Steps

1. Open the failed expense and look at the attached image at full size. Expected: you can see whether it is blurry, shadowed, cropped, or faded.
2. If the image is blurry or shadowed, lay the receipt flat on a dark surface, tap to focus on the total line, and retake it with the Expensify app camera. Expected: the new scan completes within a minute.
3. If the receipt is crumpled thermal paper, flatten it under a book for a few minutes or photograph it against a contrasting background. Expected: SmartScan extracts at least the merchant and total.
4. If the scan still fails, enter the expense manually (merchant, date, total) and attach the photo as supporting documentation. Expected: the expense saves with a manually entered status and the image attached.
5. For recurring failures from one vendor (faded ink, tiny fonts), save that vendor to a manual-entry list for your team. Expected: future expenses from that vendor skip the scan-retry loop.

## When to use

- The SmartScan status shows failed or "unable to read receipt".
- The receipt photo is visibly poor quality, or the receipt is faded thermal paper.

## When not to use

- SmartScan read the receipt but got the merchant wrong (see the merchant-extraction skill).
- The upload itself fails (file size or format error; see the attachment-failed skill).

## Tool compatibility

- Expensify web, iOS, and Android apps; SmartScan on all current plans.

## Variant phrasings

### SmartScan could not read this receipt

Same failure from the mobile app; the fix is identical.

### Receipt scan failed, please try again

Retry with a better photo before falling back to manual entry.

## Why it happens

SmartScan is an OCR pipeline: it needs legible characters at sufficient resolution. Blur, glare, shadows, and faded thermal ink all drop the image below the readability threshold, so the pipeline aborts instead of guessing.

## Provenance

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