Skip to main content

Extraction tiers

SnapIt escalates only when confidence is below the configured threshold. Every invoice stores extractionTier, extractionProvider, and routingReason for audit and cost control.
Dashboard estimated AI cost and tier badges are visible to platform operators (including while impersonating a tenant). Treat dollar amounts as estimates. Tenant users see invoice vendor names and spend, not which extraction tier ran.

Why an invoice can escalate

The confidence score is not the only routing signal. SnapIt can escalate when:
  • OCR confidence is below the minimum usable text floor.
  • Required fields such as invoice number, date, vendor, currency, or total are missing.
  • Financial totals do not reconcile within the validation tolerance.
  • A provider is unavailable or returns an unusable result.
After Tier 2, SnapIt normally uses Tier 3 for the final attempt. Operators can disable Tier 3 for a development or cost-control profile. When Tier 3 is disabled or unavailable, SnapIt retains the best usable lower-tier result and may mark the invoice Needs Attention instead of losing the extraction.
Extraction tiers are provider-routing metadata, not a guarantee of a specific model on every invoice. Runtime admin settings, provider availability, validation, and OCR quality can change the final route.
Operators can add vendor templates so more invoices stay on Tier 1. Tenant workspaces do not manage templates.
Choosing Ollama vs Mistral vs Azure and flags such as USE_VERCEL_AI are operator configuration — not day-to-day product settings. See the repo README and docs/vercel-ai-deployment.md if you self-host.