INVOICE PROCESSING
Three-Way Match Exception Router by Variance Type
When a new invoice fails three-way match against its PO and receiving record, this workflow classifies the mismatch (price, quantity, or missing receipt) and routes each variance…
How it runs
The automated pipeline, trigger to output.
- TriggerNew invoice row insertedPostgres
- ActionJoin PO + goods-receipt recordsPostgres
- LogicClassify variance: price / quantity / missing receipt
- LogicRoute to the owner of that variance type
- ActionDM approver with line-level diffSlack
- OutputWrite resolution status back to PostgresPostgres
What it does
Every invoice that clears OCR but breaks three-way match gets stuck. This workflow pulls the matching PO and goods-receipt rows, computes the exact variance, and sends it to the one person allowed to clear that kind of exception instead of dumping everything in a shared inbox.
When to use it
Use it when AP holds invoices for manual reconciliation and the bottleneck is figuring out who should look at each one. Best when your PO, receipt, and invoice data already live in Postgres or an ERP mirror.
How it works
- 1A new invoice row lands in the `invoices` table and fires the trigger.
- 2The workflow joins the invoice to its PO and receiving record in Postgres.
- 3Logic compares unit price, line quantity, and receipt status to classify the variance.
- 4A router branches: price variance to the category buyer, quantity variance to the warehouse lead, no-receipt to the requesting manager.
- 5Each owner gets a Slack DM with the line-level diff and an approve/dispute link.
- 6The invoice status is written back to Postgres so it leaves the unmatched queue.
Set it up
What you configure once, before turning it on.
- 1Connect PostgresAny Postgres URL — query, write, migrate.
- 2Connect SlackChannels, DMs, threads, mentions.
- 3Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 4Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 5Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Invoice Processing workflows
Dollar-Threshold Match Variance Escalation Chain
Routes three-way match variances up an approval ladder by dollar size — small ones to the line manager, large ones to the controller.
Front vendor invoice to Airtable approval packet with line-item parse
Watches a Front inbox for vendor invoice emails, extracts header and line-item data from the body and PDF attachment, and writes a structured.
Gate invoice approvals on a duplicate cross-check
When an approver clicks Approve in your AP system, a webhook re-validates the invoice against paid history in Postgres and Stripe charges.
Route parsed Front invoices to the right Slack approver by amount
Parses an incoming Front vendor invoice and posts an interactive Slack approval card to the approver whose spending threshold matches the invoice total.
Three-way match Front invoices against purchase orders in Postgres
Parses a Front vendor invoice and runs a three-way match against the matching purchase order and receipt records in Postgres, posting pass or exception results to Slack.
Daily AP aging digest from the Front invoice ledger
On a daily schedule, scans the Airtable invoice ledger for unapproved and past-due invoices, summarizes them with OpenAI.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
