---
name: receipt-image
title: "Receipt or invoice (photo/scan)"
description: "File-type spec: photographed or scanned receipts and invoices (.jpg, .png, .heic). Routed to vision LLM + OCR; produces structured TransactionDraft."
category: file-types
status: active
author: system
priority: 0
---

## What this skill is

The receipt-image entry in the **File-Type Registry**. Distinct from `image-vision` because the prompt focus and downstream pipeline are different — receipts feed the finance ingest engine, not the KB compile pipeline.

When a file matching this spec lands in `agntspace-finance/inbox/`, the finance subsystem invokes the vision LLM with the receipt-tuned `prompt_focus` and structured-extraction schema (merchant, date, currency, total, tax, line items). The output goes to `agntspace-finance/pending/{txn_id}.md` for user approval — never auto-committed.

## Why this exists as a skill

Rule 12. The bundled Python default ships fast→capable extractor ladder; this YAML is the canonical override and what users edit when their typical receipt format differs (different vision prompt for restaurant receipts vs. logistics invoices, etc.).

The `prompt_focus` is intentionally narrow — every word of LLM context spent on prose generation is context spent NOT on faithful extraction. Receipts are structured documents; treat them like one.

## Tier ladder

- **fast** — vision LLM only. Handles digital-native receipts and clean phone photos.
- **capable** — vision LLM + pytesseract OCR overlay. Catches numbers vision sometimes hallucinates on faded thermal paper or low-light shots.

## Extending

- New currency formats / locales: tune the language `language:` block per the kb-ingest pattern.
- Receipt-specific OCR rules (skip rotation correction, force grayscale, etc.): pass via `extractor_options:` in `config/file-type.yaml`.
- Different vision prompt for invoices vs receipts: split into two specs (`invoice-pdf` / `receipt-image`) — they have different mental models (invoice = scheduled bill, receipt = completed purchase).
