VanaAPI

← Writing

Invoices and receipts in the same review queue

Daily workEN2026-10-30

A supplier invoice arrives as a clean PDF. A lunch receipt arrives as a photograph, folded across the total. Both need structured records, but they do not present the same extraction problem. The useful comparison is between a conventional OCR-and-rules pipeline and a multimodal model that reads the document and returns fields. Neither removes the need for validation.

§ Start with the same output contract

Before comparing approaches, define one schema: document type, supplier, document number, issue date, currency, subtotal, tax, total, and line items. Keep missing values null rather than filling them with plausible guesses. Store the original document alongside the extracted record.

  • OCR and rules: Recognize text, preserve coordinates, then map labels and positions into fields. A PDF with an embedded text layer may not need OCR at all.
  • Multimodal extraction: Ask a model to map visible content directly into the schema. It may interpret unfamiliar layouts more flexibly, but valid-looking JSON is not evidence that every value is correct.

§ Compare invoices and receipts separately

A single accuracy score can hide important differences. Evaluate each approach on both document types, including difficult examples rather than only clean scans.

  • Invoices: Recurring suppliers often have stable layouts, which makes templates useful. Watch for multiple dates, purchase-order references mistaken for invoice numbers, and multi-page tables whose headers repeat.
  • Receipts: Layouts change frequently, print fades, and photographs introduce shadows or perspective distortion. Tips, discounts, refunds, and payment amounts can appear near the total without meaning the same thing.

For each group, compare exact field matches and line-item quality. A correct grand total should not conceal a wrong currency or supplier.

§ Readability is a shared constraint

  • OCR and rules: Errors are often traceable to a recognition result or mapping rule. That makes debugging concrete, although maintaining supplier-specific rules can become expensive.
  • Multimodal extraction: The model can use surrounding context to interpret labels and grouping. The corresponding risk is silently completing an unreadable value from context.

Give either pipeline legible input, retain page boundaries, and avoid shrinking small text beyond recognition. For model extraction, explicitly prohibit inference of missing amounts. Ask for supporting text for important fields, then verify it against the document. Model-reported confidence alone is not a reliable acceptance rule.

§ Keep validation outside the extractor

Use the same checks for both approaches so the comparison measures extraction rather than different safety nets.

  • Structural checks: Require expected types, parse dates deliberately, and distinguish zero from missing data.
  • Financial checks: Compare subtotal, tax, discounts, tips, and total within an explicit rounding tolerance. Do not force every receipt into a simple subtotal-plus-tax equation.
  • Workflow checks: Flag duplicate documents, uncertain currencies, conflicting totals, and unreadable critical fields for review.

Preserve the extracted value separately from any normalized or corrected value. That separation makes later disputes and reconciliation easier to investigate.

§ Measure cost per accepted document

  • OCR and rules: Include recognition charges, template maintenance, exception handling, and reviewer time. Low extraction cost can coexist with a large review queue.
  • Multimodal extraction: Include input and output tokens, retries, document preparation, and reviewer time. Image accounting and supported input formats vary by model and provider.

Vana API provides an OpenAI-compatible endpoint at https://api.vanaapi.com, alongside Anthropic Messages and Gemini native protocols. It can help keep the integration consistent while testing model options, but protocol compatibility does not make every model's document capabilities identical. Check supported inputs before sending PDFs or images. Billing is per real token, with no monthly fee; measure actual usage on representative documents.

§ Choose by failure pattern, not demonstration

Stable supplier invoices may justify OCR plus a few dependable mappings. Varied receipts may justify multimodal extraction, with unreadable cases routed to people. A hybrid is also reasonable: extract embedded text first, use a model for ambiguous mapping, and keep deterministic validation throughout.

Create a Vana API account when you are ready to run a controlled sample. Keep the documents, schema, and acceptance rules fixed across candidates. Choose the approach that produces the fewest costly errors at an acceptable review burden, not the most convincing single result.