Scan Types

Choose the right scan type: Receipt, Invoice, or Other

Scan Types Overview

Yomio offers three scan types, each optimised for a different kind of document. Choosing the right type is the single most important factor for successful data extraction.

๐Ÿงพ

Receipt

Engine: Azure Document Intelligence

Best for: Physical paper receipts photographed with your camera
Examples: Grocery receipts, restaurant bills, retail store receipts, gas station receipts
Limitations: Only works with photos of actual paper receipts. Screenshots, web pages, and digital orders will fail.
How it works: Image is sent to Azure DI prebuilt-receipt model โ€” a specialised OCR trained on millions of real receipt photos.
๐Ÿ“„

Invoice

Engine: Azure Document Intelligence

Best for: Formal invoices, bills, and structured financial documents
Examples: Contractor invoices, utility bills, software subscriptions, freelancer invoices
Limitations: Best with clean digital documents. Handwritten or annotated invoices may have reduced accuracy.
How it works: Image is sent to Azure DI prebuilt-invoice model, which understands invoice-specific fields.
๐Ÿ“‹

Other

Engine: GPT-4o Vision (OpenRouter)

Best for: Screenshots, web pages, email confirmations, and anything non-standard
Examples: Website shopping cart screenshots, order confirmation pages, email receipts, quotes, estimates
Limitations: No specific limits โ€” handles virtually any image with text.
How it works: Image is sent to GPT-4o โ€” a multimodal AI that reads the image visually and extracts structured data. No separate OCR step. Items are categorised automatically.

Quick Decision Guide

Not sure which type to pick? Follow this flow:

1

Is it a physical paper receipt from a store or restaurant?

โ†’ Choose: Receipt

2

Is it a formal invoice or bill (PDF or print)?

โ†’ Choose: Invoice

3

Is it a screenshot, web page, email, or digital order?

โ†’ Choose: Other

4

Did Receipt or Invoice fail with an error?

โ†’ Choose: Other (retry with this type)

Common Failure Scenarios

Here are the most common mistakes and how to fix them:

ScenarioYou choseResultShould beWhy
Screenshot of a website shopping cart (Walmart, Amazon, IKEA, etc.)ReceiptโŒ ERROR โ€” OCR_FAILEDOtherAzure DI receipt model expects a photo of a paper receipt. A website screenshot has different layout, fonts, and contrast that the model cannot parse.
Screenshot of an order confirmation emailReceiptโŒ ERROR โ€” OCR_FAILEDOtherSame reason โ€” email layouts are not receipt-like.
Photo of a computer monitor showing a receipt PDFReceiptโŒ ERROR โ€” OCR_FAILEDOtherScreen glare, Moirรฉ patterns, and pixel grid artifacts prevent the OCR model from reading the text reliably.
Photo of a paper grocery receiptReceiptโœ… SuccessReceiptStandard use case โ€” works as expected.
PDF invoice from a contractorInvoiceโœ… SuccessInvoiceStandard use case โ€” works as expected.

โš ๏ธImportant

If a scan fails with Receipt or Invoice type, do NOT re-upload the same image. Instead, retry using the Other type โ€” it uses a completely different AI engine (GPT-4o vision) that can handle non-standard documents.

How It Works

Each scan type routes your image to a different AI pipeline:

Receipt / Invoice pipeline (v1)

Route: POST /documents ยท Engine: Azure Document Intelligence

  1. File validation and S3 upload
  2. Azure DI OCR (prebuilt-receipt or prebuilt-invoice)
  3. Response parsing into structured data
  4. Expense creation with items (categorised via separate LLM call)

Other pipeline (v2)

Route: POST /v2/documents ยท Engine: GPT-4o Vision (OpenRouter)

  1. File validation and S3 upload
  2. Image optimisation (auto-rotate, resize, sharpen, contrast)
  3. GPT-4o reads the image and returns structured JSON
  4. Expense creation with pre-categorised items (no separate LLM step)

Tips & Best Practices

โœ… Do

  • Take a photo of the physical receipt when possible โ€” it works best with Receipt type
  • Use Other for any screenshot, web page, email, or digital document
  • If a scan fails, retry with Other before uploading again
  • Ensure good lighting and keep the document flat for best results

โŒ Don't

  • Don't use Receipt for website screenshots โ€” they will fail
  • Don't upload the same image twice โ€” just change the scan type
  • Don't use screenshots of screens (monitor/phone showing a document) with Receipt type