INVOICE PROCESSING

Three-Way Match Vendor Invoices from Email with Exception Queue

Watches a shared AP inbox for vendor invoice PDFs, matches each against its purchase order and goods receipt in Snowflake.

CategoryInvoice Processing
Enginesim
Difficultyintermediate
Triggerevent
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew invoice email in AP inboxGmailGmail
  • ActionParse invoice PDF to structured fieldsOpenAI
  • ActionFetch matching PO and goods receiptSnowflakeSnowflake
  • LogicCompare price, qty, and unit within tolerance
  • ActionWrite approved match back to ledgerSnowflakeSnowflake
  • OutputRoute discrepancies to Slack exception queueSlack

What it does

This pipeline turns an unattended accounts-payable inbox into a self-clearing three-way match engine. Each invoice that arrives is parsed, reconciled against its PO and receipt of goods, and either approved for payment or escalated to a human with the exact line that failed.

When to use it

Run this when vendors email invoices to a shared AP address and your matching today is a person eyeballing three documents in three tabs. It removes the manual cross-check and only surfaces the ones that genuinely need judgment.

How it works

  1. 1A new email with a PDF attachment lands in the monitored Gmail label.
  2. 2The invoice is parsed with OpenAI into structured fields: PO number, line items, quantities, and totals.
  3. 3The PO and goods-receipt records are pulled from Snowflake by PO number.
  4. 4A match check compares price, quantity, and unit on every line within tolerance.
  5. 5Clean matches are written back to Snowflake as approved; any variance routes to a Slack exception channel with the failing line highlighted.
  6. 6The AP team clears or rejects each exception from Slack.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GmailRead, draft, send, label.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect SnowflakeWarehouses, queries, shares.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.