Keep the deterministic parts deterministic: what Snowflake's AI accounts payable system gets right
Snowflake built InvoiceIQ, an internal accounts payable system that mixes AI with rules, audits every action and sends only real exceptions to people. A pattern for production AI in finance.
Listen to this article · 5 min
AI-generated narration of the full article.

There is a tempting way to automate accounts payable with AI: give an agent access to the inbox, the ERP and the payment system, describe the policy in a prompt and let it work. It demos well. It is also very hard to audit, test or explain to a controller.
Snowflake’s account of InvoiceIQ, an accounts payable application it built and uses internally, takes the opposite route. Its own summary is the best line in the piece: “keep deterministic parts deterministic, and use AI as one layer in a broader system rather than turning the entire workflow into an opaque agent.”
How InvoiceIQ works
According to Snowflake, invoices arrive by email integration or manual load and go through six stages: classification, extraction, translation, matching, enrichment and decision-making.
The interesting part is which steps use AI and which do not:
- AI where the input is unstructured. AI functions filter out documents that are not invoices, extract structured fields from the document, translate multilingual invoices and match invoice lines to purchase order lines semantically.
- Deterministic logic where the answer is knowable. Supplier names are resolved with exact string matching and a standard fuzzy-matching function. Enrichment pulls structured data from enterprise systems whose data already lives in the platform.
- A clear set of outcomes. Each invoice ends as approved, rejected, duplicate or routed to an analyst for review.
Every AI-driven or human action writes an event to an audit table, giving a queryable history of what happened to each invoice. Exceptions reach analysts with structured context instead of a blank screen. The team tracks latency per stage, token usage per AI call, errors and retries, and tests quality with regression runs against human-verified ground truth.
Snowflake says the internal rollout moved the majority of supplier invoices to processing through InvoiceIQ. That is the company’s description of its own deployment, on its own platform.
- Classify the document
- Extract and translate fields
- Match supplier by rules
- Match lines to the purchase order
- Enrich from ERP data
- Outcome or analyst review
AI stepDeterministic step
Why this pattern works
Probabilistic steps are contained. When extraction is wrong, the deterministic steps around it can catch the mismatch: the supplier does not resolve, the totals do not match the purchase order. An end-to-end agent offers no such checkpoints.
Each step can be tested on its own. Extraction accuracy, line-matching quality and outcome distribution are separate metrics. When a model changes, the team knows which stage to retest.
The audit trail is part of the design. Controllers and auditors do not ask whether the AI is good. They ask what happened to invoice 4471 and who approved it. An event per action answers that directly.
Human review is targeted. The goal is not zero human involvement. It is that people spend their time on cases that need judgment, with the information already assembled.
Data stays where it is governed. Running the workflow next to the data that enrichment needs avoids copying financial data into another system with its own access model.
The same principle shows up in Google’s security agents: pair AI with deterministic validation, and deliver results inside a process people already trust.
For US finance and IT teams
The US has no national e-invoicing mandate, so many invoices still arrive as PDFs and email attachments. That makes AI extraction genuinely useful, and makes the surrounding controls essential:
- Map your process into stages and mark which ones have a knowable answer. Those stay deterministic.
- Use AI only where input is unstructured or matching is fuzzy, and put a deterministic check right after it.
- Write an audit event for every action, AI or human, from day one.
- Define the outcome set and the exact conditions for routing to a person.
- Build a ground-truth set from invoices your analysts already processed, and rerun it on every model or prompt change.
The bottom line
InvoiceIQ is not remarkable because it uses AI. It is remarkable because it uses AI sparingly, in the steps that need it, inside a workflow that remains testable and auditable. For finance processes, that is what production-ready looks like. The broader set of controls is in our 2026 enterprise AI stack guide.