Skip to main content
AIDiveForge AIDiveForge
🧾

Receipt OCR Normalizer

Data Extraction & Parsing · by AIDiveForge · Apr 20, 2026 · Beginner

Extract vendor, line items, tax, and total from a photo of a receipt into a single clean JSON row — ready for expense systems.

🧠 Why it works

OCR alone gives you a noisy text dump. Most receipts can be reconstructed with high confidence if you enforce the arithmetic constraint — line items must sum to subtotal, subtotal plus tax plus tip must equal grand total. Using that constraint as a validation step catches most OCR errors automatically.

⚙️ How it works

  1. Run the image through a vision-capable LLM with a JSON schema that includes every field. 2. Apply the arithmetic checks: sum(lines) == subtotal ± 0.02, subtotal + tax + tip == total ± 0.02. 3. If checks fail, re-prompt with the original image plus the failing calculation and ask for the single most likely OCR error. 4. On second failure, emit the row with a 'manual_review' flag and the reason. 5. Normalize vendor name against a known-vendors table to prevent 'MCDONALDS' / 'Mc Donalds' / 'McDonald's' duplicates.

Description

Input: a photo or PDF of a receipt. Output: a normalized JSON row with vendor name, ISO date, currency, per-item lines (description, qty, unit price, total), subtotal, tax, tip, grand total. Dollar amounts are numeric, not strings. Rows where totals don't sum get flagged instead of silently saved.

Install this skill

A Claude skill is a skill.md file with YAML frontmatter and a markdown body. Drop the file into your tool of choice — or pick a different format if you use Cursor, Windsurf, Copilot, or something else.

Download skill.md
mkdir -p ~/.claude/skills/receipt-ocr-normalizer \
  && curl -L https://aidiveforge.com/skill/receipt-ocr-normalizer.skill-md \
       -o ~/.claude/skills/receipt-ocr-normalizer/skill.md

Save to ~/.claude/skills/receipt-ocr-normalizer/skill.md

Recommended Use

Tools and workflow packs this skill pairs well with. Forge picks are auto-generated from category + capability signals; Community picks are added by people who've used the pairing.